medOS ultra

On-Premise Deployment

All-in-one Docker Compose on-prem stack: infra + 15 services + nginx, with health checks and setup scripts.

1 min readUpdated 2026-04-15docs-site/docs/deployment/on-premise.md

On-premise uses an all-in-one Docker Compose file (docker-compose-onpremise.yml) containing infrastructure (MongoDB, NATS, PostgreSQL, IPFS) + all 15 microservices + nginx reverse proxy + frontend, with health checks and startup ordering.

Quick start (automated)

cd infrastructure

# Interactive
./scripts/setup-onpremise.sh

# Non-interactive
./scripts/setup-onpremise.sh --region japan --hostname medos.local --yes

This:

  1. Generates a self-signed SSL cert for your hostname
  2. Creates .env.onpremise.{region} with random secrets
  3. Creates web/.env.onpremise.{region} with correct locale/API URLs
  4. Adds hostname to /etc/hosts (optional)
  5. Builds all Docker images

Manual setup

cd infrastructure

# 1. Generate self-signed SSL cert
./scripts/generate-ssl-cert.sh medos.local

# 2. Add to /etc/hosts
echo "127.0.0.1  medos.local" | sudo tee -a /etc/hosts

# 3. Configure env
cp .env.onpremise .env.onpremise.japan
# Edit: TZ=Asia/Tokyo, BASE_URL=https://medos.local

# 4. Start
docker compose --env-file .env.onpremise.japan \
  -f docker-compose-onpremise.yml up -d

# 5. Wait ~60s, open https://medos.local

# 6. Seed
./deploy.sh japan seed

Files

File Purpose
docker-compose-onpremise.yml All-in-one compose (infra + services + nginx)
.env.onpremise Template env
.env.onpremise.{region} Generated by setup
scripts/setup-onpremise.sh Automated first-time setup
scripts/generate-ssl-cert.sh Self-signed SSL generator
scripts/mongo_setup.sh MongoDB replica-set init
docker/reverse-proxy/templates/onpremise.conf.template Nginx config using Docker DNS
web/.env.onpremise Frontend env template

Switching region on an existing server

docker compose -f docker-compose-onpremise.yml down
./scripts/setup-onpremise.sh --region philippines --hostname medos.local
docker compose --env-file .env.onpremise.philippines \
  -f docker-compose-onpremise.yml up -d
./deploy.sh philippines seed

Frontend dev against on-premise backend

cd web
cp .env.onpremise.japan .env
pnpm dev   # Vite at http://localhost:5173
Ask Anything