63 lines
1.8 KiB
YAML
63 lines
1.8 KiB
YAML
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:
|