Skip to main content
Version: 0.11

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(opens in a new tab)