version: "3.9" networks: hospitality-net: name: hospitality-net driver: bridge edge: external: true services: db: image: postgres:16 container_name: hospitality-db restart: unless-stopped environment: POSTGRES_DB: hospitality POSTGRES_USER: hospitality POSTGRES_PASSWORD: supersecretpassword volumes: - hospitality-db-data:/var/lib/postgresql/data networks: - hospitality-net api: image: gitea.theriise.net/steinhelge/hospitality-api:latest container_name: hospitality-api restart: unless-stopped environment: ASPNETCORE_URLS: http://0.0.0.0:8080 ConnectionStrings__DefaultConnection: "Host=db;Port=5432;Database=hospitality;Username=hospitality;Password=superhemmelig" depends_on: - db networks: - hospitality-net - edge # eller hva prod-nettverket ditt heter labels: - "traefik.enable=true" - "traefik.docker.network=edge" - "traefik.http.routers.hospitality-api.rule=Host(`hospitality-api.theriise.net`)" # prod-domene - "traefik.http.routers.hospitality-api.entrypoints=websecure" - "traefik.http.routers.hospitality-api.tls=true" - "traefik.http.services.hospitality-api.loadbalancer.server.port=8080" web: image: gitea.theriise.net/steinhelge/hospitality-frontend:latest container_name: hospitality-frontend restart: unless-stopped depends_on: - api networks: - hospitality-net - edge labels: - "traefik.enable=true" - "traefik.docker.network=edge" - "traefik.http.routers.hospitality.rule=Host(`hospitality.theriise.net`)" - "traefik.http.routers.hospitality.entrypoints=websecure" - "traefik.http.routers.hospitality.tls=true" volumes: hospitality-db-data: