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" cloudflare-ddns: image: favonia/cloudflare-ddns:latest restart: unless-stopped environment: CF_API_TOKEN: ${CF_API_TOKEN} DOMAINS: ${PUBLIC_HOST:-play.consultoria-as.com} PROXIED: "false" IP6_PROVIDER: none openfusion: build: context: ../servers/openfusion dockerfile: Dockerfile restart: unless-stopped environment: SHARD_IP: ${PUBLIC_HOST:-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:java21 restart: unless-stopped container_name: minecraft-ftb environment: EULA: "TRUE" TYPE: FTBA FTB_MODPACK_ID: 125 FTB_MODPACK_VERSION_ID: 100181 MEMORY: 6G MAX_MEMORY: 6G MOTD: "Project Afterlife - FTB Evolution" DIFFICULTY: normal MAX_PLAYERS: 20 VIEW_DISTANCE: 10 ENABLE_COMMAND_BLOCK: "true" MAX_TICK_TIME: -1 ports: - "25565:25565" volumes: - minecraft_ftb_data:/data deploy: resources: limits: memory: 8G geth: build: context: ../blockchain dockerfile: Dockerfile restart: unless-stopped environment: ADMIN_PRIVATE_KEY: ${AFC_ADMIN_PRIVATE_KEY} ADMIN_ADDRESS: ${AFC_ADMIN_ADDRESS} ports: - "8545:8545" - "8546:8546" volumes: - geth_data:/data deploy: resources: limits: memory: 1G afc-bridge: build: context: ../services/afc-bridge dockerfile: Dockerfile restart: unless-stopped depends_on: - geth environment: GETH_RPC_URL: http://geth:8545 ADMIN_PRIVATE_KEY: ${AFC_ADMIN_PRIVATE_KEY} BRIDGE_SECRET: ${AFC_BRIDGE_SECRET} PORT: 3001 DB_PATH: /data/bridge.db GAS_FUND_AMOUNT: "0.01" ports: - "3001:3001" volumes: - afc_bridge_data:/data volumes: postgres_data: minio_data: openfusion_data: minecraft_ftb_data: geth_data: afc_bridge_data: