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:
- Generates a self-signed SSL cert for your hostname
- Creates
.env.onpremise.{region}with random secrets - Creates
web/.env.onpremise.{region}with correct locale/API URLs - Adds hostname to
/etc/hosts(optional) - 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