Self-Hosting
Ezlytics is completely open-source and ridiculously simple to deploy on your own infrastructure.
Prerequisites
- Bun: Make sure you have Bun installed.
- PostgreSQL: Any Postgres database (Neon, Supabase, local, etc.).
Step 1: Clone & Install
Clone the repository and install all dependencies using Bun. The project is built as a modern monorepo using Turborepo.
git clone https://github.com/mzafarr/ezlytics.git
cd ezlytics
bun installStep 2: Environment Variables
Copy the example environment variables file and fill in your database credentials and preferred auth setup.
cp .env.example .envEnsure you at least define your database connection string:
DATABASE_URL="postgres://user:password@localhost:5432/ezlytics"Step 3: Database Migration
Push the database schema to your Postgres instance. We use Drizzle ORM under the hood.
bun run db:pushStep 4: Start the Server
That's it! You can start the development server to verify everything works:
bun run devYour fully functional Ezlytics platform will be available at http://localhost:3000 (or 3001 depending on your workspace setup).
Deploying to Production
Because Ezlytics is a standard Next.js application, you can deploy it absolutely anywhere Next.js runs:
- Docker / VPS: Build the Next.js standalone app and serve it directly, or use tools like Coolify.
🚀 That's Really It!
We built this to be completely self-contained. No complex queues, Redis cache servers, or external microservices are required. One Postgres DB and one Next.js app.