Docker Compose Examples
This page provides complete Docker Compose configurations for running Hyppot with different database providers. Each example includes the necessary services, volumes, and environment variables.
SQLite (Single Container)
SQLite is perfect for single-instance deployments, development, and testing:
version: '3.8'
services:
hyppot:
image: ghcr.io/hyppot/hyppot-server:latest
container_name: hyppot-server
ports:
- "8080:8080"
volumes:
- hyppot_data:/app/storage
environment:
- HYPPOT_DB_PROVIDER=sqlite
- HYPPOT_CONNECTION_STRING=Data Source=/app/storage/hyppot.db
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
volumes:
hyppot_data:
driver: local
PostgreSQL
PostgreSQL is excellent for production deployments requiring high performance and reliability:
version: '3.8'
services:
hyppot:
image: ghcr.io/hyppot/hyppot-server:latest
container_name: hyppot-server
ports:
- "8080:8080"
volumes:
- hyppot_logs:/app/storage/logs
environment:
- HYPPOT_DB_PROVIDER=postgresql
- HYPPOT_CONNECTION_STRING=Host=postgres;Database=hyppotdb;Username=postgres;Password=postgres;
depends_on:
- postgres
restart: unless-stopped
postgres:
image: postgres:15
container_name: hyppot-postgres
environment:
- POSTGRES_DB=hyppotdb
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
volumes:
hyppot_logs:
driver: local
postgres_data:
driver: local
SQL Server
SQL Server provides enterprise-grade features and is ideal for organizations already using Microsoft technologies:
version: '3.8'
services:
hyppot:
image: ghcr.io/hyppot/hyppot-server:latest
container_name: hyppot-server
ports:
- "8080:8080"
volumes:
- hyppot_logs:/app/storage/logs
environment:
- HYPPOT_DB_PROVIDER=sqlserver
- HYPPOT_CONNECTION_STRING=Server=sqlserver;Database=HyppotDb;User Id=sa;Password=YourStrong!Passw0rd;TrustServerCertificate=true;
depends_on:
- sqlserver
restart: unless-stopped
sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: hyppot-sqlserver
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=YourStrong!Passw0rd
- MSSQL_PID=Express
ports:
- "1433:1433"
volumes:
- sqlserver_data:/var/opt/mssql
restart: unless-stopped
volumes:
hyppot_logs:
driver: local
sqlserver_data:
driver: local
How to Use
- Choose your configuration: Copy the appropriate docker-compose.yml example above
- Save to file: Create a
docker-compose.yml
file in your project directory - Customize settings: Update environment variables, ports, and passwords as needed
- Run the stack: Execute
docker-compose up -d
- Access Hyppot: Navigate to
http://localhost:8080/hyppot/panel
Configuration Tips
Security Considerations
Production Considerations
Important: The examples above show basic configuration options for demonstration purposes. For production deployments, implement proper security measures including strong passwords, secret management (Docker secrets or external secret stores), regular backups, monitoring, and access controls. Never use default passwords in production environments!
- Load Balancing: To avoid migration conflicts, start instances sequentially
- Updates: Pull latest images and restart containers to update
- Resource limits: Set memory and CPU limits for containers
Next Steps
- Configure for production - Set up proper security and monitoring
- Create experiments - Learn how to set up A/B tests
- Integrate with your app - Add Hyppot to your application