services: expo: image: expo:latest hostname: calendi-expo.test build: context: . dockerfile: docker/Dockerfile-expo volumes: - ./app:/app labels: - "traefik.enable=true" - "traefik.http.routers.expo.entrypoints=web" - "traefik.http.routers.expo.rule=Host(`calendi-expo.test`)" - "traefik.http.services.expo.loadbalancer.server.port=8081" networks: - proxy app: image: app:latest hostname: calendi.test build: context: . dockerfile: docker/Dockerfile target: dev volumes: - ./:/var/www/html - ./docker/nginx/default.conf:/etc/nginx/sites-enabled/default labels: - "traefik.enable=true" - "traefik.http.routers.app.entrypoints=web" - "traefik.http.routers.app.rule=Host(`calendi.test`)" - "traefik.http.services.app.loadbalancer.server.port=80" networks: - proxy postgres: hostname: calendi-postgres.test image: postgres:15 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: postgres ports: - "5432:5432" volumes: - ./var/postgres_data:/var/lib/postgresql/data networks: - proxy labels: - "traefik.enable=true" - "traefik.http.routers.postgres.entrypoints=postgres" - "traefik.http.routers.postgres.rule=Host(`calendi-postgres.test`)" - "traefik.http.services.postgres.loadbalancer.server.port=5432" networks: proxy: external: true volumes: postgres_data: