---
version: "3.4"

services:
  app:
    image: ghcr.io/hargata/lubelogger:latest
    build: .
    restart: unless-stopped
    # volumes used to keep data persistent
    volumes:
      - config:/App/config
      - data:/App/data
      - translations:/App/wwwroot/translations
      - documents:/App/wwwroot/documents
      - images:/App/wwwroot/images
      - temp:/App/wwwroot/temp
      - log:/App/log
      - keys:/root/.aspnet/DataProtection-Keys
    # expose port and/or use serving via traefik
    ports:
      - 8080:8080
    env_file:
      - .env
    # traefik configurations, including networks can be commented out if not needed
    networks:
      - traefik-ingress
    labels:
      ## Traefik General
      # We set 'enable by default' to false, so this tells Traefik we want it to connect here
      traefik.enable: true
      # define network for traefik<>app communication
      traefik.docker.network: traefik-ingress
      ## HTTP Routers
      traefik.http.routers.whoami.entrypoints: https
      traefik.http.routers.whoami.rule: Host(`lubelog.mydomain.tld`)
      ## Middlewares
      #traefik.http.routers.whoami.middlewares: authentik@docker
      # none
      ## HTTP Services
      traefik.http.services.whoami.loadbalancer.server.port: 5000

volumes:
  config:
  data:
  translations:
  documents:
  images:
  temp:
  log:
  keys:

networks:
  traefik-ingress:
    external: true
