--- version: '3' services: reverse-proxy: image: docker.io/library/traefik:2.9.6 command: --api=false --api.dashboard=false --providers.docker mem_limit: 64m networks: - internal-nw - default ports: - 127.0.0.1:1314:80 restart: always volumes: # So that traefik can listen to the Docker events - /var/run/docker.sock:/var/run/docker.sock:ro healthcheck: # DON'T # test: "/usr/bin/wget -q -Y off http://localhost:80/about -O /dev/null > /dev/null 2>&1" # DO: test: "/usr/bin/wget -q -Y off http://localhost:80/about -O /dev/null 2>&-" interval: 10s retries: 20 homepage: build: context: . image: homepage mem_limit: 8m networks: - internal-nw restart: always labels: - traefik.enable=true - traefik.http.services.homepage.loadbalancer.server.port=1314 - traefik.http.routers.homepage.rule=Host(`localhost`) || Host(`127.0.0.1`) || Host(`homepage`) || Host(`6426tqrh4y5uobmo5y2csaip3m3avmjegd2kpa24sadekpxglbm34aqd.onion`) logging: driver: json-file options: max-size: "5m" max-file: "5" networks: internal-nw: internal: true default: ...