# =============================================================================
# Zunelo — Serveur Communautaire (Auto-Hébergement Officiel / Non-Officiel)
# Association Eldoria Network (SIREN : 93378116300011) — Licence ZPU-1.0
#
# Utilisation rapide :
#   docker compose -f docker-compose.community.yml up -d
# Votre serveur Zunelo sera immédiatement accessible sur http://VOTRE_IP:7024
# =============================================================================

services:
  zunelo-db:
    image: mariadb:11.8
    container_name: zunelo-community-db
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD:-zunelo_root_change_me}
      MARIADB_DATABASE: ${MARIADB_DATABASE:-zunelo}
      MARIADB_USER: ${MARIADB_USER:-zunelo_user}
      MARIADB_PASSWORD: ${MARIADB_PASSWORD:-zunelo_pass_change_me}
    ports:
      - "${ZUNELO_DB_PORT:-7023}:3306"
    volumes:
      - zunelo_community_db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 10s
      timeout: 5s
      retries: 6

  zunelo-server:
    image: ghcr.io/eldoria-network/zunelo-server:latest
    build:
      context: ..
      dockerfile: Dockerfile
    container_name: zunelo-community-server
    restart: unless-stopped
    depends_on:
      zunelo-db:
        condition: service_healthy
    environment:
      ZUNELO_BIND: 0.0.0.0:8080
      ZUNELO_SERVER_NAME: ${ZUNELO_SERVER_NAME:-Serveur Communautaire Zunelo}
      ZUNELO_PUBLIC_URL: ${ZUNELO_PUBLIC_URL:-http://localhost:7024}
      ZUNELO_ALLOW_REGISTRATION: ${ZUNELO_ALLOW_REGISTRATION:-true}
      DATABASE_URL: mysql://${MARIADB_USER:-zunelo_user}:${MARIADB_PASSWORD:-zunelo_pass_change_me}@zunelo-db:3306/${MARIADB_DATABASE:-zunelo}
      ZUNELO_SECRET_KEY: ${ZUNELO_SECRET_KEY:-change-this-community-hmac-secret-key}
      ELDORIA_SIREN: "93378116300011"
    ports:
      - "${ZUNELO_HTTP_PORT:-7024}:8080"
    volumes:
      - zunelo_community_data:/data

volumes:
  zunelo_community_db:
  zunelo_community_data:
