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
    #  # Optional part when proxying to services that already provide ssl/tls  
    #  - traefik.http.services.CHANGEME.loadbalancer.server.scheme=https
    #  - traefik.http.services.CHANGEME.loadbalancer.serverstransport=insecureTransport@file
    #  # Optional part for file upload max sizes
    #  - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000
    #  - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000
    #  - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000
    #  - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000
    #  # Optional part for traefik middlewares
    #  - traefik.http.routers.CHANGEME.middlewares=local-ipwhitelist@file,authelia@docker

#networks:
#  proxy:
#    external: true