services:
  webapi:
    image: tf2jumpxyz-webapi:latest
    env_file:
      - ./secrets/db.env
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
      - ASPNETCORE_URLS=http://+:80
      - ConnectionStrings__DefaultConnection=host=host.docker.internal;port=5432;database=${POSTGRES_DB};username=${POSTGRES_USER};password=${POSTGRES_PASSWORD}
    ports:
      - 6001:80
    depends_on:
      - db
    networks:
      - internal
  webui:
    image: tf2jumpxyz-webui:latest
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
      - ASPNETCORE_URLS=http://+:80
    user: "${UID}:${GID}"
    ports:
      - 6002:80
    volumes:
      - ./data/keys:/data/keys:rw
    depends_on:
      - webapi
    networks:
      - internal
  db:
    image: postgres
    restart: always
    shm_size: 128mb
    volumes:
     - ./postgres-data:/var/lib/postgresql/data
    env_file:
      - ./secrets/db.env
    networks:
      - internal

networks:
  internal:
    driver: bridge