Ctrl K
ComunidadGuías…

docker-compose.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
services:
  gameap:
    image: gameap/gameap:latest
    build:
      context: .
      dockerfile: Dockerfile
      args:
        VERSION: dev
        BUILD_DATE: ${BUILD_DATE:-2025-01-01T00:00:00Z}
    container_name: gameap
    entrypoint: ["/bin/sh", "-c", "mkdir -p /var/lib/gameap/files && /usr/bin/gameap"]
    ports:
      - "8025:8025"
    environment:
      HTTP_HOST: 0.0.0.0
      HTTP_PORT: 8025
      DATABASE_DRIVER: postgres
      DATABASE_URL: postgres://gameap:gameap@postgres:5432/gameap?sslmode=disable
      ENCRYPTION_KEY: ${ENCRYPTION_KEY:-change-me-in-production}
      AUTH_SECRET: ${AUTH_SECRET:-change-me-in-production}
      CACHE_DRIVER: redis
      CACHE_REDIS_ADDR: redis:6379
      FILES_DRIVER: local
      FILES_LOCAL_BASE_PATH: /var/lib/gameap/files
      LOGGER_LEVEL: ${LOGGER_LEVEL:-info}
    volumes:
      - gameap-storage:/var/lib/gameap
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_healthy
    networks:
      - gameap-network
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8025/api/health"]
      interval: 30s
      timeout: 3s
      start_period: 10s
      retries: 3

  postgres:
    image: postgres:17-alpine
    container_name: gameap-postgres
    environment:
      POSTGRES_DB: gameap
      POSTGRES_USER: gameap
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-gameap}
    volumes:
      - gameap-postgres-data:/var/lib/postgresql/data
    networks:
      - gameap-network
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U gameap"]
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:7-alpine
    container_name: gameap-redis
    command: redis-server --appendonly yes
    volumes:
      - gameap-redis-data:/data
    networks:
      - gameap-network
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  gameap-storage:
    driver: local
  gameap-postgres-data:
    driver: local
  gameap-redis-data:
    driver: local

networks:
  gameap-network:
    driver: bridge