71 lines
2.0 KiB
YAML
71 lines
2.0 KiB
YAML
# 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
|