Self-Hosting, Memory DB & Private Cloud Setup
Deploy VynTech Zurvan on your own servers, CI/CD pipelines, virtual machines, or Kubernetes clusters. Choose from In-Memory RAM Mode, Local SQLite WAL, or Clustered PostgreSQL with zero vendor lock-in.
Tri-Engine Storage Architecture
VynTech Zurvan features a versatile 3-tier database abstraction layer engineered for pure flexibility:
1. In-Memory (RAM Only)
Shared-memory SQLite (:memory:) with zero disk I/O. Ideal for fast automated testing, ephemeral CI/CD pipelines, demo sandboxes, and stateless runners.
2. Local SQLite (WAL)
Pure Go embedded SQLite (modernc.org/sqlite). Zero CGO, tuned WAL mode, automatic background checkpointing, and single-file simplicity.
3. PostgreSQL (HA)
High-availability connection pooling via DATABASE_URL with automatic parameter query adaptation ($1 rebind) for large multi-tenant teams.
In-Memory Database Mode (:memory:)
When running Zurvan in test environments or automated CI workflows, you can boot the entire backend in RAM mode using the shared in-memory URI:
Shared In-Memory Connection Pool: Zurvan automatically configures file:zurvan_shared_memory?mode=memory&cache=shared with persistent idle connection holding so that table schemas and migrations remain intact across concurrent HTTP requests without touching the filesystem.
Docker Compose Quickstart
Spin up both the Go backend and Next.js frontend with isolated volume persistence using Docker Compose:
Configuration & Environment Variables
| Variable | Default | Description |
|---|---|---|
| PORT | 8080 | HTTP server listening port. |
| DB_TYPE | sqlite | Database engine: sqlite or pgsql. |
| DB_PATH | zurvan.db | File path for local SQLite or :memory: for in-RAM mode. |
| DATABASE_URL | - | Standard PostgreSQL connection string (auto-detects pgsql). |
| JWT_SECRET | dev-secret | HMAC-SHA256 secret for signing local access tokens. |
| CORS_ALLOWED_ORIGINS | * | Comma-separated list of allowed frontend origins. |
| BEHIND_PROXY | false | Enables trusted reverse proxy headers (e.g. Nginx, Cloudflare, Traefik). |
Production Dockerfile
The backend builds into a lean distroless container under 25MB:
Diagnostic Database Health Check
Before launching your service, run a one-off diagnostic check of database latency, schema migration status, and pool connectivity across any engine: