Database providers
Hyppot uses an SQL database to store the data. We provide three different database providers compatible with different RDBMS. Each providers comes in separate NuGet package.
Hyppot will automatically initialize database and apply migrations on startup.
Note: In load-balanced environments with multiple instances, the automatic migration process may cause issues if multiple instances start simultaneously. In such scenarios, it's recommended to start instances sequentially.
MS Sql Server
.NET Integration
To use Microsoft SQL Server as the DB provider, install Hyppot.Sqlserver
and configure:
using Hyppot.Sqlserver;
builder.Services.AddHyppot(config =>
{
config.DbSetup = new SqlserverDbDetup(connectionString);
});
Docker Configuration
When using the Hyppot Docker image with SQL Server, configure the connection via environment variables:
docker run -p 8080:80 \
-e HYPPOT_DB_PROVIDER=SqlServer \
-e HYPPOT_CONNECTION_STRING="Server=your-sql-server;Database=HyppotDb;User Id=your-user;Password=your-password;" \
ghcr.io/hyppot/hyppot-server:latest
All the tables will be created in Hyppot
schema to avoid conflicts with existing tables in the database.
PostgreSQL
.NET Integration
To use PostgreSQL, install package Hyppot.Postgresql
. Then configure storage as following:
using Hyppot.Postgresql;
builder.Services.AddHyppot(config =>
{
config.DbSetup = new PostgresqlDbSetup(connectionString);
});
Docker Configuration
When using the Hyppot Docker image with PostgreSQL, configure the connection via environment variables:
docker run -p 8080:80 \
-e HYPPOT_DB_PROVIDER=PostgreSQL \
-e HYPPOT_CONNECTION_STRING="Host=your-postgres-host;Database=hyppot;Username=your-user;Password=your-password" \
ghcr.io/hyppot/hyppot-server:latest
All the tables will be created in Hyppot
schema to avoid conflicts with existing tables in the database.
SQLite
.NET Integration
To use SQLite, install package Hyppot.Sqlite
. Then configure storage as following:
using Hyppot.Sqlite;
// ...
builder.Services.AddHyppot(config =>
{
config.DbSetup = new SqliteDbSetup("Data Source=/path/to/db/hyppot.db");
});
Docker Configuration
When using the Hyppot Docker image with SQLite, configure the connection via environment variables and mount a volume for data persistence:
docker run -p 8080:80 \
-e HYPPOT_DB_PROVIDER=SQLite \
-e HYPPOT_CONNECTION_STRING="Data Source=/app/data/hyppot.db" \
-v /host/path/to/data:/app/data \
ghcr.io/hyppot/hyppot-server:latest
As SQLite does not support schemas, we suggest to use separate db file for Hyppot to avoid potential table conflict issues.
Tip: For production deployments, consider using Docker secrets or external configuration management tools to securely manage connection strings and sensitive data.