CI / lint (push) Successful in 56s
CI / security (push) Successful in 38s
CI / test (push) Successful in 1m11s
CI / build (push) Successful in 35s
CI / e2e (push) Successful in 11m20s
Desktop Build / build-windows (push) Canceled after 0s
Desktop Build / build-linux (push) Canceled after 0s
Defaut de build Docker et docs alignes sur 2.2.1.
86 lines
2.7 KiB
YAML
86 lines
2.7 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: .
|
|
args:
|
|
# VERSION est injecte par build.sh/CI via `git describe`.
|
|
# En `docker compose build` direct (sans build.sh), on retombe sur le
|
|
# DERNIER TAG (v2.2.1) et non 0.0.0-dev, pour ne jamais afficher "0.0.0"
|
|
# dans le header / la boîte À propos. Packagé par backend/VERSION.
|
|
VERSION: ${VERSION:-2.2.1}
|
|
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:
|