Self-HostingDatabase

Database

HeySummon uses Prisma ORM and supports SQLite and PostgreSQL.

SQLite (Development)

Default for local development. Zero setup.

DATABASE_URL="file:./dev.db"
npx prisma generate
npx prisma db push

PostgreSQL (Production)

Recommended for production. Used by Docker Compose setup.

DATABASE_URL="postgresql://hitlaas:password@localhost:5432/hitlaas"
npx prisma migrate deploy

Docker Compose PostgreSQL

The included docker-compose.yml runs PostgreSQL automatically:

services:
  db:
    image: postgres:16
    environment:
      POSTGRES_USER: hitlaas
      POSTGRES_PASSWORD: hitlaas
      POSTGRES_DB: hitlaas
    volumes:
      - pgdata:/var/lib/postgresql/data

Migrating SQLite → PostgreSQL

  1. Update DATABASE_URL in .env to a PostgreSQL connection string
  2. Update provider in prisma/schema.prisma from sqlite to postgresql
  3. Run npx prisma migrate deploy (or npx prisma db push)
⚠️

SQLite data is not automatically migrated. Export and import manually if needed.

Backups

PostgreSQL

# Backup
docker compose exec db pg_dump -U hitlaas hitlaas > backup.sql
 
# Restore
docker compose exec -T db psql -U hitlaas hitlaas < backup.sql

SQLite

cp dev.db dev.db.backup