Documentation Index
Fetch the complete documentation index at: https://astron-bb4261fd.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Docker Compose
Deploy Z3rno on a single machine using Docker Compose. This is the simplest way to self-host and is suitable for development, testing, and small production workloads.Prerequisites
- Docker Engine 24+ with Docker Compose v2
- 4 GB RAM minimum (8 GB recommended for production)
- 10 GB disk for PostgreSQL data and embeddings
Quick start
Clone the server repository and start all services:| Service | Port | Description |
|---|---|---|
z3rno-server | 8000 | FastAPI application server |
postgres | 5432 | PostgreSQL 16 with pgvector and Apache AGE |
valkey | 6379 | Valkey cache and Celery broker |
Environment variables
All configuration is done through environment variables. Copy the example file and edit as needed:Sensitive values like
DATABASE_URL and OPENAI_API_KEY should be set in .env and never committed to source control.Production setup
TLS termination
Use a reverse proxy like Caddy, Traefik, or nginx in front of Z3rno for automatic TLS:Resource limits
Set memory and CPU limits in your Compose file to prevent runaway containers:External PostgreSQL
For production, use a managed PostgreSQL service (RDS, Cloud SQL, Neon, Supabase) instead of the bundled container. Set the connection string and disable the bundled database:Monitoring
Prometheus
Z3rno exposes a Prometheus metrics endpoint at/metrics. Add a Prometheus container to scrape it:
Grafana
Add Grafana for dashboards and alerting:http://prometheus:9090 as a data source.
Backup and restore
Database backup
Back up PostgreSQL usingpg_dump:
Automated backups
Schedule daily backups with a cron job:Volume backup
Back up the entire PostgreSQL data volume:Next steps
Kubernetes
Deploy Z3rno on Kubernetes with the official Helm chart for high availability and auto-scaling.
Configuration
Full environment variable reference for all Z3rno settings.