Skip to main content

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​

VariableRequiredDefaultDescription
DB_CONNECTION_STRINGYesNonePostgreSQL connection string for the Hyppot database
HYPPOT_ADMIN_EMAILNoNoneEmail for the admin user created on first run (non-interactive setup)
HYPPOT_ADMIN_PASSWORDNoNonePassword for the admin user created on first run (non-interactive setup)
DATA_PROTECTION_KEYS_DIRNo/app/storage/keysDirectory where ASP.NET Core Data Protection keys are persisted
ASPNETCORE_ENVIRONMENTNoProductionASP.NET Core environment
ASPNETCORE_URLSNohttp://+:8080URLs 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.license on 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: