fix(deployment): port 8088 to avoid qbittorrent conflict, connect hermes-hub to dsh_vps_net, route to dsh-vps-filebrowser:8080

This commit is contained in:
bolbol
2026-08-19 23:54:07 +01:00
parent 098e377d27
commit d2008d30c4
3 changed files with 14 additions and 44 deletions
+2 -6
View File
@@ -12,9 +12,5 @@ VPS_TAILSCALE_IP=100.94.90.119
HERMES_TT_URL=http://100.86.197.88:3010 HERMES_TT_URL=http://100.86.197.88:3010
HERMES_NYORA_URL=http://100.86.197.88:3020 HERMES_NYORA_URL=http://100.86.197.88:3020
HERMES_PERSO_URL=http://100.86.197.88:3031 HERMES_PERSO_URL=http://100.86.197.88:3031
HERMES_NABIL_URL=http://127.0.0.1:8642 HERMES_NABIL_URL=http://hermes-nabil:9119
DSH_FILEBROWSER_URL=http://dsh-filebrowser:80 DSH_FILEBROWSER_URL=http://dsh-vps-filebrowser:8080
# User IDs
DSH_UID=1001
DSH_GID=1001
+5 -7
View File
@@ -25,7 +25,7 @@ class UniverseConfig(BaseModel):
class Settings(BaseSettings): class Settings(BaseSettings):
app_name: str = "Hermes Hub" app_name: str = "Hermes Hub"
host: str = "127.0.0.1" # Bind loopback by default host: str = "0.0.0.0"
port: int = 8080 port: int = 8080
debug: bool = False debug: bool = False
@@ -37,8 +37,8 @@ class Settings(BaseSettings):
hermes_tt_url: str = os.getenv("HERMES_TT_URL", "http://100.86.197.88:3010") hermes_tt_url: str = os.getenv("HERMES_TT_URL", "http://100.86.197.88:3010")
hermes_nyora_url: str = os.getenv("HERMES_NYORA_URL", "http://100.86.197.88:3020") hermes_nyora_url: str = os.getenv("HERMES_NYORA_URL", "http://100.86.197.88:3020")
hermes_perso_url: str = os.getenv("HERMES_PERSO_URL", "http://100.86.197.88:3031") hermes_perso_url: str = os.getenv("HERMES_PERSO_URL", "http://100.86.197.88:3031")
hermes_nabil_url: str = os.getenv("HERMES_NABIL_URL", "http://127.0.0.1:8642") hermes_nabil_url: str = os.getenv("HERMES_NABIL_URL", "http://hermes-nabil:9119")
dsh_filebrowser_url: str = os.getenv("DSH_FILEBROWSER_URL", "http://127.0.0.1:8901") dsh_filebrowser_url: str = os.getenv("DSH_FILEBROWSER_URL", "http://dsh-vps-filebrowser:8080")
# Hub Secret — OBLIGATOIRE, aucun fallback codé en dur (Fail-Fast au démarrage) # Hub Secret — OBLIGATOIRE, aucun fallback codé en dur (Fail-Fast au démarrage)
hub_secret: str = Field(..., min_length=16, description="Clé secrète maîtresse requise pour Hermes Hub") hub_secret: str = Field(..., min_length=16, description="Clé secrète maîtresse requise pour Hermes Hub")
@@ -57,8 +57,6 @@ class Settings(BaseSettings):
try: try:
settings = Settings() settings = Settings()
except Exception as e: except Exception as e:
# If starting in an environment without .env yet, define placeholder for type checking
# but runtime will fail fast if HUB_SECRET is absent
if "HUB_SECRET" in os.environ: if "HUB_SECRET" in os.environ:
raise e raise e
settings = None settings = None
@@ -105,13 +103,13 @@ UNIVERSES: Dict[str, UniverseConfig] = {
name="Nabil Master", name="Nabil Master",
tagline="Orchestration & DSH", tagline="Orchestration & DSH",
description="Master Agent VPS, exécution de code & DeepSeek Harness", description="Master Agent VPS, exécution de code & DeepSeek Harness",
backend_url=os.getenv("HERMES_NABIL_URL", "http://127.0.0.1:8642"), backend_url=os.getenv("HERMES_NABIL_URL", "http://hermes-nabil:9119"),
scope="nabil", scope="nabil",
accent_token="--accent-nabil", accent_token="--accent-nabil",
icon="terminal", icon="terminal",
persona_file="nabil.yaml", persona_file="nabil.yaml",
supports_files=True, supports_files=True,
files_url=os.getenv("DSH_FILEBROWSER_URL", "http://127.0.0.1:8901") files_url=os.getenv("DSH_FILEBROWSER_URL", "http://dsh-vps-filebrowser:8080")
) )
} }
+7 -31
View File
@@ -7,8 +7,8 @@ services:
restart: unless-stopped restart: unless-stopped
user: "1026:100" user: "1026:100"
ports: ports:
# Bind strictement sur loopback pour n'etre accessible QUE par Cloudflare Tunnel # Port 8088 reserve et bind strictement loopback (evite conflit 8080 qbittorrent)
- "127.0.0.1:8080:8080" - "127.0.0.1:8088:8080"
volumes: volumes:
- ./data:/app/data - ./data:/app/data
environment: environment:
@@ -20,40 +20,16 @@ services:
- HERMES_TT_URL=http://100.86.197.88:3010 - HERMES_TT_URL=http://100.86.197.88:3010
- HERMES_NYORA_URL=http://100.86.197.88:3020 - HERMES_NYORA_URL=http://100.86.197.88:3020
- HERMES_PERSO_URL=http://100.86.197.88:3031 - HERMES_PERSO_URL=http://100.86.197.88:3031
- HERMES_NABIL_URL=http://127.0.0.1:8642 - HERMES_NABIL_URL=http://hermes-nabil:9119
- DSH_FILEBROWSER_URL=http://dsh-filebrowser:80 - DSH_FILEBROWSER_URL=http://dsh-vps-filebrowser:8080
depends_on:
- dsh-filebrowser
dns: dns:
- 1.1.1.1 - 1.1.1.1
- 8.8.8.8 - 8.8.8.8
networks: networks:
- hub-net - dsh_vps_net
labels:
com.centurylinklabs.watchtower.enable: "false"
dsh-filebrowser:
image: filebrowser/filebrowser:v2.32.0
container_name: dsh-filebrowser
restart: unless-stopped
user: "${DSH_UID:-1001}:${DSH_GID:-1001}"
command:
- "--noauth"
- "--root=/srv"
- "--baseurl=/u/nabil/files"
- "--address=0.0.0.0"
- "--port=80"
- "--branding.theme=dark"
volumes:
- /home/dsh-agent/dsh-vps/workspace:/srv
ports:
# Bind strictement loopback
- "127.0.0.1:8901:80"
networks:
- hub-net
labels: labels:
com.centurylinklabs.watchtower.enable: "false" com.centurylinklabs.watchtower.enable: "false"
networks: networks:
hub-net: dsh_vps_net:
driver: bridge external: true