Skip to main content
Version: 0.8

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