Skip to main content

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

  1. Choose your configuration: Copy the appropriate docker-compose.yml example above
  2. Save to file: Create a docker-compose.yml file in your project directory
  3. Customize settings: Update environment variables, ports, and passwords as needed
  4. Run the stack: Execute docker-compose up -d
  5. 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