"I have to go..." and shutdown at boot only

Hi,

I have træfik up and working fine in docker as long as I start træfik while the server is up and running. When I reboot, it looks like the server starts up, but then I get a "I have to go..." log message and it shuts down. docker compose down && docker compose up -d fixes it and it works again.

In reality I have a much more elaborate setup, but I see this behavior also with this minimal setup:

docker-compose.yaml:

services:
  reverse-proxy:
    # I also tried with:
    # image: traefik:latest
    image: traefik:v3.1.2
    command: --log.level=DEBUG

which is about as minimal as it gets.

When I boot, I get boot.log (see below), and when I restart it later, I get restart.log (see below). The diff between them (after removing timestamps) is this, which doesn't give me any hints about why it decided to shut down (I also tried log.level=TRACE):

--- boot-i-have-to-go.log.short	2024-08-25 12:57:37.718261207 +0200
+++ restart-ok.log.short	2024-08-25 12:58:12.029754668 +0200
@@ -13,11 +13,3 @@
 DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *acme.ChallengeTLSALPN provider configuration config={}
 DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{"serversTransports":{"default":{"maxIdleConnsPerHost":200}},"services":{"noop":{}}},"tcp":{"serversTransports":{"default":{"dialKeepAlive":"15s","dialTimeout":"30s"}}},"tls":{},"udp":{}} providerName=internal
 DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321 > No default certificate, fallback to the internal generated certificate tlsStoreName=default
-INF github.com/traefik/traefik/v3/pkg/server/server.go:51 > I have to go...
-INF github.com/traefik/traefik/v3/pkg/server/server.go:52 > Stopping server gracefully
-DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:295 > Waiting 10s seconds before killing connections entryPointName=http
-ERR github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:237 > error="accept tcp [::]:80: use of closed network connection" entryPointName=http
-ERR github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:313 > error="close tcp [::]:80: use of closed network connection" entryPointName=http
-DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:153 > Entrypoint closed entryPointName=http
-INF github.com/traefik/traefik/v3/pkg/server/server.go:76 > Server stopped
-INF github.com/traefik/traefik/v3/cmd/traefik/traefik.go:163 > Shutting down

Running on NixOS 23.11. I have 14 other docker containers that start up fine.

boot.log:

reverse-proxy-1  | 2024-08-25T10:49:06Z INF github.com/traefik/traefik/v3/cmd/traefik/traefik.go:101 > Traefik version 3.1.2 built on 2024-08-06T13:37:51Z version=3.1.2
reverse-proxy-1  | 2024-08-25T10:49:06Z DBG github.com/traefik/traefik/v3/cmd/traefik/traefik.go:108 > Static configuration loaded [json] staticConfiguration={"entryPoints":{"http":{"address":":80","forwardedHeaders":{},"http":{},"http2":{"maxConcurrentStreams":250},"transport":{"lifeCycle":{"graceTimeOut":"10s"},"respondingTimeouts":{"idleTimeout":"3m0s","readTimeout":"1m0s"}},"udp":{"timeout":"3s"}}},"global":{"checkNewVersion":true},"log":{"format":"common","level":"DEBUG"},"providers":{"providersThrottleDuration":"2s"},"serversTransport":{"maxIdleConnsPerHost":200},"tcpServersTransport":{"dialKeepAlive":"15s","dialTimeout":"30s"}}
reverse-proxy-1  | 2024-08-25T10:49:06Z INF github.com/traefik/traefik/v3/cmd/traefik/traefik.go:617 > 
reverse-proxy-1  | Stats collection is disabled.
reverse-proxy-1  | Help us improve Traefik by turning this feature on :)
reverse-proxy-1  | More details on: https://doc.traefik.io/traefik/contributing/data-collection/
reverse-proxy-1  | 
reverse-proxy-1  | 2024-08-25T10:49:06Z INF github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:73 > Starting provider aggregator aggregator.ProviderAggregator
reverse-proxy-1  | 2024-08-25T10:49:06Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:228 > Starting TCP Server entryPointName=http
reverse-proxy-1  | 2024-08-25T10:49:06Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *traefik.Provider
reverse-proxy-1  | 2024-08-25T10:49:06Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *traefik.Provider provider configuration config={}
reverse-proxy-1  | 2024-08-25T10:49:06Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *acme.ChallengeTLSALPN
reverse-proxy-1  | 2024-08-25T10:49:06Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *acme.ChallengeTLSALPN provider configuration config={}
reverse-proxy-1  | 2024-08-25T10:49:06Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{"serversTransports":{"default":{"maxIdleConnsPerHost":200}},"services":{"noop":{}}},"tcp":{"serversTransports":{"default":{"dialKeepAlive":"15s","dialTimeout":"30s"}}},"tls":{},"udp":{}} providerName=internal
reverse-proxy-1  | 2024-08-25T10:49:06Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321 > No default certificate, fallback to the internal generated certificate tlsStoreName=default
reverse-proxy-1  | 2024-08-25T10:56:38Z INF github.com/traefik/traefik/v3/pkg/server/server.go:51 > I have to go...
reverse-proxy-1  | 2024-08-25T10:56:38Z INF github.com/traefik/traefik/v3/pkg/server/server.go:52 > Stopping server gracefully
reverse-proxy-1  | 2024-08-25T10:56:38Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:295 > Waiting 10s seconds before killing connections entryPointName=http
reverse-proxy-1  | 2024-08-25T10:56:38Z ERR github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:237 > error="accept tcp [::]:80: use of closed network connection" entryPointName=http
reverse-proxy-1  | 2024-08-25T10:56:38Z ERR github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:313 > error="close tcp [::]:80: use of closed network connection" entryPointName=http
reverse-proxy-1  | 2024-08-25T10:56:38Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:153 > Entrypoint closed entryPointName=http
reverse-proxy-1  | 2024-08-25T10:56:38Z INF github.com/traefik/traefik/v3/pkg/server/server.go:76 > Server stopped
reverse-proxy-1  | 2024-08-25T10:56:38Z INF github.com/traefik/traefik/v3/cmd/traefik/traefik.go:163 > Shutting down

restart.log:

reverse-proxy-1  | 2024-08-25T10:58:02Z INF github.com/traefik/traefik/v3/cmd/traefik/traefik.go:101 > Traefik version 3.1.2 built on 2024-08-06T13:37:51Z version=3.1.2
reverse-proxy-1  | 2024-08-25T10:58:02Z DBG github.com/traefik/traefik/v3/cmd/traefik/traefik.go:108 > Static configuration loaded [json] staticConfiguration={"entryPoints":{"http":{"address":":80","forwardedHeaders":{},"http":{},"http2":{"maxConcurrentStreams":250},"transport":{"lifeCycle":{"graceTimeOut":"10s"},"respondingTimeouts":{"idleTimeout":"3m0s","readTimeout":"1m0s"}},"udp":{"timeout":"3s"}}},"global":{"checkNewVersion":true},"log":{"format":"common","level":"DEBUG"},"providers":{"providersThrottleDuration":"2s"},"serversTransport":{"maxIdleConnsPerHost":200},"tcpServersTransport":{"dialKeepAlive":"15s","dialTimeout":"30s"}}
reverse-proxy-1  | 2024-08-25T10:58:02Z INF github.com/traefik/traefik/v3/cmd/traefik/traefik.go:617 > 
reverse-proxy-1  | Stats collection is disabled.
reverse-proxy-1  | Help us improve Traefik by turning this feature on :)
reverse-proxy-1  | More details on: https://doc.traefik.io/traefik/contributing/data-collection/
reverse-proxy-1  | 
reverse-proxy-1  | 2024-08-25T10:58:02Z INF github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:73 > Starting provider aggregator aggregator.ProviderAggregator
reverse-proxy-1  | 2024-08-25T10:58:02Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:228 > Starting TCP Server entryPointName=http
reverse-proxy-1  | 2024-08-25T10:58:02Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *traefik.Provider
reverse-proxy-1  | 2024-08-25T10:58:02Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *traefik.Provider provider configuration config={}
reverse-proxy-1  | 2024-08-25T10:58:02Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *acme.ChallengeTLSALPN
reverse-proxy-1  | 2024-08-25T10:58:02Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *acme.ChallengeTLSALPN provider configuration config={}
reverse-proxy-1  | 2024-08-25T10:58:02Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{"serversTransports":{"default":{"maxIdleConnsPerHost":200}},"services":{"noop":{}}},"tcp":{"serversTransports":{"default":{"dialKeepAlive":"15s","dialTimeout":"30s"}}},"tls":{},"udp":{}} providerName=internal
reverse-proxy-1  | 2024-08-25T10:58:02Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321 > No default certificate, fallback to the internal generated certificate tlsStoreName=default
1 Like