services: webapp: image: searxng/searxng restart: always read_only: true tmpfs: - /tmp - /var - /run hostname: searxng.lan.ddnsgeek.com networks: - traefik_reverse_proxy deploy: restart_policy: condition: on-failure max_attempts: 5 labels: - "traefik.http.routers.searxng.rule=Host(`searxng.lan.ddnsgeek.com`)" - "traefik.enable=true" - "traefik.http.routers.searxng.entrypoints=websecure" - "traefik.http.routers.searxng.tls.certresolver=myresolver" - "io.portainer.accesscontrol.public" - "traefik.http.routers.searxng.middlewares=error-pages-middleware" healthcheck: # test: > # CMD-SHELL # python3 -c "import urllib.request,sys; # u=urllib.request.urlopen('http://127.0.0.1:8080/', timeout=2); # sys.exit(0 if u.status==200 else 1)" test: ["CMD-SHELL", "python3 -c \"import urllib.request,sys; r=urllib.request.urlopen('http://127.0.0.1:8080/', timeout=3); sys.exit(0 if 200<=r.status<400 else 1)\""] interval: 20s timeout: 5s retries: 8 start_period: 30s networks: traefik_reverse_proxy: external: true