Self-host Replayly

Production uses Postgres. The Docker image generates the Postgres Prisma client and runs prisma migrate deploy on startup.

Quick start

  1. Copy .env.example and set a strong AUTH_SECRET plus your public URL.
  2. From the repo root, run docker compose up --build -d.
  3. Point DNS at the VPS and put Caddy or Nginx in front with TLS.

What runs

Compose starts the web app and Postgres. Event chunks default to a local volume. Optional profiles add MinIO for S3-compatible storage and Caddy as a reverse proxy. Set SEED_ON_START=true if you want the seeded dev user created on first boot.

Local development

Day-to-day development stays on SQLite: npm run db:push and npm run db:seed. Do not change the provider in prisma/schema.prisma. Use npm run db:sync-schema and npm run db:migrate:deploy against Postgres when you are preparing production.

More environment variables are listed in the project README and in .env.example.