version: '3.4' services: frontend: image: 'hkotel/mealie:frontend-v1.0.0beta-4' deploy: mode: 'replicated' replicas: 1 placement: constraints: - 'node.labels.class.mealie==true' labels: - 'traefik.enable=true' - 'traefik.http.routers.mealie-frontend.rule=Host(`cook.rustybever.be`)' - 'traefik.http.routers.mealie-frontend.tls=true' - 'traefik.http.routers.mealie-frontend.tls.certresolver=letsEncrypt' - 'traefik.http.services.mealie-frontend.loadbalancer.server.port=3000' environment: API_URL: 'http://api:9000' ALLOW_SIGNUP: 'false' networks: - 'public' volumes: - 'data:/app/data' api: image: 'hkotel/mealie:api-v1.0.0beta-4' deploy: mode: 'replicated' replicas: 1 placement: constraints: - 'node.labels.class.mealie==true' environment: # Server PUID: 22 PGID: 22 BASE_URL: 'https://cook.rustybever.be' TZ: 'Europe/Brussels' # Database DB_ENGINE: 'postgres' POSTGRES_SERVER: 'db' POSTGRES_PORT: 5432 POSTGRES_DB: 'mealie' POSTGRES_USER: 'mealie' POSTGRES_PASSWORD: 'mealie' # Other ALLOW_SIGNUP: 'false' DEFAULT_EMAIL: volumes: - 'data:/app/data' db: image: 'postgres:14.5' restart: 'always' deploy: mode: 'replicated' replicas: 1 placement: constraints: - 'node.labels.class.mealie==true' environment: POSTGRES_USER: 'mealie' POSTGRES_PASSWORD: 'mealie' volumes: - 'db-data:/var/lib/postgresql/data' networks: public: external: true volumes: data: db-data: