Docker Compose
Deploy Marmot and PostgreSQL together with Docker Compose.
Looking for a Quick Test?
Try the Quick Start guide for a simple local setup without encryption.
Quick Start
Install the CLI
curl -fsSL get.marmotdata.io | shGenerate an encryption key
Marmot encrypts sensitive credentials stored in your catalog:
marmot generate-encryption-keySave this key securely. You'll need it in the next step.
Create your compose file
Create a
docker-compose.yaml:services:marmot:image: ghcr.io/marmotdata/marmot:latestports:- "8080:8080"environment:MARMOT_DATABASE_HOST: postgresMARMOT_DATABASE_PORT: 5432MARMOT_DATABASE_USER: marmotMARMOT_DATABASE_PASSWORD: ${POSTGRES_PASSWORD}MARMOT_DATABASE_NAME: marmotMARMOT_DATABASE_SSLMODE: disableMARMOT_SERVER_ENCRYPTION_KEY: ${MARMOT_ENCRYPTION_KEY}depends_on:postgres:condition: service_healthypostgres:image: postgres:16-alpineenvironment:POSTGRES_USER: marmotPOSTGRES_PASSWORD: ${POSTGRES_PASSWORD}POSTGRES_DB: marmotvolumes:- marmot_data:/var/lib/postgresql/datahealthcheck:test: ["CMD-SHELL", "pg_isready -U marmot"]interval: 5stimeout: 5sretries: 5volumes:marmot_data:Create your environment file
Create a
.envfile in the same directory:POSTGRES_PASSWORD=your-secure-passwordMARMOT_ENCRYPTION_KEY=your-generated-keyStart Marmot
docker compose up -dAccess the UI
Open http://localhost:8080 in your browser.
Default Credentials
The default username and password is admin:admin. Change this after your first login.
Reference
For all configuration options, see the configuration guide.
Next Steps
Need Help?
Join the Discord community to get support and connect with other Marmot users.