ObsiGate/docker-compose.yml
Bruno Charest 58a0ffc76c feat: quick wins - dockerignore, env secrets, gzip, cache-control
- Add .dockerignore to exclude .git, __pycache__, docs, etc. from Docker context
- Create .env.example template with documented env vars
- Move OBSIGATE_ADMIN_PASSWORD from docker-compose.yml to env_file: .env
- Add .env.* to .gitignore (excluding .env.example)
- Enable GZipMiddleware for ~70% bandwidth reduction on text responses
- Add Cache-Control: immutable for /static/ assets
- Update ROADMAP: mark all 4 quick wins as done, add audit findings
- Add comprehensive technical audit report (AUDIT_TECHNIQUE_2026-05-27.md)
2026-05-27 20:35:08 -04:00

51 lines
1.6 KiB
YAML

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
# Auth configuration (edit values in .env file)
- OBSIGATE_AUTH_ENABLED=true
- OBSIGATE_ADMIN_USER=admin
# OBSIGATE_ADMIN_PASSWORD → définir dans .env (pas ici !)
# - OBSIGATE_SECURE_COOKIES=false # Set true if behind HTTPS reverse proxy
env_file:
- .env