Skip to main content

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

Quick 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

Need Help?

Join the Discord community to get support and connect with other Marmot users.

Join Discord