Sync runner checkout / sync (push) Successful in 6s
## Summary - Closes [#33](#33). - Add `scripts/stop.sh` → `playbooks/stop-apps.yml` → `docker compose down` for one `--app` + `--env` (no `-v`; checkouts/secrets stay). - `host_apps.enabled: false` skips deploy (including CI `--app`) so a stopped app cannot come back. Rows stay for ports and `stop.sh`. - Disable `print_forge` beta + prod on all app hosts. After merge (or from this branch): `./scripts/stop.sh --app print_forge --env prod` and `--env beta`. ## Test plan - [ ] `./scripts/stop.sh --help` shows required `--app` / `--env` - [ ] `ansible-playbook playbooks/stop-apps.yml --syntax-check -e app=print_forge -e app_env=prod` - [ ] `./scripts/stop.sh --app print_forge --env prod` compose-downs `print_forge_prod` on all webservers - [ ] `./scripts/stop.sh --app print_forge --env beta` compose-downs `print_forge_beta` (including adama worker) - [ ] `./scripts/deploy.sh --app print_forge --env prod --check` skips disabled rows (does not start containers) - [ ] NPM: `print-forge-preview.aimloperations.com` will 502 until the proxy host is disabled (out of scope) Reviewed-on: #34
51 lines
2.3 KiB
YAML
51 lines
2.3 KiB
YAML
---
|
|
# ai-server-4080 — control node + Gitea act runner. Update IP with:
|
|
# ip -4 addr show scope global
|
|
ansible_host: 10.0.0.128
|
|
|
|
ansible_control_node: true
|
|
# Deploy/ansible runs on this host; avoid self-SSH (breaks after long tasks / CI keys).
|
|
ansible_connection: local
|
|
act_runner_enabled: true
|
|
|
|
# Central Loki + Prometheus + Grafana (roles/observability).
|
|
observability_stack: true
|
|
|
|
# SearxNG JSON search API for chat_backend grounded retrieval (#10).
|
|
# Host port 8088 — 8080 is dta_webapp on this host. chat_backend secret:
|
|
# SEARXNG_BASE_URL=http://10.0.0.128:8088
|
|
searxng_stack: true
|
|
|
|
# This host's pre-existing ~/.ssh/id_ed25519 is a personal key WITH a passphrase,
|
|
# which hangs the (non-BatchMode) gitea access probe. Use a dedicated,
|
|
# passphrase-less deploy key here instead.
|
|
gitea_key_path: "/home/{{ admin_user }}/.ssh/gitea_deploy"
|
|
|
|
# company_site + dta_webapp + dta_service for side testing and active/active.
|
|
# Ports MUST match adama/roslin/starbuck/apollo so NPM can balance all upstreams.
|
|
host_apps:
|
|
- { name: company_site, env: prod, port: 8000 }
|
|
- { name: dta_webapp, env: prod, port: 8080 }
|
|
- { name: dta_webapp, env: beta, port: 8081 }
|
|
- { name: dta_blog, env: prod, port: 8086 }
|
|
- { name: dta_blog, env: beta, port: 8087 }
|
|
- { name: dta_service, env: prod, port: 8001 }
|
|
- { name: dta_service, env: beta, port: 8011 }
|
|
- { name: scha, env: prod, port: 8002 }
|
|
- { name: chat_web_app, env: prod, port: 8082 }
|
|
- { name: chat_web_app, env: beta, port: 8083 }
|
|
- { name: chat_backend, env: prod, port: 8003 }
|
|
- { name: chat_backend, env: beta, port: 8013 }
|
|
# monica_site / college_craft / print_forge workers NOT here — adama sets compose_profiles: [worker].
|
|
- { name: monica_site, env: prod, port: 8004 }
|
|
- { name: monica_site, env: beta, port: 8014 }
|
|
- { name: url_shortening_service, env: prod, port: 8005 }
|
|
- { name: url_shortening_service, env: beta, port: 8015 }
|
|
- { name: college_craft, env: prod, port: 8006 }
|
|
- { name: college_craft, env: beta, port: 8016 }
|
|
- { name: print_forge, env: prod, port: 8007, enabled: false }
|
|
- { name: print_forge, env: beta, port: 8019, enabled: false }
|
|
- { name: abc_be, env: beta, port: 8017 }
|
|
- { name: abc_worker, env: beta, port: 8018 }
|
|
- { name: abc_fe, env: beta, port: 8085 }
|
|
- { name: livekit, env: beta, port: 7880 } |