version: '3.3'

services:
  example:
    image: user/image:tag
    container_name: example
    hostname: example
    #user: 1000:1000
    #depends_on:
    #  - xxx
    restart: unless-stopped
    ports:
      - 8080:8080/tcp
    expose:
      - 8080
    volumes:
      #- /etc/localtime:/etc/localtime:ro
      #- /etc/timezone:/etc/timezone:ro
      #- /var/run/docker.sock:/var/run/docker.sock:ro
      - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/example:/opt/example/data
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
    #networks:
    #  - proxy
    #labels:
    #  - traefik.enable=true
    #  - traefik.docker.network=proxy
    #  - traefik.http.routers.CHANGEME.rule=Host(`service.example.com`)
    #  - traefik.http.services.CHANGEME.loadbalancer.server.port=8080
    #  - traefik.http.services.CHANGEME.loadbalancer.server.scheme=https # optional, but sometines necessary when proxying to https services
    #  - traefik.http.services.CHANGEME.loadbalancer.serverstransport=insecureTransport@file # optional, but sometines necessary when proxying to https services
    #  - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
    #  - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
    #  - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
    #  - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
    #  # Part for optional traefik middlewares
    #  - traefik.http.routers.CHANGEME.middlewares=local-ipwhitelist@file,authelia@docker

#networks:
#  proxy:
#    external: true