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 StartQuick Start
1
Install the CLI
curl -fsSL get.marmotdata.io | sh
2
Generate an encryption key
Marmot encrypts sensitive credentials stored in your catalog:
marmot generate-encryption-key
Save this key securely. You'll need it in the next step.
3
Create your compose file
Create a docker-compose.yaml:
services:
marmot:
image: ghcr.io/marmotdata/marmot:latest
ports:
- "8080:8080"
environment:
MARMOT_DATABASE_HOST: postgres
MARMOT_DATABASE_PORT: 5432
MARMOT_DATABASE_USER: marmot
MARMOT_DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
MARMOT_DATABASE_NAME: marmot
MARMOT_DATABASE_SSLMODE: disable
MARMOT_SERVER_ENCRYPTION_KEY: ${MARMOT_ENCRYPTION_KEY}
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: marmot
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: marmot
volumes:
- marmot_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U marmot"]
interval: 5s
timeout: 5s
retries: 5
volumes:
marmot_data:
4
Create your environment file
Create a .env file in the same directory:
POSTGRES_PASSWORD=your-secure-password
MARMOT_ENCRYPTION_KEY=your-generated-key
5
Start Marmot
docker compose up -d
6
Access 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
Add Data with Plugins
Automatically discover assets from PostgreSQL, Kafka, S3 and more
Configure Authentication
Set up SSO with GitHub, Google, Okta and more
Need Help?
Join the Discord community to get support and connect with other Marmot users.
Join Discord