services: postgres: image: postgres:16-alpine restart: unless-stopped volumes: - postgres_data:/var/lib/postgresql/data environment: POSTGRES_DB: ${DATABASE_NAME:-afterlife} POSTGRES_USER: ${DATABASE_USERNAME:-afterlife} POSTGRES_PASSWORD: ${DATABASE_PASSWORD:-afterlife} ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DATABASE_USERNAME:-afterlife}"] interval: 5s timeout: 5s retries: 5 minio: image: minio/minio:latest restart: unless-stopped command: server /data --console-address ":9001" volumes: - minio_data:/data environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER:-afterlife} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-afterlife123} ports: - "9000:9000" - "9001:9001" cms: build: context: ../apps/cms dockerfile: Dockerfile restart: unless-stopped depends_on: postgres: condition: service_healthy environment: HOST: 0.0.0.0 PORT: 1337 DATABASE_HOST: postgres DATABASE_PORT: 5432 DATABASE_NAME: ${DATABASE_NAME:-afterlife} DATABASE_USERNAME: ${DATABASE_USERNAME:-afterlife} DATABASE_PASSWORD: ${DATABASE_PASSWORD:-afterlife} APP_KEYS: ${APP_KEYS} API_TOKEN_SALT: ${API_TOKEN_SALT} ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET} TRANSFER_TOKEN_SALT: ${TRANSFER_TOKEN_SALT} JWT_SECRET: ${JWT_SECRET} ports: - "1337:1337" web: build: context: ../ dockerfile: apps/web/Dockerfile restart: unless-stopped depends_on: - cms environment: STRAPI_URL: http://cms:1337 STRAPI_API_TOKEN: ${STRAPI_API_TOKEN:-} NEXT_PUBLIC_STRAPI_URL: ${PUBLIC_STRAPI_URL:-http://localhost:1337} ports: - "3000:3000" openfusion: build: context: ../servers/openfusion dockerfile: Dockerfile restart: unless-stopped environment: SHARD_IP: ${OPENFUSION_SHARD_IP:-192.168.10.234} MOTD: ${OPENFUSION_MOTD:-Bienvenido a Project Afterlife - FusionFall Academy} ports: - "23000:23000" - "23001:23001" volumes: - openfusion_data:/usr/src/app/data minecraft-ftb: image: itzg/minecraft-server:java8 restart: unless-stopped container_name: minecraft-ftb environment: EULA: "TRUE" TYPE: FTBA FTB_MODPACK_ID: 23 FTB_MODPACK_VERSION_ID: 99 MEMORY: 6G MAX_MEMORY: 6G MOTD: "Project Afterlife - FTB Infinity Evolved" DIFFICULTY: normal MAX_PLAYERS: 20 VIEW_DISTANCE: 10 ENABLE_COMMAND_BLOCK: "true" JVM_DD_OPTS: "fml.queryResult=confirm" JVM_XX_OPTS: "-XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10" # Fix: Forge 1.7.10 manifest expects versioned jar name on classpath PRE_LAUNCH_CMD: "cp -n /data/minecraft_server.jar /data/minecraft_server.1.7.10.jar 2>/dev/null; true" ports: - "25565:25565" volumes: - minecraft_ftb_data:/data deploy: resources: limits: memory: 8G volumes: postgres_data: minio_data: openfusion_data: minecraft_ftb_data: