Skip to content

Docker Compose

The quickest way to deploy mise-server for production use.

Basic Setup

bash
curl -O https://raw.githubusercontent.com/endevco/mise-server/main/docker-compose.yml
docker compose up -d

This starts mise-server on port 3000 with bundled PostgreSQL and MinIO.

Defaults:

  • Listens on http://localhost:3000
  • Stores blobs in MinIO using the mise-server bucket
  • Auth token: changemechange this before exposing publicly

Configuration

Create a .env file alongside docker-compose.yml:

env
MISE_SERVER_AUTH_TOKEN=your-secret-token
MISE_SERVER_BASE_URL=https://mise-server.example.com
POSTGRES_PASSWORD=your-db-password

External S3 Backend

Override the bundled MinIO with your own S3-compatible storage:

bash
docker compose -f docker-compose.yml -f docker-compose.s3.yml up -d

Required environment variables:

env
S3_BUCKET=my-cache-bucket
S3_REGION=us-east-1
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
# For MinIO, R2, Tigris, etc.:
S3_ENDPOINT=https://minio.example.com

With a Config File

Mount a config file into the container:

yaml
services:
  mise-server:
    volumes:
      - ./mise-server.toml:/etc/mise-server/mise-server.toml
    environment:
      - MISE_SERVER_CONFIG=/etc/mise-server/mise-server.toml

Health Checks

The bundled compose file includes a health check on /healthz. You can verify:

bash
curl http://localhost:3000/healthz
# {"status": "ok"}

Licensed under FSL-1.1-ALv2. Maintained by @jdx.