Files
falah-os-ce/docker-compose.yml
T

91 lines
2.4 KiB
YAML
Raw Normal View History

services:
# ── Falah OS CE — frontend + auth proxy ──────────────────────────────────
falah-app:
build:
context: .
dockerfile: Dockerfile
container_name: falah-app
restart: unless-stopped
ports:
- "${CE_PORT:-3005}:3000"
environment:
NODE_ENV: production
CASDOOR_ENDPOINT: ${CASDOOR_ENDPOINT:-https://auth.falahos.my}
CASDOOR_CLIENT_ID: ${CASDOOR_CLIENT_ID}
depends_on:
istore:
condition: service_healthy
networks:
- falah-net
labels:
falah.service: "falah-app"
falah.version: "1.3.0"
# ── iStore — Gitea-backed app registry ───────────────────────────────────
istore:
build:
context: ./services/istore
dockerfile: Dockerfile
container_name: falah-istore
restart: unless-stopped
ports:
- "${ISTORE_PORT:-3021}:3021"
environment:
NODE_ENV: production
PORT: 3021
GITEA_TOKEN: ${GITEA_TOKEN:-}
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:3021/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
networks:
- falah-net
labels:
falah.service: "istore"
falah.version: "1.0.0"
# ── App Manager — install/uninstall Docker apps ──────────────────────────
app-manager:
build:
context: ./services/app-manager
dockerfile: Dockerfile
container_name: falah-app-manager
restart: unless-stopped
ports:
- "${APP_MANAGER_PORT:-3022}:3022"
environment:
NODE_ENV: production
PORT: 3022
ISTORE_URL: http://istore:3021
DOCKER_NETWORK: falah-net
DATA_DIR: /data
volumes:
- app-manager-data:/data
- /var/run/docker.sock:/var/run/docker.sock:ro
depends_on:
istore:
condition: service_healthy
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:3022/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
networks:
- falah-net
labels:
falah.service: "app-manager"
falah.version: "1.0.0"
volumes:
app-manager-data:
name: falah-app-manager-data
networks:
falah-net:
driver: bridge
name: falah-net