# Created by: Claude # Date: 2026-01-01 # Purpose: Docker Compose for Mesh development environment # Refs: deployment.md, infra/CLAUDE.md #version: '3.8' services: mesh-server: build: context: ../server dockerfile: Dockerfile environment: - MESH_PUBLIC_URL=${MESH_PUBLIC_URL:-http://localhost:8000} - MESH_HOST=0.0.0.0 - MESH_PORT=8000 - MESH_JWT_SECRET=${MESH_JWT_SECRET} - MESH_JWT_ALGORITHM=HS256 - MESH_JWT_ACCESS_TOKEN_EXPIRE_MINUTES=120 - GOTIFY_URL=${GOTIFY_URL} - GOTIFY_TOKEN=${GOTIFY_TOKEN} - STUN_URL=${STUN_URL:-stun:stun.l.google.com:19302} - TURN_HOST=${TURN_HOST:-coturn} - TURN_PORT=${TURN_PORT:-3478} - TURN_USER=${TURN_USER} - TURN_PASS=${TURN_PASS} - DATABASE_URL=${DATABASE_URL:-sqlite:////app/data/mesh.db} - LOG_LEVEL=${LOG_LEVEL:-INFO} ports: - "8000:8000" volumes: - mesh_db:/app/data restart: unless-stopped # depends_on: # - gotify # Gotify externe sur le réseau coturn: image: coturn/coturn:latest command: > -n --log-file=stdout --external-ip=${TURN_EXTERNAL_IP:-127.0.0.1} --realm=${TURN_REALM:-mesh.local} --user=${TURN_USER:-mesh}:${TURN_PASS:-changeThis123} --listening-port=3478 --min-port=49160 --max-port=49200 --fingerprint --lt-cred-mech --no-multicast-peers --no-cli network_mode: "host" restart: unless-stopped # gotify: # # Service commenté - Gotify déjà disponible sur le réseau # # Configurer GOTIFY_URL et GOTIFY_TOKEN dans .env # image: gotify/server:latest # environment: # - GOTIFY_DEFAULTUSER_NAME=${GOTIFY_DEFAULTUSER_NAME:-admin} # - GOTIFY_DEFAULTUSER_PASS=${GOTIFY_DEFAULTUSER_PASS:-adminadmin} # ports: # - "8080:80" # volumes: # - gotify_data:/app/data # restart: unless-stopped volumes: mesh_db: # gotify_data: # Non nécessaire si Gotify externe