Installation
Docker Compose
Deploy the complete Mise stack with Docker Compose.
The repository's compose.yml is the supported production baseline. It starts:
mise: the API and server-rendered web app on one portpostgres: the source of truth for accounts, kitchens, and application datameilisearch: the rebuildable full-text recipe index
Create the deployment
mkdir mise && cd mise
curl -fsSLO https://raw.githubusercontent.com/sidhantpanda/mise/main/compose.yml
echo "JWT_SECRET=$(openssl rand -hex 32)" > .env
docker compose up -dThe named volumes postgres-data and meili-data survive restarts and
docker compose down.
Production environment
A typical public deployment needs only:
JWT_SECRET=replace-with-the-output-of-openssl-rand
WEB_ORIGIN=https://mise.example.comYou can also change the published port:
APP_PORT=3000Do not expose PostgreSQL or Meilisearch ports to the public internet. The reference Compose file keeps both services on its private network.
Verify the deployment
docker compose ps
curl --fail http://localhost:3000/api/health
docker compose logs --tail=100 miseThe health endpoint returns {"ok":true} when the application is accepting
requests.
Pin a release
The downloaded Compose file follows the current latest image. For controlled
production rollouts, edit the image field to a published release tag:
services:
mise:
image: ghcr.io/sidhantpanda/mise:v1.2.0Use a tag that exists in the project's packages page.