Skip to main content

Docker

Generate Encryption Key

Install Marmot CLI and generate a key:

curl -fsSL get.marmotdata.io | sh
marmot generate-encryption-key

Simple Deployment

Run Marmot with environment variables:

docker run -d \
--name marmot \
-p 8080:8080 \
-e MARMOT_SERVER_ENCRYPTION_KEY=<your-generated-key> \
-e MARMOT_DATABASE_HOST=<your-postgres-host> \
-e MARMOT_DATABASE_PORT=5432 \
-e MARMOT_DATABASE_USER=<your-postgres-user> \
-e MARMOT_DATABASE_PASSWORD=<your-postgres-password> \
-e MARMOT_DATABASE_NAME=<your-postgres-database> \
-e MARMOT_DATABASE_SSLMODE=disable \
ghcr.io/marmotdata/marmot:latest

The default username and password is admin:admin

Configuration

Configure via mounted config file:

docker run -d \
--name marmot \
-p 8080:8080 \
-v /path/to/config.yaml:/app/config.yaml \
ghcr.io/marmotdata/marmot:latest server --config /app/config.yaml

Development Without Encryption

For development only (credentials stored in plaintext):

docker run -d \
--name marmot \
-p 8080:8080 \
-e MARMOT_SERVER_ALLOW_UNENCRYPTED=true \
-e MARMOT_DATABASE_HOST=localhost \
ghcr.io/marmotdata/marmot:latest

For all configuration options, see available configuration here.