feat(deploy): server overlay and teamhub-deploy manifest for the VM
This commit is contained in:
@@ -17,9 +17,8 @@
|
|||||||
},
|
},
|
||||||
"compose": {
|
"compose": {
|
||||||
"subdir": ".",
|
"subdir": ".",
|
||||||
"files": ["docker-compose.prod.yml"],
|
"files": ["docker-compose.yml", "docker-compose.server.yml"],
|
||||||
"env_file": ".env.prod",
|
"env_render_target": ".env"
|
||||||
"env_render_target": ".env.prod"
|
|
||||||
},
|
},
|
||||||
"health": {
|
"health": {
|
||||||
"base_url": "http://10.37.142.35:8050",
|
"base_url": "http://10.37.142.35:8050",
|
||||||
|
|||||||
69
docker-compose.server.yml
Normal file
69
docker-compose.server.yml
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
# Server overlay for the TeamHUB VM (Stage 5, debug window before the gateway).
|
||||||
|
#
|
||||||
|
# Usage (teamhub-deploy does this via deploy/teamhub-deploy.json):
|
||||||
|
# docker compose -f docker-compose.yml -f docker-compose.server.yml up -d --build
|
||||||
|
#
|
||||||
|
# Compared with the standalone dev compose this overlay:
|
||||||
|
# - moves every backing service onto the internal-only legacyhub_db network
|
||||||
|
# and strips their published host ports (postgres/minio/opensearch/qdrant/
|
||||||
|
# redis stay module-internal; OpenSearch keeps the security plugin disabled,
|
||||||
|
# which is acceptable ONLY while it is strictly internal);
|
||||||
|
# - publishes the api on ${LEGACYHUB_API_BIND:-127.0.0.1}:8050 — the server
|
||||||
|
# sets LEGACYHUB_API_BIND=<VM IP> so the teamhub-deploy health gate works;
|
||||||
|
# once the platform gateway fronts the module, switch to the federation
|
||||||
|
# overlay docker-compose.teamhub.yml (no host port at all);
|
||||||
|
# - attaches api and worker to the shared external teamhub_net for the
|
||||||
|
# dispatch bus (alias legacyhub-api) — teamhub_net is a regular bridge, so
|
||||||
|
# it also provides the egress needed for first-run HuggingFace downloads;
|
||||||
|
# - identity enforcement is env-driven: AUTH_REQUIRE_IDENTITY (set true on
|
||||||
|
# the server; machine paths keep X-API-Key auth).
|
||||||
|
#
|
||||||
|
# The shared network must exist first: docker network create teamhub_net
|
||||||
|
|
||||||
|
networks:
|
||||||
|
teamhub_net:
|
||||||
|
external: true
|
||||||
|
name: teamhub_net
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
networks: !override [legacyhub_db]
|
||||||
|
ports: !reset []
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
minio:
|
||||||
|
networks: !override [legacyhub_db]
|
||||||
|
ports: !reset []
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
opensearch:
|
||||||
|
networks: !override [legacyhub_db]
|
||||||
|
ports: !reset []
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
qdrant:
|
||||||
|
networks: !override [legacyhub_db]
|
||||||
|
ports: !reset []
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
redis:
|
||||||
|
networks: !override [legacyhub_db]
|
||||||
|
ports: !reset []
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
api:
|
||||||
|
ports: !override
|
||||||
|
- "${LEGACYHUB_API_BIND:-127.0.0.1}:${API_HOST_PORT:-8050}:8000"
|
||||||
|
networks: !override
|
||||||
|
legacyhub_db: {}
|
||||||
|
teamhub_net:
|
||||||
|
aliases: [legacyhub-api]
|
||||||
|
environment:
|
||||||
|
AUTH_REQUIRE_IDENTITY: ${AUTH_REQUIRE_IDENTITY:-false}
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
worker:
|
||||||
|
networks: !override
|
||||||
|
legacyhub_db: {}
|
||||||
|
teamhub_net: {}
|
||||||
|
restart: always
|
||||||
Reference in New Issue
Block a user