version: "3.9" services: server_prod: profiles: - prod build: context: . target: prod args: MIX_ENV: prod ports: - "80:80" - "443:443" depends_on: - db server_release: profiles: - release build: context: . target: release args: MIX_ENV: prod server_dev: profiles: - dev build: context: . target: dev args: MIX_ENV: dev environment: - RUST_BACKTRACE=full ports: - "80:80" volumes: - ./_cache/_build/:/app/_build/:rw - ./_cache/deps/:/app/deps/:rw - ./_cache/node_modules/:/app/assets/node_modules/:rw - ./_cache/cargo/registry/:/usr/local/cargo/registry/:rw - .:/app/:rw depends_on: - db healthcheck: test: curl api.geysermc/health interval: 60s timeout: 5s retries: 3 start_period: 10s db: profiles: - dev - prod image: mariadb:latest environment: MARIADB_ROOT_PASSWORD: global_api MARIADB_DATABASE: global_api_dev restart: unless-stopped # expose: # - 3306 deploy: replicas: 1 resources: limits: cpus: "0.5" memory: 500M ports: - "3306:3306"