Files
ObsiGate/docker-compose.yml
T
bruno d98c0c2f33
CI / lint (push) Successful in 1m27s
CI / security (push) Successful in 57s
CI / test (push) Successful in 3m11s
CI / build (push) Successful in 54s
CI / e2e (push) Successful in 10m59s
fix(version): BUG-047 la version suit chaque livraison (source unique VERSION + bump SemVer automatique)
VERSION (racine) devient la source unique de verite MAJEUR.MINEUR.CORRECTIF, incrementee a chaque commit par le hook prepare-commit-msg (BREAKING -> majeur, feat -> mineur, sinon correctif) ; post-commit rattache les fichiers derives au commit et cree le tag vX.Y.Z, publie au push (push.followTags). Tous les derives sont resynchronises : package.json, desktop Tauri, README.md/README.fr.md, docs/ROADMAP.md, CHANGELOG.md. Backend, image Docker et desktop lisent le meme fichier (plus de numero code en dur). Outils : scripts/bump_version.py, scripts/install-hooks.sh. Tests : tests/test_version.py (46, garde-fou de coherence globale).
2026-09-16 11:02:47 -04:00

80 lines
2.4 KiB
YAML

# =============================================================================
# ObsiGate — Déploiement PRODUCTION (serveur Linux)
# =============================================================================
# Utilisé par : build.sh --prod (défaut)
# Ports : 2020 (app), 11434 (Ollama)
# Vaults : chemins absolus Linux (/NFS/..., /DOCKER_CONFIG/...)
# Auth : activé, mot de passe admin dans .env
# =============================================================================
services:
obsigate:
build:
context: .
image: obsigate:latest
container_name: obsigate
user: "1000:1000"
restart: unless-stopped
ports:
- "2020:8080"
healthcheck:
test:
[
"CMD",
"python",
"-c",
"import urllib.request; urllib.request.urlopen('http://localhost:8080/api/health')",
]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
volumes:
- /NFS/OBSIDIAN_DOC/Obsidian-RECETTES:/vaults/Obsidian-RECETTES
- /NFS/OBSIDIAN_DOC/Obsidian_IT:/vaults/Obsidian_IT
- /NFS/OBSIDIAN_DOC/Obsidian_MAIN:/vaults/Obsidian_MAIN
- /NFS/OBSIDIAN_DOC/Obsidian_WORKOUT:/vaults/Obsidian_WORKOUT
- /NFS/OBSIDIAN_DOC/SessionsManager:/vaults/SessionsManager
- /home/bruno:/vaults/bruno
- /DOCKER_CONFIG/ObsiGate/data:/app/data
environment:
- VAULT_1_NAME=Recettes
- VAULT_1_PATH=/vaults/Obsidian-RECETTES
- VAULT_2_NAME=IT
- VAULT_2_PATH=/vaults/Obsidian_IT
- VAULT_3_NAME=Main
- VAULT_3_PATH=/vaults/Obsidian_MAIN
- VAULT_4_NAME=Workout
- VAULT_4_PATH=/vaults/Obsidian_WORKOUT
- VAULT_5_NAME=Sessions
- VAULT_5_PATH=/vaults/SessionsManager
- DIR_1_NAME=Bruno
- DIR_1_PATH=/vaults/bruno
- OBSIGATE_AUTH_ENABLED=true
- OBSIGATE_ADMIN_USER=admin
# OBSIGATE_ADMIN_PASSWORD → .env
# OBSIGATE_SECURE_COOKIES=true # si derrière reverse proxy HTTPS
- OLLAMA_BASE_URL=http://ollama:11434/v1
- OLLAMA_MODEL=qwen2.5-coder:1.5b
env_file:
- .env
ollama:
image: ollama/ollama:latest
container_name: obsigate-ollama
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
entrypoint: ["/bin/sh", "-c"]
command:
- |
ollama serve &
sleep 5
ollama pull qwen2.5-coder:1.5b
wait
volumes:
ollama_data: