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 -dThis starts mise-server on port 3000 with bundled PostgreSQL and MinIO.
Defaults:
- Listens on
http://localhost:3000 - Stores blobs in MinIO using the
mise-serverbucket - Auth token:
changeme— change 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-passwordExternal 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 -dRequired 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.comWith 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.tomlHealth Checks
The bundled compose file includes a health check on /healthz. You can verify:
bash
curl http://localhost:3000/healthz
# {"status": "ok"}