Docker Installation
Docker provides a platform-independent way to run Hyppot without any development environment setup. This approach is perfect for quick deployments, demos, or when you want to integrate Hyppot with non-.NET applications.
Note: The Docker image supports only PostgreSQL as its data storage. If you need SQLite or SQL Server, use the NuGet integration instead.
Prerequisites
- Docker installed on your machine
- Basic familiarity with Docker commands
- A PostgreSQL database
Quick Setup
Pull and run the latest Hyppot Docker image. Mount a volume to get access to logs and provide the connection string via DB_CONNECTION_STRING variable:
docker run -d \
--name hyppot \
-p 8080:8080 \
-e DB_CONNECTION_STRING="Host=your-postgres-host;Database=hyppotdb;Username=postgres;Password=your-password;" \
-v hyppot_data:/app/storage \
ghcr.io/hyppot/hyppot-server:latest
Access Hyppot at: http://localhost:8080/hyppot/panel
Configuration
Using Docker Compose? See Docker Compose example.
Admin User Setup
On first access, you'll be prompted to create an admin account through the web interface. Alternatively, you can pre-configure admin credentials by adding them as environment variables for non-interactive setup:
docker run -d \
--name hyppot \
-p 8080:8080 \
-e HYPPOT_ADMIN_EMAIL="[email protected]" \
-e HYPPOT_ADMIN_PASSWORD="YourSecurePassword123!" \
-e DB_CONNECTION_STRING="Host=your-postgres-host;Database=hyppotdb;Username=postgres;Password=your-password;" \
-v hyppot_data:/app/storage \
ghcr.io/hyppot/hyppot-server:latest
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
DB_CONNECTION_STRING | Yes | None | PostgreSQL connection string for the Hyppot database |
HYPPOT_ADMIN_EMAIL | No | None | Email for the admin user created on first run (non-interactive setup) |
HYPPOT_ADMIN_PASSWORD | No | None | Password for the admin user created on first run (non-interactive setup) |
DATA_PROTECTION_KEYS_DIR | No | /app/storage/keys | Directory where ASP.NET Core Data Protection keys are persisted |
ASPNETCORE_ENVIRONMENT | No | Production | ASP.NET Core environment |
ASPNETCORE_URLS | No | http://+:8080 | URLs the server binds to |
Storage and Logs
- Application logs:
/app/storage/logs/inside the container - Persistent storage:
/app/storage/(for logs and license file) - License file: For production installations you need a valid license file. To install license, you can upload it to
/app/storage/hyppot.licenseon the container volume or using the administrative interface.
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
Next Steps
After installation:
- Create your first experiment - Learn how to set up your first A/B test in five minutes
- Integrate with your app - Add Hyppot to your application
- Configuration - See available configuration options