[GH-ISSUE #2811] Blueprints are not working with docker labels anymore #35666

Closed
opened 2026-06-18 20:50:48 -05:00 by GiteaMirror · 14 comments
Owner

Originally created by @daddeldash on GitHub (Apr 8, 2026).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/2811

Describe the Bug

Hey guys,
since a few weeks, I have the problem that I am not able to configure my Pangolin through docker labels. I'm giving the following labels to the frontend container of one of my applications, but I only get the message SendMessageInterval timed out after 10 attempts for message type: newt/wg/get-config for my newt container and nothing more happens.

    labels:
      - pangolin.public-resources.test-frontend.enabled=true
      - pangolin.public-resources.test-frontend.name=test-frontend-site
      - pangolin.public-resources.test-frontend.protocol=http
      - pangolin.public-resources.test-frontend.full-domain=mydomain.com
      - pangolin.public-resources.test-frontend.targets[0].hostname=frontend
      - pangolin.public-resources.test-frontend.targets[0].port=3000
      - pangolin.public-resources.test-frontend.targets[0].method=http
      - pangolin.public-resources.test-frontend.auth.sso-enabled=true
      - pangolin.public-resources.test-frontend.maintenance.type=automatic
      - pangolin.public-resources.test-frontend.maintenance.title="We'll be back soon!"
      - pangolin.public-resources.test-frontend.maintenance.message="We are currently performing scheduled maintenance. Please check back soon."
      - pangolin.public-resources.test-frontend.maintenance.estimated-time="2 hours"
      - pangolin.public-resources.test-frontend.rules[0].action=allow
      - pangolin.public-resources.test-frontend.rules[0].match=ip
      - pangolin.public-resources.test-frontend.rules[0].value=1.2.3.4
      - pangolin.public-resources.test-frontend.rules[1].action=deny
      - pangolin.public-resources.test-frontend.rules[1].match=cidr
      - pangolin.public-resources.test-frontend.rules[1].value=0.0.0.0/0

Newt contaienr definition:

  newt:
    image: fosrl/newt
    restart: unless-stopped
    environment:
      - PANGOLIN_ENDPOINT=https://pangolin.instance.tld
      - NEWT_ID=${ID}
      - NEWT_SECRET=${SECRET}
    networks:
      - frontend
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

For the Pangolin instance I get the following output

pangolin-1  | 2026-04-08T08:38:12+00:00 [info]: Establishing websocket connection
pangolin-1  | 2026-04-08T08:38:12+00:00 [info]: Client added to tracking - NEWT ID: XXX, Connection ID: XXX, Total connections: 1, Config version: 0
pangolin-1  | 2026-04-08T08:38:12+00:00 [info]: WebSocket connection fully established and ready - NEWT ID: XXX
pangolin-1  | 2026-04-08T08:38:12+00:00 [info]: Handling ping request newt message!
pangolin-1  | 2026-04-08T08:38:12+00:00 [info]: Sticking with previously connected node: Exit Node XXX (0 ms), latency diff = 0.0ms / NaN%.
pangolin-1  | 2026-04-08T08:38:12+00:00 [info]: Public key mismatch. Deleting old peer...
pangolin-1  | 2026-04-08T08:38:12+00:00 [info]: Deleting peer with public key XXX from exit node 1
gerbil-1    | INFO: 2026/04/08 08:38:12 Clearing connections for removed peer with WG IP: 10.0.0.20
gerbil-1    | INFO: 2026/04/08 08:38:12 Cleared 0 connections for WG IP: 10.0.0.20
gerbil-1    | INFO: 2026/04/08 08:38:12 Peer XXX removed successfully
pangolin-1  | 2026-04-08T08:38:12+00:00 [info]: Adding peer with public key XXX to exit node 1
gerbil-1    | INFO: 2026/04/08 08:38:12 Clearing connections for added peer with WG IP: 10.0.0.20
gerbil-1    | INFO: 2026/04/08 08:38:12 Cleared 0 connections for WG IP: 10.0.0.20
gerbil-1    | INFO: 2026/04/08 08:38:12 Peer XXX added successfully

And in the web frontend, none of the options I gave with the labels is set.
The funny thing is that I remember that all was working fine at the beginning of the year and I haven't changed anything in my setup 🤔

Environment

  • OS Type & Version: (e.g., Ubuntu 22.04)
    • Debian and Ubuntu
  • Pangolin Version:
    • 1.17.0
  • Gerbil Version:
    • 1.3.1
  • Traefik Version:
    • latest container version
  • Newt Version:
  • 1.11.0

To Reproduce

Setting up a test application with the docker labels set. Nothing happens in my pangolin site

Expected Behavior

The given options should be set in the Pangolin instance (which was working fine a few weeks ago)

Originally created by @daddeldash on GitHub (Apr 8, 2026). Original GitHub issue: https://github.com/fosrl/pangolin/issues/2811 ### Describe the Bug Hey guys, since a few weeks, I have the problem that I am not able to configure my Pangolin through docker labels. I'm giving the following labels to the frontend container of one of my applications, but I only get the message `SendMessageInterval timed out after 10 attempts for message type: newt/wg/get-config` for my newt container and nothing more happens. ``` labels: - pangolin.public-resources.test-frontend.enabled=true - pangolin.public-resources.test-frontend.name=test-frontend-site - pangolin.public-resources.test-frontend.protocol=http - pangolin.public-resources.test-frontend.full-domain=mydomain.com - pangolin.public-resources.test-frontend.targets[0].hostname=frontend - pangolin.public-resources.test-frontend.targets[0].port=3000 - pangolin.public-resources.test-frontend.targets[0].method=http - pangolin.public-resources.test-frontend.auth.sso-enabled=true - pangolin.public-resources.test-frontend.maintenance.type=automatic - pangolin.public-resources.test-frontend.maintenance.title="We'll be back soon!" - pangolin.public-resources.test-frontend.maintenance.message="We are currently performing scheduled maintenance. Please check back soon." - pangolin.public-resources.test-frontend.maintenance.estimated-time="2 hours" - pangolin.public-resources.test-frontend.rules[0].action=allow - pangolin.public-resources.test-frontend.rules[0].match=ip - pangolin.public-resources.test-frontend.rules[0].value=1.2.3.4 - pangolin.public-resources.test-frontend.rules[1].action=deny - pangolin.public-resources.test-frontend.rules[1].match=cidr - pangolin.public-resources.test-frontend.rules[1].value=0.0.0.0/0 ``` Newt contaienr definition: ``` newt: image: fosrl/newt restart: unless-stopped environment: - PANGOLIN_ENDPOINT=https://pangolin.instance.tld - NEWT_ID=${ID} - NEWT_SECRET=${SECRET} networks: - frontend volumes: - /var/run/docker.sock:/var/run/docker.sock ``` For the Pangolin instance I get the following output ``` pangolin-1 | 2026-04-08T08:38:12+00:00 [info]: Establishing websocket connection pangolin-1 | 2026-04-08T08:38:12+00:00 [info]: Client added to tracking - NEWT ID: XXX, Connection ID: XXX, Total connections: 1, Config version: 0 pangolin-1 | 2026-04-08T08:38:12+00:00 [info]: WebSocket connection fully established and ready - NEWT ID: XXX pangolin-1 | 2026-04-08T08:38:12+00:00 [info]: Handling ping request newt message! pangolin-1 | 2026-04-08T08:38:12+00:00 [info]: Sticking with previously connected node: Exit Node XXX (0 ms), latency diff = 0.0ms / NaN%. pangolin-1 | 2026-04-08T08:38:12+00:00 [info]: Public key mismatch. Deleting old peer... pangolin-1 | 2026-04-08T08:38:12+00:00 [info]: Deleting peer with public key XXX from exit node 1 gerbil-1 | INFO: 2026/04/08 08:38:12 Clearing connections for removed peer with WG IP: 10.0.0.20 gerbil-1 | INFO: 2026/04/08 08:38:12 Cleared 0 connections for WG IP: 10.0.0.20 gerbil-1 | INFO: 2026/04/08 08:38:12 Peer XXX removed successfully pangolin-1 | 2026-04-08T08:38:12+00:00 [info]: Adding peer with public key XXX to exit node 1 gerbil-1 | INFO: 2026/04/08 08:38:12 Clearing connections for added peer with WG IP: 10.0.0.20 gerbil-1 | INFO: 2026/04/08 08:38:12 Cleared 0 connections for WG IP: 10.0.0.20 gerbil-1 | INFO: 2026/04/08 08:38:12 Peer XXX added successfully ``` And in the web frontend, none of the options I gave with the labels is set. The funny thing is that I remember that all was working fine at the beginning of the year and I haven't changed anything in my setup 🤔 ### Environment - OS Type & Version: (e.g., Ubuntu 22.04) - - Debian and Ubuntu - Pangolin Version: - - 1.17.0 - Gerbil Version: - - 1.3.1 - Traefik Version: - - latest container version - Newt Version: - 1.11.0 ### To Reproduce Setting up a test application with the docker labels set. Nothing happens in my pangolin site ### Expected Behavior The given options should be set in the Pangolin instance (which was working fine a few weeks ago)
Author
Owner

@oschwartz10612 commented on GitHub (Apr 9, 2026):

I think you need to enable the docker socket first.

https://docs.pangolin.net/manage/blueprints#enabling-docker-socket-access

<!-- gh-comment-id:4210944285 --> @oschwartz10612 commented on GitHub (Apr 9, 2026): I think you need to enable the docker socket first. https://docs.pangolin.net/manage/blueprints#enabling-docker-socket-access
Author
Owner

@daddeldash commented on GitHub (Apr 9, 2026):

I've already set a bind mount to the docker socket. And even the variable `DOCKER_SOCKET didn't change anything

<!-- gh-comment-id:4213367376 --> @daddeldash commented on GitHub (Apr 9, 2026): I've already set a bind mount to the docker socket. And even the variable `DOCKER_SOCKET didn't change anything
Author
Owner

@LaurenceJJones commented on GitHub (Apr 9, 2026):

Can you set the Newt containter into debug mode and give us the output? typically it should print an error but maybe something happening?

just add environment

LOG_LEVEL=DEBUG

edit: cause I was testing blueprints yesterday and didnt have any issues.

<!-- gh-comment-id:4213393123 --> @LaurenceJJones commented on GitHub (Apr 9, 2026): Can you set the Newt containter into debug mode and give us the output? typically it should print an error but maybe something happening? just add environment ``` LOG_LEVEL=DEBUG ``` _edit_: cause I was testing blueprints yesterday and didnt have any issues.
Author
Owner

@daddeldash commented on GitHub (Apr 9, 2026):

It tells me somewhere in the log, that it is failing with Resource already exists. But this is new to me 🤔

Anyway...here is the debug output

newt  | INFO: 2026/04/09 10:24:30 Newt version 1.11.0
newt  | DEBUG: 2026/04/09 10:24:30 Starting metrics server on 127.0.0.1:2112
newt  | DEBUG: 2026/04/09 10:24:31 Config already provided, skipping loading from file
newt  | INFO: 2026/04/09 10:24:31 Config file does not exist at /root/.config/newt-client/config.json, will create it
newt  | DEBUG: 2026/04/09 10:24:31 Endpoint: https://pangolin.instance.tld
newt  | DEBUG: 2026/04/09 10:24:31 Log Level: DEBUG
newt  | DEBUG: 2026/04/09 10:24:31 Docker Network Validation Enabled: false
newt  | DEBUG: 2026/04/09 10:24:31 Health Check Certificate Enforcement: false
newt  | DEBUG: 2026/04/09 10:24:31 Dns: 9.9.9.9
newt  | DEBUG: 2026/04/09 10:24:31 Docker Socket: /var/run/docker.sock
newt  | DEBUG: 2026/04/09 10:24:31 MTU: 1280
newt  | DEBUG: 2026/04/09 10:24:31 Setting up clients with netstack2...
newt  | DEBUG: 2026/04/09 10:24:31 Created shared UDP socket on port 55876 (refcount: 2)
newt  | DEBUG: 2026/04/09 10:24:31 Creating new health check monitor with certificate enforcement: false
newt  | DEBUG: 2026/04/09 10:24:31 Initializing Docker event monitoring
newt  | DEBUG: 2026/04/09 10:24:31 Starting Docker event monitoring
newt  | DEBUG: 2026/04/09 10:24:31 Docker event monitoring started successfully
newt  | DEBUG: 2026/04/09 10:24:31 Token response body: {"data":{"token":"XXXXXXXXXXX","serverVersion":"1.17.0"},"success":true,"error":false,"message":"Token created successfully","status":200}
newt  | INFO: 2026/04/09 10:24:31 Server version: 1.17.0
newt  | DEBUG: 2026/04/09 10:24:31 Received token: XXXXXXXXXXX
newt  | INFO: 2026/04/09 10:24:31 Saving config to: /root/.config/newt-client/config.json
newt  | DEBUG: 2026/04/09 10:24:31 Public key: XXXXXXXXXXX
newt  | INFO: 2026/04/09 10:24:31 Websocket connected
newt  | DEBUG: 2026/04/09 10:24:31 Requesting exit nodes from server
newt  | DEBUG: 2026/04/09 10:24:31 Requesting WireGuard configuration from remote server
newt  | DEBUG: 2026/04/09 10:24:31 Sending message: newt/wg/register, data: map[backwardsCompatible:true chainId:XXXXXXXXXXX newtVersion:1.11.0 publicKey:XXXXXXXXXXX]
newt  | DEBUG: 2026/04/09 10:24:31 Sending message: newt/wg/get-config, data: map[chainId:XXXXXXXXXXX port:55876 publicKey:XXXXXXXXXXX]
newt  | DEBUG: 2026/04/09 10:24:31 Sending message: newt/ping/request, data: map[chainId:XXXXXXXXXXX noCloud:false]
newt  | DEBUG: 2026/04/09 10:24:31 Received ping message
newt  | DEBUG: 2026/04/09 10:24:31 Only one exit node available, using it directly: pangolin.instance.tld
newt  | DEBUG: 2026/04/09 10:24:31 Sending message: newt/wg/register, data: map[chainId:XXXXXXXXXXX newtVersion:1.11.0 pingResults:[{ExitNodeID:1 LatencyMs:0 Weight:1 Error: Name:Exit Node 0Z8SWFfG Endpoint:pangolin.instance.tld WasPreviouslyConnected:true}] publicKey:XXXXXXXXXXX]
newt  | DEBUG: 2026/04/09 10:24:31 Received Docker container fetch request
newt  | DEBUG: 2026/04/09 10:24:31 Sending message: newt/socket/containers, data: map[containers:[{ID:XXXXXXXXXXX Name:web-1 Image:web:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:api:service_started:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:web com.docker.compose.version:5.1.1 pangolin.public-resources.project.auth.sso-enabled:true pangolin.public-resources.project.enabled:true pangolin.public-resources.project.full-domain:project.com pangolin.public-resources.project.name:project_platform pangolin.public-resources.project.protocol:http pangolin.public-resources.project.rules[0].action:allow pangolin.public-resources.project.rules[0].match:ip pangolin.public-resources.project.rules[0].value:1.2.3.4 pangolin.public-resources.project.rules[1].action:allow pangolin.public-resources.project.rules[1].match:ip pangolin.public-resources.project.rules[1].value:1.2.3.4 pangolin.public-resources.project.rules[2].action:deny pangolin.public-resources.project.rules[2].match:cidr pangolin.public-resources.project.rules[2].value:0.0.0.0/0 pangolin.public-resources.project.rules[3].action:deny pangolin.public-resources.project.rules[3].match:cidr pangolin.public-resources.project.rules[3].value:1.2.3.0/24 pangolin.public-resources.project.targets[0].healthcheck.hostname:web pangolin.public-resources.project.targets[0].healthcheck.path:/ pangolin.public-resources.project.targets[0].healthcheck.port:3000 pangolin.public-resources.project.targets[0].hostname:web pangolin.public-resources.project.targets[0].method:http pangolin.public-resources.project.targets[0].port:3000] Created:1775730270 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]} project_frontend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:f46deed445b0} {ID:XXXXXXXXXXX Name:project-api-1 Image:api:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:db:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:api com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-worker-1 Image:api:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:worker com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-beat-1 Image:api:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:868f2053b757a4360666a63279e8a3db76dfb1ac5278439d675d6ab56469f0a9 com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:beat com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:ee2f04d5fae7 Name:project-db-1 Image:postgres:17-alpine State:running Status:Up Less than a second (health: starting) Ports:[{PrivatePort:5432 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:10c6133822ad967c5b42a8cd8ee3a058b0fc65ec6517dfd581dcba544121846d com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:6f30057d31f5861b66f3545d4821f987aacf1dd920765f0acadea0c58ff975b1 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:db com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:59db7cd84198f4fdda9731b073b2a46b68d372da1fce28844771f644a3eb170f Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:4e:d2:db:ed:14:5f Aliases:[] DNSNames:[]}] Hostname:ee2f04d5fae7} {ID:e53b87f3892f Name:project-redis-1 Image:redis:7-alpine State:running Status:Up Less than a second (health: starting) Ports:[{PrivatePort:6379 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:e7df2adcb7e5b21bffe6497633da67741b47520bf7fc0bca255f27402cd75377 com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:8b81dd37ff027bec4e516d41acfbe9fe2460070dc6d4a4570a2ac5b9d59df065 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:redis com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:b6680c27a155a7a44693c813b368430ef161f3051b77203c947064b9b881568d Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:6e:46:2c:9b:b5:24 Aliases:[] DNSNames:[]}] Hostname:e53b87f3892f}]]
newt  | DEBUG: 2026/04/09 10:24:31 Docker container list sent, count: 6
newt  | DEBUG: 2026/04/09 10:24:31 Received registration message
newt  | DEBUG: 2026/04/09 10:24:31 Received registration message data: map[chainId:ba2719ba6c0cf4fa endpoint:pangolin.instance.tld:51821 healthCheckTargets:[map[hcEnabled:false hcHeaders:map[] hcHostname:web hcInterval:5 hcMethod:GET hcMode:http hcPath:/ hcPort:3000 hcScheme:http hcStatus:<nil> hcTimeout:5 hcTlsServerName: hcUnhealthyInterval:30 id:140]] publicKey:0Z8SWFfG1pRJ7QjsYjsbKXh1VVRMxw3odku9Lfbo4k4= relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[56452:web:3000] udp:[]] tunnelIP:10.0.0.20]
newt  | DEBUG: 2026/04/09 10:24:31 Received: {Type:newt/wg/connect Data:map[chainId:ba2719ba6c0cf4fa endpoint:pangolin.instance.tld:51821 healthCheckTargets:[map[hcEnabled:false hcHeaders:map[] hcHostname:web hcInterval:5 hcMethod:GET hcMode:http hcPath:/ hcPort:3000 hcScheme:http hcStatus:<nil> hcTimeout:5 hcTlsServerName: hcUnhealthyInterval:30 id:140]] publicKey:0Z8SWFfG1pRJ7QjsYjsbKXh1VVRMxw3odku9Lfbo4k4= relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[56452:web:3000] udp:[]] tunnelIP:10.0.0.20] ConfigVersion:0}
newt  | INFO: 2026/04/09 10:24:31 Connecting to endpoint: pangolin.instance.tld
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: handshake worker 1 - started
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: encryption worker 1 - started
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: decryption worker 1 - started
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: handshake worker 2 - started
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: encryption worker 2 - started
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: decryption worker 2 - started
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: event worker - started
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Interface up requested
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 UDP bind has been updated
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Interface state was Down, requested Up, now Up
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: receive incoming v6 - started
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: TUN reader - started
newt  | DEBUG: 2026/04/09 10:24:31 Starting UDP hole punch to 1 exit nodes with shared bind
newt  | DEBUG: 2026/04/09 10:24:31 Starting hole punch to 1.2.3.4 with public key: 0Z8SWFfG1pRJ7QjsYjsbKXh1VVRMxw3odku9Lfbo4k4=
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 UAPI: Updating private key
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - UAPI: Created
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - UAPI: Adding allowedip
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - UAPI: Updating endpoint
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - UAPI: Updating persistent keepalive interval
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Starting
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Sending handshake initiation
newt  | DEBUG: 2026/04/09 10:24:31 WireGuard device created. Lets ping the server now...
newt  | DEBUG: 2026/04/09 10:24:31 Testing initial connection with reliable ping...
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Routine: sequential receiver - started
newt  | DEBUG: 2026/04/09 10:24:31 Resolved exit node: 1.2.3.4 -> 1.2.3.4:21820
newt  | DEBUG: 2026/04/09 10:24:31 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXXX","nonce":"XXXXXXXXXXX","ciphertext":"XXXXXXXXXXX"}
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Routine: sequential sender - started
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: receive incoming v4 - started
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Received handshake response
newt  | DEBUG: 2026/04/09 10:24:31 Initial connection test successful
newt  | DEBUG: 2026/04/09 10:24:31 Ping attempt 1
newt  | DEBUG: 2026/04/09 10:24:31 Ping latency: 17.461611ms
newt  | INFO: 2026/04/09 10:24:31 Tunnel connection to server established successfully!
newt  | DEBUG: 2026/04/09 10:24:31 Starting ping check
newt  | DEBUG: 2026/04/09 10:24:31 Not adding target because not running
newt  | DEBUG: 2026/04/09 10:24:31 Started direct UDP relay on 10.0.0.20:55876 (bidirectional via SharedBind)
newt  | DEBUG: 2026/04/09 10:24:31 Adding 1 health check targets in bulk
newt  | DEBUG: 2026/04/09 10:24:31 Target 140 configuration: scheme=http, method=GET, interval=5s, timeout=5s
newt  | DEBUG: 2026/04/09 10:24:31 Target 140 added but monitoring is disabled
newt  | DEBUG: 2026/04/09 10:24:31 Successfully added target: ID=140, hostname=web
newt  | DEBUG: 2026/04/09 10:24:31 Successfully added all 1 health check targets
newt  | DEBUG: 2026/04/09 10:24:31 Successfully added 1 health check targets
newt  | INFO: 2026/04/09 10:24:31 Started tcp proxy to web:3000
newt  | DEBUG: 2026/04/09 10:24:31 Started tcp proxy from 10.0.0.20:56452 to web:3000
newt  | DEBUG: 2026/04/09 10:24:31 Direct UDP relay started (bidirectional through SharedBind)
newt  | DEBUG: 2026/04/09 10:24:32 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"jZSPTAzILkZZQtO+alHSHafaC2OpmR7EVzlAy/PsvBE=","nonce":"9g58gUBaT+Lmh3mT","ciphertext":"CfQ33JwhYoWVfaSdxWjPY2moxz+G3PwL4toIh99nv0Xw1XYtunaemy73LVYWRpOHnOvCCv1INHpuLU7/oLZwuQbTjTj8ZmTgcCuYlDS0F4nfYU8ZH2dDh8pkljni4YXQyr0wl9d/oY1WvcUYFtFFdZ5p6mcGFtOUMUhd8pWQjsP4dz1mJ6dVjJZxqd/fPChRNWY="}
newt  | DEBUG: 2026/04/09 10:24:32 Increased hole punch interval to 2s
newt  | DEBUG: 2026/04/09 10:24:33 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=]
newt  | DEBUG: 2026/04/09 10:24:34 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"Je06ioEypO45RnR64UXVrPQ2X9cE418lPEvBKoXySGs=","nonce":"mWEi/geDCgxWq4uN","ciphertext":"O3BLr9uBRTVpJyxfPQyMSsns+D277PoAuy6g6bHK5Yqh13eZD+h9/wI8hPHEU1IxxkZe4gwUKsvLaA04HFjYV0RMKgl3G9l4LmSQkpZdcIJ+XmBiVx8UWR9QsNySZeuMnGC1ypKyRb3Fp55vRCUwoK1FExJh0Gpy/seJ8F2mz8wpQF15Ew+BC5J8BE6VyFHldgE="}
newt  | DEBUG: 2026/04/09 10:24:34 Increased hole punch interval to 4s
newt  | DEBUG: 2026/04/09 10:24:35 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=]
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:36 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: 2026/04/09 10:24:36 Docker event received: start container for container XXXXXXXXXXX
newt  | DEBUG: 2026/04/09 10:24:37 Docker event received: start container for container XXXXXXXXXXX
newt  | DEBUG: 2026/04/09 10:24:37 Docker event received: start container for container XXXXXXXXXXX
newt  | DEBUG: 2026/04/09 10:24:37 Triggering callback with 6 containers after Docker event start
newt  | DEBUG: 2026/04/09 10:24:37 Docker event detected, sending updated container list (6 containers)
newt  | DEBUG: 2026/04/09 10:24:37 Sending message: newt/socket/containers, data: map[containers:[{ID:f46deed445b0 Name:project-web-1 Image:web:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:api:service_started:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:web com.docker.compose.version:5.1.1 pangolin.public-resources.project.auth.sso-enabled:true pangolin.public-resources.project.enabled:true pangolin.public-resources.project.full-domain:project.com pangolin.public-resources.project.name:project_platform pangolin.public-resources.project.protocol:http pangolin.public-resources.project.rules[0].action:allow pangolin.public-resources.project.rules[0].match:ip pangolin.public-resources.project.rules[0].value:1.2.3.4 pangolin.public-resources.project.rules[1].action:allow pangolin.public-resources.project.rules[1].match:ip pangolin.public-resources.project.rules[1].value:1.2.3.4 pangolin.public-resources.project.rules[2].action:deny pangolin.public-resources.project.rules[2].match:cidr pangolin.public-resources.project.rules[2].value:0.0.0.0/0 pangolin.public-resources.project.rules[3].action:deny pangolin.public-resources.project.rules[3].match:cidr pangolin.public-resources.project.rules[3].value:1.2.3.0/24 pangolin.public-resources.project.targets[0].healthcheck.hostname:web pangolin.public-resources.project.targets[0].healthcheck.path:/ pangolin.public-resources.project.targets[0].healthcheck.port:3000 pangolin.public-resources.project.targets[0].hostname:web pangolin.public-resources.project.targets[0].method:http pangolin.public-resources.project.targets[0].port:3000] Created:1775730270 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]} project_frontend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:f46deed445b0} {ID:XXXXXXXXXXX Name:project-api-1 Image:api:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:db:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:api com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-worker-1 Image:api:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:worker com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-beat-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:868f2053b757a4360666a63279e8a3db76dfb1ac5278439d675d6ab56469f0a9 com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:beat com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:f9bd02062eefe6c4fb41b226f903407974e5653fcba239c07ac4cf2eb4bebb45 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:42:af:94:0d:a3:3f Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:ee2f04d5fae7 Name:project-db-1 Image:postgres:17-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:5432 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:10c6133822ad967c5b42a8cd8ee3a058b0fc65ec6517dfd581dcba544121846d com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:6f30057d31f5861b66f3545d4821f987aacf1dd920765f0acadea0c58ff975b1 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:db com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:59db7cd84198f4fdda9731b073b2a46b68d372da1fce28844771f644a3eb170f Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:4e:d2:db:ed:14:5f Aliases:[] DNSNames:[]}] Hostname:ee2f04d5fae7} {ID:e53b87f3892f Name:project-redis-1 Image:redis:7-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:6379 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:e7df2adcb7e5b21bffe6497633da67741b47520bf7fc0bca255f27402cd75377 com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:8b81dd37ff027bec4e516d41acfbe9fe2460070dc6d4a4570a2ac5b9d59df065 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:redis com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:b6680c27a155a7a44693c813b368430ef161f3051b77203c947064b9b881568d Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:6e:46:2c:9b:b5:24 Aliases:[] DNSNames:[]}] Hostname:e53b87f3892f}]]
newt  | DEBUG: 2026/04/09 10:24:37 Updated container list sent successfully
newt  | DEBUG: 2026/04/09 10:24:37 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=]
newt  | DEBUG: 2026/04/09 10:24:37 Docker event received: start container for container f46deed445b0
newt  | DEBUG: 2026/04/09 10:24:37 Triggering callback with 6 containers after Docker event start
newt  | DEBUG: 2026/04/09 10:24:37 Docker event detected, sending updated container list (6 containers)
newt  | DEBUG: 2026/04/09 10:24:37 Sending message: newt/socket/containers, data: map[containers:[{ID:f46deed445b0 Name:project-web-1 Image:web:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:api:service_started:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:web com.docker.compose.version:5.1.1 pangolin.public-resources.project.auth.sso-enabled:true pangolin.public-resources.project.enabled:true pangolin.public-resources.project.full-domain:project.com pangolin.public-resources.project.name:project_platform pangolin.public-resources.project.protocol:http pangolin.public-resources.project.rules[0].action:allow pangolin.public-resources.project.rules[0].match:ip pangolin.public-resources.project.rules[0].value:1.2.3.4 pangolin.public-resources.project.rules[1].action:allow pangolin.public-resources.project.rules[1].match:ip pangolin.public-resources.project.rules[1].value:1.2.3.4 pangolin.public-resources.project.rules[2].action:deny pangolin.public-resources.project.rules[2].match:cidr pangolin.public-resources.project.rules[2].value:0.0.0.0/0 pangolin.public-resources.project.rules[3].action:deny pangolin.public-resources.project.rules[3].match:cidr pangolin.public-resources.project.rules[3].value:1.2.3.0/24 pangolin.public-resources.project.targets[0].healthcheck.hostname:web pangolin.public-resources.project.targets[0].healthcheck.path:/ pangolin.public-resources.project.targets[0].healthcheck.port:3000 pangolin.public-resources.project.targets[0].hostname:web pangolin.public-resources.project.targets[0].method:http pangolin.public-resources.project.targets[0].port:3000] Created:1775730270 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]} project_frontend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:f46deed445b0} {ID:XXXXXXXXXXX Name:project-api-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:db:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:api com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:7a17c16ad0ede673788b480af0b2e5cc4c3f8dc114d2a8f49babcf957b2d99d5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:b2:c1:3a:b9:9f:91 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-worker-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:worker com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:767904cd6fdc1e13b491252050f1c8abebb1701faf92c422a4db25cfa98e62e5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:16:5b:f6:60:69:c9 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-beat-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:868f2053b757a4360666a63279e8a3db76dfb1ac5278439d675d6ab56469f0a9 com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:beat com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:f9bd02062eefe6c4fb41b226f903407974e5653fcba239c07ac4cf2eb4bebb45 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:42:af:94:0d:a3:3f Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:ee2f04d5fae7 Name:project-db-1 Image:postgres:17-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:5432 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:10c6133822ad967c5b42a8cd8ee3a058b0fc65ec6517dfd581dcba544121846d com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:6f30057d31f5861b66f3545d4821f987aacf1dd920765f0acadea0c58ff975b1 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:db com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:59db7cd84198f4fdda9731b073b2a46b68d372da1fce28844771f644a3eb170f Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:4e:d2:db:ed:14:5f Aliases:[] DNSNames:[]}] Hostname:ee2f04d5fae7} {ID:e53b87f3892f Name:project-redis-1 Image:redis:7-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:6379 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:e7df2adcb7e5b21bffe6497633da67741b47520bf7fc0bca255f27402cd75377 com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:8b81dd37ff027bec4e516d41acfbe9fe2460070dc6d4a4570a2ac5b9d59df065 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:redis com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:b6680c27a155a7a44693c813b368430ef161f3051b77203c947064b9b881568d Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:6e:46:2c:9b:b5:24 Aliases:[] DNSNames:[]}] Hostname:e53b87f3892f}]]
newt  | DEBUG: 2026/04/09 10:24:37 Updated container list sent successfully
newt  | DEBUG: 2026/04/09 10:24:37 Triggering callback with 6 containers after Docker event start
newt  | DEBUG: 2026/04/09 10:24:37 Docker event detected, sending updated container list (6 containers)
newt  | DEBUG: 2026/04/09 10:24:37 Sending message: newt/socket/containers, data: map[containers:[{ID:f46deed445b0 Name:project-web-1 Image:web:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:api:service_started:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:web com.docker.compose.version:5.1.1 pangolin.public-resources.project.auth.sso-enabled:true pangolin.public-resources.project.enabled:true pangolin.public-resources.project.full-domain:project.com pangolin.public-resources.project.name:project_platform pangolin.public-resources.project.protocol:http pangolin.public-resources.project.rules[0].action:allow pangolin.public-resources.project.rules[0].match:ip pangolin.public-resources.project.rules[0].value:1.2.3.4 pangolin.public-resources.project.rules[1].action:allow pangolin.public-resources.project.rules[1].match:ip pangolin.public-resources.project.rules[1].value:1.2.3.4 pangolin.public-resources.project.rules[2].action:deny pangolin.public-resources.project.rules[2].match:cidr pangolin.public-resources.project.rules[2].value:0.0.0.0/0 pangolin.public-resources.project.rules[3].action:deny pangolin.public-resources.project.rules[3].match:cidr pangolin.public-resources.project.rules[3].value:1.2.3.0/24 pangolin.public-resources.project.targets[0].healthcheck.hostname:web pangolin.public-resources.project.targets[0].healthcheck.path:/ pangolin.public-resources.project.targets[0].healthcheck.port:3000 pangolin.public-resources.project.targets[0].hostname:web pangolin.public-resources.project.targets[0].method:http pangolin.public-resources.project.targets[0].port:3000] Created:1775730270 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]} project_frontend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:f46deed445b0} {ID:XXXXXXXXXXX Name:project-api-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:db:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:api com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:7a17c16ad0ede673788b480af0b2e5cc4c3f8dc114d2a8f49babcf957b2d99d5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:b2:c1:3a:b9:9f:91 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-worker-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:worker com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:767904cd6fdc1e13b491252050f1c8abebb1701faf92c422a4db25cfa98e62e5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:16:5b:f6:60:69:c9 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-beat-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:868f2053b757a4360666a63279e8a3db76dfb1ac5278439d675d6ab56469f0a9 com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:beat com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:f9bd02062eefe6c4fb41b226f903407974e5653fcba239c07ac4cf2eb4bebb45 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:42:af:94:0d:a3:3f Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:ee2f04d5fae7 Name:project-db-1 Image:postgres:17-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:5432 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:10c6133822ad967c5b42a8cd8ee3a058b0fc65ec6517dfd581dcba544121846d com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:6f30057d31f5861b66f3545d4821f987aacf1dd920765f0acadea0c58ff975b1 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:db com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:59db7cd84198f4fdda9731b073b2a46b68d372da1fce28844771f644a3eb170f Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:4e:d2:db:ed:14:5f Aliases:[] DNSNames:[]}] Hostname:ee2f04d5fae7} {ID:e53b87f3892f Name:project-redis-1 Image:redis:7-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:6379 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:e7df2adcb7e5b21bffe6497633da67741b47520bf7fc0bca255f27402cd75377 com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:8b81dd37ff027bec4e516d41acfbe9fe2460070dc6d4a4570a2ac5b9d59df065 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:redis com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:b6680c27a155a7a44693c813b368430ef161f3051b77203c947064b9b881568d Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:6e:46:2c:9b:b5:24 Aliases:[] DNSNames:[]}] Hostname:e53b87f3892f}]]
newt  | DEBUG: 2026/04/09 10:24:37 Updated container list sent successfully
newt  | DEBUG: 2026/04/09 10:24:38 Triggering callback with 6 containers after Docker event start
newt  | DEBUG: 2026/04/09 10:24:38 Docker event detected, sending updated container list (6 containers)
newt  | DEBUG: 2026/04/09 10:24:38 Sending message: newt/socket/containers, data: map[containers:[{ID:f46deed445b0 Name:project-web-1 Image:web:latest State:running Status:Up Less than a second Ports:[{PrivatePort:3000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:api:service_started:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:web com.docker.compose.version:5.1.1 pangolin.public-resources.project.auth.sso-enabled:true pangolin.public-resources.project.enabled:true pangolin.public-resources.project.full-domain:project.com pangolin.public-resources.project.name:project_platform pangolin.public-resources.project.protocol:http pangolin.public-resources.project.rules[0].action:allow pangolin.public-resources.project.rules[0].match:ip pangolin.public-resources.project.rules[0].value:1.2.3.4 pangolin.public-resources.project.rules[1].action:allow pangolin.public-resources.project.rules[1].match:ip pangolin.public-resources.project.rules[1].value:1.2.3.4 pangolin.public-resources.project.rules[2].action:deny pangolin.public-resources.project.rules[2].match:cidr pangolin.public-resources.project.rules[2].value:0.0.0.0/0 pangolin.public-resources.project.rules[3].action:deny pangolin.public-resources.project.rules[3].match:cidr pangolin.public-resources.project.rules[3].value:1.2.3.0/24 pangolin.public-resources.project.targets[0].healthcheck.hostname:web pangolin.public-resources.project.targets[0].healthcheck.path:/ pangolin.public-resources.project.targets[0].healthcheck.port:3000 pangolin.public-resources.project.targets[0].hostname:web pangolin.public-resources.project.targets[0].method:http pangolin.public-resources.project.targets[0].port:3000] Created:1775730270 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:cf94438a03004c1a8da2f5b8cf4c7570c0947392ff3022d818bd7d3b71d78f57 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:46:8f:99:df:3c:6a Aliases:[] DNSNames:[]} project_frontend:{NetworkID:797caa01fd15491d124576bcd504ba9086038744e26400a60a0735f783edc455 EndpointID:1263c9b21025e9e0a721dda8514329e1969830ee6fb62b6f65730a7a670051c9 Gateway:172.19.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:0a:92:a8:e7:99:f3 Aliases:[] DNSNames:[]}] Hostname:f46deed445b0} {ID:XXXXXXXXXXX Name:project-api-1 Image:api:latest State:running Status:Up 1 second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:db:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:api com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:7a17c16ad0ede673788b480af0b2e5cc4c3f8dc114d2a8f49babcf957b2d99d5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:b2:c1:3a:b9:9f:91 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-worker-1 Image:api:latest State:running Status:Up 1 second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:worker com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:767904cd6fdc1e13b491252050f1c8abebb1701faf92c422a4db25cfa98e62e5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:16:5b:f6:60:69:c9 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-beat-1 Image:api:latest State:running Status:Up 1 second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:868f2053b757a4360666a63279e8a3db76dfb1ac5278439d675d6ab56469f0a9 com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:beat com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:f9bd02062eefe6c4fb41b226f903407974e5653fcba239c07ac4cf2eb4bebb45 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:42:af:94:0d:a3:3f Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:ee2f04d5fae7 Name:project-db-1 Image:postgres:17-alpine State:running Status:Up 7 seconds (healthy) Ports:[{PrivatePort:5432 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:10c6133822ad967c5b42a8cd8ee3a058b0fc65ec6517dfd581dcba544121846d com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:6f30057d31f5861b66f3545d4821f987aacf1dd920765f0acadea0c58ff975b1 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:db com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:59db7cd84198f4fdda9731b073b2a46b68d372da1fce28844771f644a3eb170f Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:4e:d2:db:ed:14:5f Aliases:[] DNSNames:[]}] Hostname:ee2f04d5fae7} {ID:e53b87f3892f Name:project-redis-1 Image:redis:7-alpine State:running Status:Up 7 seconds (healthy) Ports:[{PrivatePort:6379 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:e7df2adcb7e5b21bffe6497633da67741b47520bf7fc0bca255f27402cd75377 com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:8b81dd37ff027bec4e516d41acfbe9fe2460070dc6d4a4570a2ac5b9d59df065 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:redis com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:b6680c27a155a7a44693c813b368430ef161f3051b77203c947064b9b881568d Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:6e:46:2c:9b:b5:24 Aliases:[] DNSNames:[]}] Hostname:e53b87f3892f}]]
newt  | DEBUG: 2026/04/09 10:24:38 Updated container list sent successfully
newt  | DEBUG: 2026/04/09 10:24:38 Received blueprint results message
newt  | WARN: 2026/04/09 10:24:38 Blueprint application failed: Failed to apply blueprint from config: Error: Resource already exists: project.com in org Orga
newt  | DEBUG: 2026/04/09 10:24:38 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"z7PsxbOox1P9KeW+hAK1JzryOi+Jj/Fdz/pacy3LEDs=","nonce":"VmNj+SAm0GvzOu+6","ciphertext":"rxjhY7OJg0DHrgcBwPozCdgjbVJ7bZqzD6pU/BYJyQYIo3YGB3rt/5JrV4Kar9HNB9Bt3jxOTgGCD8JdP/BS4hGBEL5pd2OKiKR2wgXdRpLF4+6rvy7nKKsn+TSg4DtDMVuYdoiesUr+vjDxthBfVqWJQktFJuBG2IWZ7wHMJVxgA6GN3FPuRfv3V1+xHBkp1ik="}
newt  | DEBUG: 2026/04/09 10:24:38 Increased hole punch interval to 8s
newt  | DEBUG: 2026/04/09 10:24:39 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=]
newt  | DEBUG: 2026/04/09 10:24:41 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=]
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:41 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: 2026/04/09 10:24:43 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=]
newt  | DEBUG: 2026/04/09 10:24:45 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=]
newt  | DEBUG: 2026/04/09 10:24:46 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"nJ/B9nNUKa5nHPXx9puDdj7K6XDwzMEwMi91MYUyiwY=","nonce":"a5Nr6xbkGI96pvNJ","ciphertext":"m34+WrraNp7F9r8UR6ItKqWlJ6RzFI/PZIC880upDQMfUbit8gNI60I27txP3zZ6xpmdBV8I8A4Z85M8cFET9ZUfzH/fcCKTzaaAuDjdVPP0SU/dxU5x+1DtiktD5bQX9eQvzhf0BDCWF//1yIuhPOS1gdQNJwrHXtoK5UmbCTKV+nSoiK0h7efIaJD8bU2pgnk="}
newt  | DEBUG: 2026/04/09 10:24:46 Increased hole punch interval to 16s
newt  | DEBUG: 2026/04/09 10:24:47 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=]
newt  | DEBUG: 2026/04/09 10:24:49 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=]
newt  | INFO: 2026/04/09 10:24:51 SendMessageInterval timed out after 10 attempts for message type: newt/wg/get-config
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:51 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:24:56 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | ERROR: 2026/04/09 10:24:59 Error connecting to target: dial tcp 172.19.0.3:3000: connect: connection refused
newt  | ERROR: 2026/04/09 10:25:00 Error connecting to target: dial tcp 172.19.0.3:3000: connect: connection refused
newt  | DEBUG: 2026/04/09 10:25:02 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"leG5F8xRlyzmuxWN1EkxOXfrIpsjNCoKfUSZ37bY/mk=","nonce":"wT+kBZcW4DzrErDa","ciphertext":"QrQlbKLttV0GrZyB97R79mYkPYQ4BOJdrQ7lPwkHOuIVYrD6lAFe+N42ksHpQ/jL6ZjdHn7vQd0JJHsxP0/cmtwEhm2K9+zDtqv3Gsp+mMC6+jcc+gsvMnRp6dtz7lOIM6eW81I+VoAqLf1ak1ml1Y0NQd7ikbhvmjbNGOzA/K9VB+6frEjruByVg/+DaVLTtrU="}
newt  | DEBUG: 2026/04/09 10:25:02 Increased hole punch interval to 32s
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:25:06 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:25:11 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:25:21 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:25:26 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: 2026/04/09 10:25:34 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"aHdTKnrDfBjfB1uZ3JXnkBTGLHaT2Wm8WPTkq44L2Q4=","nonce":"qWo8E1pJbPdX5AwE","ciphertext":"lrSLNaee7VqtLGnAG7osv3ooVsLc5ejBdjvZQrMCRlHY/cQ/lK7onXi7X/ZnGWfrhvwG+Y/bmSWvJInaRCCV+idrDXL08mZjwnWmXMbiEAlO33KjXYWggkNOM6U0j3eMsJB8ty8Sbvs+W134r+w9tUvfhtET5xbYqcNRh+gVKZuHUstYNNRB/NSYmQGBjlyulT4="}
newt  | DEBUG: 2026/04/09 10:25:34 Increased hole punch interval to 1m0s
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:25:36 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:25:41 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:25:51 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:25:56 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:26:06 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:26:11 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:26:21 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:26:26 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:26:31 peer(0Z8S…o4k4) - Sending handshake initiation
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:26:31 peer(0Z8S…o4k4) - Received handshake response
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:26:31 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: 2026/04/09 10:26:34 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"+wAAPB2P81a8TW5mdJVOazV2WaP+nyWVwUfagu85qGo=","nonce":"xSRLMFkxQbsKftdH","ciphertext":"xABERkaLwW8rzEAL6sgNfuDjFsQJCoQTz453b8eI+QPzOh1csWpAjgVx+obIPO1/C9kopmY+xD6pqt09lpXlFMJADDyWcRfwTJArYCiQmNMoAGPvfMdq5MIClhmB6uErSqZ2TFZyjuIgSGUMOn+vy1M7joZiuEwDyxpWK02mFyfP8LKMQhuEf/N0Tu2ULjChiJs="}
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:26:36 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:26:41 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:26:51 peer(0Z8S…o4k4) - Sending keepalive packet
newt  | DEBUG: gerbil-wireguard: 2026/04/09 10:26:56 peer(0Z8S…o4k4) - Sending keepalive packet
<!-- gh-comment-id:4214081458 --> @daddeldash commented on GitHub (Apr 9, 2026): It tells me somewhere in the log, that it is failing with `Resource already exists`. But this is new to me 🤔 Anyway...here is the debug output ``` newt | INFO: 2026/04/09 10:24:30 Newt version 1.11.0 newt | DEBUG: 2026/04/09 10:24:30 Starting metrics server on 127.0.0.1:2112 newt | DEBUG: 2026/04/09 10:24:31 Config already provided, skipping loading from file newt | INFO: 2026/04/09 10:24:31 Config file does not exist at /root/.config/newt-client/config.json, will create it newt | DEBUG: 2026/04/09 10:24:31 Endpoint: https://pangolin.instance.tld newt | DEBUG: 2026/04/09 10:24:31 Log Level: DEBUG newt | DEBUG: 2026/04/09 10:24:31 Docker Network Validation Enabled: false newt | DEBUG: 2026/04/09 10:24:31 Health Check Certificate Enforcement: false newt | DEBUG: 2026/04/09 10:24:31 Dns: 9.9.9.9 newt | DEBUG: 2026/04/09 10:24:31 Docker Socket: /var/run/docker.sock newt | DEBUG: 2026/04/09 10:24:31 MTU: 1280 newt | DEBUG: 2026/04/09 10:24:31 Setting up clients with netstack2... newt | DEBUG: 2026/04/09 10:24:31 Created shared UDP socket on port 55876 (refcount: 2) newt | DEBUG: 2026/04/09 10:24:31 Creating new health check monitor with certificate enforcement: false newt | DEBUG: 2026/04/09 10:24:31 Initializing Docker event monitoring newt | DEBUG: 2026/04/09 10:24:31 Starting Docker event monitoring newt | DEBUG: 2026/04/09 10:24:31 Docker event monitoring started successfully newt | DEBUG: 2026/04/09 10:24:31 Token response body: {"data":{"token":"XXXXXXXXXXX","serverVersion":"1.17.0"},"success":true,"error":false,"message":"Token created successfully","status":200} newt | INFO: 2026/04/09 10:24:31 Server version: 1.17.0 newt | DEBUG: 2026/04/09 10:24:31 Received token: XXXXXXXXXXX newt | INFO: 2026/04/09 10:24:31 Saving config to: /root/.config/newt-client/config.json newt | DEBUG: 2026/04/09 10:24:31 Public key: XXXXXXXXXXX newt | INFO: 2026/04/09 10:24:31 Websocket connected newt | DEBUG: 2026/04/09 10:24:31 Requesting exit nodes from server newt | DEBUG: 2026/04/09 10:24:31 Requesting WireGuard configuration from remote server newt | DEBUG: 2026/04/09 10:24:31 Sending message: newt/wg/register, data: map[backwardsCompatible:true chainId:XXXXXXXXXXX newtVersion:1.11.0 publicKey:XXXXXXXXXXX] newt | DEBUG: 2026/04/09 10:24:31 Sending message: newt/wg/get-config, data: map[chainId:XXXXXXXXXXX port:55876 publicKey:XXXXXXXXXXX] newt | DEBUG: 2026/04/09 10:24:31 Sending message: newt/ping/request, data: map[chainId:XXXXXXXXXXX noCloud:false] newt | DEBUG: 2026/04/09 10:24:31 Received ping message newt | DEBUG: 2026/04/09 10:24:31 Only one exit node available, using it directly: pangolin.instance.tld newt | DEBUG: 2026/04/09 10:24:31 Sending message: newt/wg/register, data: map[chainId:XXXXXXXXXXX newtVersion:1.11.0 pingResults:[{ExitNodeID:1 LatencyMs:0 Weight:1 Error: Name:Exit Node 0Z8SWFfG Endpoint:pangolin.instance.tld WasPreviouslyConnected:true}] publicKey:XXXXXXXXXXX] newt | DEBUG: 2026/04/09 10:24:31 Received Docker container fetch request newt | DEBUG: 2026/04/09 10:24:31 Sending message: newt/socket/containers, data: map[containers:[{ID:XXXXXXXXXXX Name:web-1 Image:web:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:api:service_started:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:web com.docker.compose.version:5.1.1 pangolin.public-resources.project.auth.sso-enabled:true pangolin.public-resources.project.enabled:true pangolin.public-resources.project.full-domain:project.com pangolin.public-resources.project.name:project_platform pangolin.public-resources.project.protocol:http pangolin.public-resources.project.rules[0].action:allow pangolin.public-resources.project.rules[0].match:ip pangolin.public-resources.project.rules[0].value:1.2.3.4 pangolin.public-resources.project.rules[1].action:allow pangolin.public-resources.project.rules[1].match:ip pangolin.public-resources.project.rules[1].value:1.2.3.4 pangolin.public-resources.project.rules[2].action:deny pangolin.public-resources.project.rules[2].match:cidr pangolin.public-resources.project.rules[2].value:0.0.0.0/0 pangolin.public-resources.project.rules[3].action:deny pangolin.public-resources.project.rules[3].match:cidr pangolin.public-resources.project.rules[3].value:1.2.3.0/24 pangolin.public-resources.project.targets[0].healthcheck.hostname:web pangolin.public-resources.project.targets[0].healthcheck.path:/ pangolin.public-resources.project.targets[0].healthcheck.port:3000 pangolin.public-resources.project.targets[0].hostname:web pangolin.public-resources.project.targets[0].method:http pangolin.public-resources.project.targets[0].port:3000] Created:1775730270 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]} project_frontend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:f46deed445b0} {ID:XXXXXXXXXXX Name:project-api-1 Image:api:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:db:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:api com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-worker-1 Image:api:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:worker com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-beat-1 Image:api:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:868f2053b757a4360666a63279e8a3db76dfb1ac5278439d675d6ab56469f0a9 com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:beat com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:ee2f04d5fae7 Name:project-db-1 Image:postgres:17-alpine State:running Status:Up Less than a second (health: starting) Ports:[{PrivatePort:5432 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:10c6133822ad967c5b42a8cd8ee3a058b0fc65ec6517dfd581dcba544121846d com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:6f30057d31f5861b66f3545d4821f987aacf1dd920765f0acadea0c58ff975b1 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:db com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:59db7cd84198f4fdda9731b073b2a46b68d372da1fce28844771f644a3eb170f Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:4e:d2:db:ed:14:5f Aliases:[] DNSNames:[]}] Hostname:ee2f04d5fae7} {ID:e53b87f3892f Name:project-redis-1 Image:redis:7-alpine State:running Status:Up Less than a second (health: starting) Ports:[{PrivatePort:6379 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:e7df2adcb7e5b21bffe6497633da67741b47520bf7fc0bca255f27402cd75377 com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:8b81dd37ff027bec4e516d41acfbe9fe2460070dc6d4a4570a2ac5b9d59df065 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:redis com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:b6680c27a155a7a44693c813b368430ef161f3051b77203c947064b9b881568d Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:6e:46:2c:9b:b5:24 Aliases:[] DNSNames:[]}] Hostname:e53b87f3892f}]] newt | DEBUG: 2026/04/09 10:24:31 Docker container list sent, count: 6 newt | DEBUG: 2026/04/09 10:24:31 Received registration message newt | DEBUG: 2026/04/09 10:24:31 Received registration message data: map[chainId:ba2719ba6c0cf4fa endpoint:pangolin.instance.tld:51821 healthCheckTargets:[map[hcEnabled:false hcHeaders:map[] hcHostname:web hcInterval:5 hcMethod:GET hcMode:http hcPath:/ hcPort:3000 hcScheme:http hcStatus:<nil> hcTimeout:5 hcTlsServerName: hcUnhealthyInterval:30 id:140]] publicKey:0Z8SWFfG1pRJ7QjsYjsbKXh1VVRMxw3odku9Lfbo4k4= relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[56452:web:3000] udp:[]] tunnelIP:10.0.0.20] newt | DEBUG: 2026/04/09 10:24:31 Received: {Type:newt/wg/connect Data:map[chainId:ba2719ba6c0cf4fa endpoint:pangolin.instance.tld:51821 healthCheckTargets:[map[hcEnabled:false hcHeaders:map[] hcHostname:web hcInterval:5 hcMethod:GET hcMode:http hcPath:/ hcPort:3000 hcScheme:http hcStatus:<nil> hcTimeout:5 hcTlsServerName: hcUnhealthyInterval:30 id:140]] publicKey:0Z8SWFfG1pRJ7QjsYjsbKXh1VVRMxw3odku9Lfbo4k4= relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[56452:web:3000] udp:[]] tunnelIP:10.0.0.20] ConfigVersion:0} newt | INFO: 2026/04/09 10:24:31 Connecting to endpoint: pangolin.instance.tld newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: handshake worker 1 - started newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: encryption worker 1 - started newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: decryption worker 1 - started newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: handshake worker 2 - started newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: encryption worker 2 - started newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: decryption worker 2 - started newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: event worker - started newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Interface up requested newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 UDP bind has been updated newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Interface state was Down, requested Up, now Up newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: receive incoming v6 - started newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: TUN reader - started newt | DEBUG: 2026/04/09 10:24:31 Starting UDP hole punch to 1 exit nodes with shared bind newt | DEBUG: 2026/04/09 10:24:31 Starting hole punch to 1.2.3.4 with public key: 0Z8SWFfG1pRJ7QjsYjsbKXh1VVRMxw3odku9Lfbo4k4= newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 UAPI: Updating private key newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - UAPI: Created newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - UAPI: Adding allowedip newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - UAPI: Updating endpoint newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - UAPI: Updating persistent keepalive interval newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Starting newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Sending handshake initiation newt | DEBUG: 2026/04/09 10:24:31 WireGuard device created. Lets ping the server now... newt | DEBUG: 2026/04/09 10:24:31 Testing initial connection with reliable ping... newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Routine: sequential receiver - started newt | DEBUG: 2026/04/09 10:24:31 Resolved exit node: 1.2.3.4 -> 1.2.3.4:21820 newt | DEBUG: 2026/04/09 10:24:31 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXXX","nonce":"XXXXXXXXXXX","ciphertext":"XXXXXXXXXXX"} newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Routine: sequential sender - started newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 Routine: receive incoming v4 - started newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:31 peer(0Z8S…o4k4) - Received handshake response newt | DEBUG: 2026/04/09 10:24:31 Initial connection test successful newt | DEBUG: 2026/04/09 10:24:31 Ping attempt 1 newt | DEBUG: 2026/04/09 10:24:31 Ping latency: 17.461611ms newt | INFO: 2026/04/09 10:24:31 Tunnel connection to server established successfully! newt | DEBUG: 2026/04/09 10:24:31 Starting ping check newt | DEBUG: 2026/04/09 10:24:31 Not adding target because not running newt | DEBUG: 2026/04/09 10:24:31 Started direct UDP relay on 10.0.0.20:55876 (bidirectional via SharedBind) newt | DEBUG: 2026/04/09 10:24:31 Adding 1 health check targets in bulk newt | DEBUG: 2026/04/09 10:24:31 Target 140 configuration: scheme=http, method=GET, interval=5s, timeout=5s newt | DEBUG: 2026/04/09 10:24:31 Target 140 added but monitoring is disabled newt | DEBUG: 2026/04/09 10:24:31 Successfully added target: ID=140, hostname=web newt | DEBUG: 2026/04/09 10:24:31 Successfully added all 1 health check targets newt | DEBUG: 2026/04/09 10:24:31 Successfully added 1 health check targets newt | INFO: 2026/04/09 10:24:31 Started tcp proxy to web:3000 newt | DEBUG: 2026/04/09 10:24:31 Started tcp proxy from 10.0.0.20:56452 to web:3000 newt | DEBUG: 2026/04/09 10:24:31 Direct UDP relay started (bidirectional through SharedBind) newt | DEBUG: 2026/04/09 10:24:32 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"jZSPTAzILkZZQtO+alHSHafaC2OpmR7EVzlAy/PsvBE=","nonce":"9g58gUBaT+Lmh3mT","ciphertext":"CfQ33JwhYoWVfaSdxWjPY2moxz+G3PwL4toIh99nv0Xw1XYtunaemy73LVYWRpOHnOvCCv1INHpuLU7/oLZwuQbTjTj8ZmTgcCuYlDS0F4nfYU8ZH2dDh8pkljni4YXQyr0wl9d/oY1WvcUYFtFFdZ5p6mcGFtOUMUhd8pWQjsP4dz1mJ6dVjJZxqd/fPChRNWY="} newt | DEBUG: 2026/04/09 10:24:32 Increased hole punch interval to 2s newt | DEBUG: 2026/04/09 10:24:33 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=] newt | DEBUG: 2026/04/09 10:24:34 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"Je06ioEypO45RnR64UXVrPQ2X9cE418lPEvBKoXySGs=","nonce":"mWEi/geDCgxWq4uN","ciphertext":"O3BLr9uBRTVpJyxfPQyMSsns+D277PoAuy6g6bHK5Yqh13eZD+h9/wI8hPHEU1IxxkZe4gwUKsvLaA04HFjYV0RMKgl3G9l4LmSQkpZdcIJ+XmBiVx8UWR9QsNySZeuMnGC1ypKyRb3Fp55vRCUwoK1FExJh0Gpy/seJ8F2mz8wpQF15Ew+BC5J8BE6VyFHldgE="} newt | DEBUG: 2026/04/09 10:24:34 Increased hole punch interval to 4s newt | DEBUG: 2026/04/09 10:24:35 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=] newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:36 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: 2026/04/09 10:24:36 Docker event received: start container for container XXXXXXXXXXX newt | DEBUG: 2026/04/09 10:24:37 Docker event received: start container for container XXXXXXXXXXX newt | DEBUG: 2026/04/09 10:24:37 Docker event received: start container for container XXXXXXXXXXX newt | DEBUG: 2026/04/09 10:24:37 Triggering callback with 6 containers after Docker event start newt | DEBUG: 2026/04/09 10:24:37 Docker event detected, sending updated container list (6 containers) newt | DEBUG: 2026/04/09 10:24:37 Sending message: newt/socket/containers, data: map[containers:[{ID:f46deed445b0 Name:project-web-1 Image:web:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:api:service_started:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:web com.docker.compose.version:5.1.1 pangolin.public-resources.project.auth.sso-enabled:true pangolin.public-resources.project.enabled:true pangolin.public-resources.project.full-domain:project.com pangolin.public-resources.project.name:project_platform pangolin.public-resources.project.protocol:http pangolin.public-resources.project.rules[0].action:allow pangolin.public-resources.project.rules[0].match:ip pangolin.public-resources.project.rules[0].value:1.2.3.4 pangolin.public-resources.project.rules[1].action:allow pangolin.public-resources.project.rules[1].match:ip pangolin.public-resources.project.rules[1].value:1.2.3.4 pangolin.public-resources.project.rules[2].action:deny pangolin.public-resources.project.rules[2].match:cidr pangolin.public-resources.project.rules[2].value:0.0.0.0/0 pangolin.public-resources.project.rules[3].action:deny pangolin.public-resources.project.rules[3].match:cidr pangolin.public-resources.project.rules[3].value:1.2.3.0/24 pangolin.public-resources.project.targets[0].healthcheck.hostname:web pangolin.public-resources.project.targets[0].healthcheck.path:/ pangolin.public-resources.project.targets[0].healthcheck.port:3000 pangolin.public-resources.project.targets[0].hostname:web pangolin.public-resources.project.targets[0].method:http pangolin.public-resources.project.targets[0].port:3000] Created:1775730270 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]} project_frontend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:f46deed445b0} {ID:XXXXXXXXXXX Name:project-api-1 Image:api:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:db:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:api com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-worker-1 Image:api:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:worker com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-beat-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:868f2053b757a4360666a63279e8a3db76dfb1ac5278439d675d6ab56469f0a9 com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:beat com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:f9bd02062eefe6c4fb41b226f903407974e5653fcba239c07ac4cf2eb4bebb45 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:42:af:94:0d:a3:3f Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:ee2f04d5fae7 Name:project-db-1 Image:postgres:17-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:5432 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:10c6133822ad967c5b42a8cd8ee3a058b0fc65ec6517dfd581dcba544121846d com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:6f30057d31f5861b66f3545d4821f987aacf1dd920765f0acadea0c58ff975b1 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:db com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:59db7cd84198f4fdda9731b073b2a46b68d372da1fce28844771f644a3eb170f Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:4e:d2:db:ed:14:5f Aliases:[] DNSNames:[]}] Hostname:ee2f04d5fae7} {ID:e53b87f3892f Name:project-redis-1 Image:redis:7-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:6379 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:e7df2adcb7e5b21bffe6497633da67741b47520bf7fc0bca255f27402cd75377 com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:8b81dd37ff027bec4e516d41acfbe9fe2460070dc6d4a4570a2ac5b9d59df065 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:redis com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:b6680c27a155a7a44693c813b368430ef161f3051b77203c947064b9b881568d Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:6e:46:2c:9b:b5:24 Aliases:[] DNSNames:[]}] Hostname:e53b87f3892f}]] newt | DEBUG: 2026/04/09 10:24:37 Updated container list sent successfully newt | DEBUG: 2026/04/09 10:24:37 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=] newt | DEBUG: 2026/04/09 10:24:37 Docker event received: start container for container f46deed445b0 newt | DEBUG: 2026/04/09 10:24:37 Triggering callback with 6 containers after Docker event start newt | DEBUG: 2026/04/09 10:24:37 Docker event detected, sending updated container list (6 containers) newt | DEBUG: 2026/04/09 10:24:37 Sending message: newt/socket/containers, data: map[containers:[{ID:f46deed445b0 Name:project-web-1 Image:web:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:api:service_started:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:web com.docker.compose.version:5.1.1 pangolin.public-resources.project.auth.sso-enabled:true pangolin.public-resources.project.enabled:true pangolin.public-resources.project.full-domain:project.com pangolin.public-resources.project.name:project_platform pangolin.public-resources.project.protocol:http pangolin.public-resources.project.rules[0].action:allow pangolin.public-resources.project.rules[0].match:ip pangolin.public-resources.project.rules[0].value:1.2.3.4 pangolin.public-resources.project.rules[1].action:allow pangolin.public-resources.project.rules[1].match:ip pangolin.public-resources.project.rules[1].value:1.2.3.4 pangolin.public-resources.project.rules[2].action:deny pangolin.public-resources.project.rules[2].match:cidr pangolin.public-resources.project.rules[2].value:0.0.0.0/0 pangolin.public-resources.project.rules[3].action:deny pangolin.public-resources.project.rules[3].match:cidr pangolin.public-resources.project.rules[3].value:1.2.3.0/24 pangolin.public-resources.project.targets[0].healthcheck.hostname:web pangolin.public-resources.project.targets[0].healthcheck.path:/ pangolin.public-resources.project.targets[0].healthcheck.port:3000 pangolin.public-resources.project.targets[0].hostname:web pangolin.public-resources.project.targets[0].method:http pangolin.public-resources.project.targets[0].port:3000] Created:1775730270 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]} project_frontend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:f46deed445b0} {ID:XXXXXXXXXXX Name:project-api-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:db:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:api com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:7a17c16ad0ede673788b480af0b2e5cc4c3f8dc114d2a8f49babcf957b2d99d5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:b2:c1:3a:b9:9f:91 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-worker-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:worker com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:767904cd6fdc1e13b491252050f1c8abebb1701faf92c422a4db25cfa98e62e5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:16:5b:f6:60:69:c9 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-beat-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:868f2053b757a4360666a63279e8a3db76dfb1ac5278439d675d6ab56469f0a9 com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:beat com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:f9bd02062eefe6c4fb41b226f903407974e5653fcba239c07ac4cf2eb4bebb45 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:42:af:94:0d:a3:3f Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:ee2f04d5fae7 Name:project-db-1 Image:postgres:17-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:5432 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:10c6133822ad967c5b42a8cd8ee3a058b0fc65ec6517dfd581dcba544121846d com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:6f30057d31f5861b66f3545d4821f987aacf1dd920765f0acadea0c58ff975b1 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:db com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:59db7cd84198f4fdda9731b073b2a46b68d372da1fce28844771f644a3eb170f Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:4e:d2:db:ed:14:5f Aliases:[] DNSNames:[]}] Hostname:ee2f04d5fae7} {ID:e53b87f3892f Name:project-redis-1 Image:redis:7-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:6379 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:e7df2adcb7e5b21bffe6497633da67741b47520bf7fc0bca255f27402cd75377 com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:8b81dd37ff027bec4e516d41acfbe9fe2460070dc6d4a4570a2ac5b9d59df065 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:redis com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:b6680c27a155a7a44693c813b368430ef161f3051b77203c947064b9b881568d Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:6e:46:2c:9b:b5:24 Aliases:[] DNSNames:[]}] Hostname:e53b87f3892f}]] newt | DEBUG: 2026/04/09 10:24:37 Updated container list sent successfully newt | DEBUG: 2026/04/09 10:24:37 Triggering callback with 6 containers after Docker event start newt | DEBUG: 2026/04/09 10:24:37 Docker event detected, sending updated container list (6 containers) newt | DEBUG: 2026/04/09 10:24:37 Sending message: newt/socket/containers, data: map[containers:[{ID:f46deed445b0 Name:project-web-1 Image:web:latest State:created Status:Created Ports:[] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:api:service_started:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:web com.docker.compose.version:5.1.1 pangolin.public-resources.project.auth.sso-enabled:true pangolin.public-resources.project.enabled:true pangolin.public-resources.project.full-domain:project.com pangolin.public-resources.project.name:project_platform pangolin.public-resources.project.protocol:http pangolin.public-resources.project.rules[0].action:allow pangolin.public-resources.project.rules[0].match:ip pangolin.public-resources.project.rules[0].value:1.2.3.4 pangolin.public-resources.project.rules[1].action:allow pangolin.public-resources.project.rules[1].match:ip pangolin.public-resources.project.rules[1].value:1.2.3.4 pangolin.public-resources.project.rules[2].action:deny pangolin.public-resources.project.rules[2].match:cidr pangolin.public-resources.project.rules[2].value:0.0.0.0/0 pangolin.public-resources.project.rules[3].action:deny pangolin.public-resources.project.rules[3].match:cidr pangolin.public-resources.project.rules[3].value:1.2.3.0/24 pangolin.public-resources.project.targets[0].healthcheck.hostname:web pangolin.public-resources.project.targets[0].healthcheck.path:/ pangolin.public-resources.project.targets[0].healthcheck.port:3000 pangolin.public-resources.project.targets[0].hostname:web pangolin.public-resources.project.targets[0].method:http pangolin.public-resources.project.targets[0].port:3000] Created:1775730270 Networks:map[project_backend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]} project_frontend:{NetworkID: EndpointID: Gateway: IPAddress: IPPrefixLen:0 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress: Aliases:[] DNSNames:[]}] Hostname:f46deed445b0} {ID:XXXXXXXXXXX Name:project-api-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:db:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:api com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:7a17c16ad0ede673788b480af0b2e5cc4c3f8dc114d2a8f49babcf957b2d99d5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:b2:c1:3a:b9:9f:91 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-worker-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:worker com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:767904cd6fdc1e13b491252050f1c8abebb1701faf92c422a4db25cfa98e62e5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:16:5b:f6:60:69:c9 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-beat-1 Image:api:latest State:running Status:Up Less than a second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:868f2053b757a4360666a63279e8a3db76dfb1ac5278439d675d6ab56469f0a9 com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:beat com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:f9bd02062eefe6c4fb41b226f903407974e5653fcba239c07ac4cf2eb4bebb45 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:42:af:94:0d:a3:3f Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:ee2f04d5fae7 Name:project-db-1 Image:postgres:17-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:5432 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:10c6133822ad967c5b42a8cd8ee3a058b0fc65ec6517dfd581dcba544121846d com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:6f30057d31f5861b66f3545d4821f987aacf1dd920765f0acadea0c58ff975b1 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:db com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:59db7cd84198f4fdda9731b073b2a46b68d372da1fce28844771f644a3eb170f Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:4e:d2:db:ed:14:5f Aliases:[] DNSNames:[]}] Hostname:ee2f04d5fae7} {ID:e53b87f3892f Name:project-redis-1 Image:redis:7-alpine State:running Status:Up 6 seconds (healthy) Ports:[{PrivatePort:6379 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:e7df2adcb7e5b21bffe6497633da67741b47520bf7fc0bca255f27402cd75377 com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:8b81dd37ff027bec4e516d41acfbe9fe2460070dc6d4a4570a2ac5b9d59df065 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:redis com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:b6680c27a155a7a44693c813b368430ef161f3051b77203c947064b9b881568d Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:6e:46:2c:9b:b5:24 Aliases:[] DNSNames:[]}] Hostname:e53b87f3892f}]] newt | DEBUG: 2026/04/09 10:24:37 Updated container list sent successfully newt | DEBUG: 2026/04/09 10:24:38 Triggering callback with 6 containers after Docker event start newt | DEBUG: 2026/04/09 10:24:38 Docker event detected, sending updated container list (6 containers) newt | DEBUG: 2026/04/09 10:24:38 Sending message: newt/socket/containers, data: map[containers:[{ID:f46deed445b0 Name:project-web-1 Image:web:latest State:running Status:Up Less than a second Ports:[{PrivatePort:3000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:api:service_started:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:web com.docker.compose.version:5.1.1 pangolin.public-resources.project.auth.sso-enabled:true pangolin.public-resources.project.enabled:true pangolin.public-resources.project.full-domain:project.com pangolin.public-resources.project.name:project_platform pangolin.public-resources.project.protocol:http pangolin.public-resources.project.rules[0].action:allow pangolin.public-resources.project.rules[0].match:ip pangolin.public-resources.project.rules[0].value:1.2.3.4 pangolin.public-resources.project.rules[1].action:allow pangolin.public-resources.project.rules[1].match:ip pangolin.public-resources.project.rules[1].value:1.2.3.4 pangolin.public-resources.project.rules[2].action:deny pangolin.public-resources.project.rules[2].match:cidr pangolin.public-resources.project.rules[2].value:0.0.0.0/0 pangolin.public-resources.project.rules[3].action:deny pangolin.public-resources.project.rules[3].match:cidr pangolin.public-resources.project.rules[3].value:1.2.3.0/24 pangolin.public-resources.project.targets[0].healthcheck.hostname:web pangolin.public-resources.project.targets[0].healthcheck.path:/ pangolin.public-resources.project.targets[0].healthcheck.port:3000 pangolin.public-resources.project.targets[0].hostname:web pangolin.public-resources.project.targets[0].method:http pangolin.public-resources.project.targets[0].port:3000] Created:1775730270 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:cf94438a03004c1a8da2f5b8cf4c7570c0947392ff3022d818bd7d3b71d78f57 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:46:8f:99:df:3c:6a Aliases:[] DNSNames:[]} project_frontend:{NetworkID:797caa01fd15491d124576bcd504ba9086038744e26400a60a0735f783edc455 EndpointID:1263c9b21025e9e0a721dda8514329e1969830ee6fb62b6f65730a7a670051c9 Gateway:172.19.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:0a:92:a8:e7:99:f3 Aliases:[] DNSNames:[]}] Hostname:f46deed445b0} {ID:XXXXXXXXXXX Name:project-api-1 Image:api:latest State:running Status:Up 1 second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:db:service_healthy:false,redis:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:api com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:7a17c16ad0ede673788b480af0b2e5cc4c3f8dc114d2a8f49babcf957b2d99d5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:b2:c1:3a:b9:9f:91 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-worker-1 Image:api:latest State:running Status:Up 1 second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:XXXXXXXXXXX com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:worker com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:767904cd6fdc1e13b491252050f1c8abebb1701faf92c422a4db25cfa98e62e5 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:16:5b:f6:60:69:c9 Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:XXXXXXXXXXX Name:project-beat-1 Image:api:latest State:running Status:Up 1 second Ports:[{PrivatePort:8000 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:868f2053b757a4360666a63279e8a3db76dfb1ac5278439d675d6ab56469f0a9 com.docker.compose.container-number:1 com.docker.compose.depends_on:redis:service_healthy:false,db:service_healthy:false com.docker.compose.image:sha256:XXXXXXXXXXX com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:beat com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:f9bd02062eefe6c4fb41b226f903407974e5653fcba239c07ac4cf2eb4bebb45 Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:42:af:94:0d:a3:3f Aliases:[] DNSNames:[]}] Hostname:XXXXXXXXXXX} {ID:ee2f04d5fae7 Name:project-db-1 Image:postgres:17-alpine State:running Status:Up 7 seconds (healthy) Ports:[{PrivatePort:5432 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:10c6133822ad967c5b42a8cd8ee3a058b0fc65ec6517dfd581dcba544121846d com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:6f30057d31f5861b66f3545d4821f987aacf1dd920765f0acadea0c58ff975b1 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:db com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:59db7cd84198f4fdda9731b073b2a46b68d372da1fce28844771f644a3eb170f Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:4e:d2:db:ed:14:5f Aliases:[] DNSNames:[]}] Hostname:ee2f04d5fae7} {ID:e53b87f3892f Name:project-redis-1 Image:redis:7-alpine State:running Status:Up 7 seconds (healthy) Ports:[{PrivatePort:6379 PublicPort:0 Type:tcp IP:}] Labels:map[com.docker.compose.config-hash:e7df2adcb7e5b21bffe6497633da67741b47520bf7fc0bca255f27402cd75377 com.docker.compose.container-number:1 com.docker.compose.depends_on: com.docker.compose.image:sha256:8b81dd37ff027bec4e516d41acfbe9fe2460070dc6d4a4570a2ac5b9d59df065 com.docker.compose.oneoff:False com.docker.compose.project:project com.docker.compose.project.config_files:/docker/project/docker-compose.yml com.docker.compose.project.working_dir:/docker/project com.docker.compose.service:redis com.docker.compose.version:5.1.1] Created:1775730269 Networks:map[project_backend:{NetworkID:6da51051e1f2ef52b164dddec83c150b44293b4e75d5f1248461e4ee30c57df8 EndpointID:b6680c27a155a7a44693c813b368430ef161f3051b77203c947064b9b881568d Gateway:172.18.0.1 IPAddress: IPPrefixLen:16 IPv6Gateway: GlobalIPv6Address: GlobalIPv6PrefixLen:0 MacAddress:6e:46:2c:9b:b5:24 Aliases:[] DNSNames:[]}] Hostname:e53b87f3892f}]] newt | DEBUG: 2026/04/09 10:24:38 Updated container list sent successfully newt | DEBUG: 2026/04/09 10:24:38 Received blueprint results message newt | WARN: 2026/04/09 10:24:38 Blueprint application failed: Failed to apply blueprint from config: Error: Resource already exists: project.com in org Orga newt | DEBUG: 2026/04/09 10:24:38 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"z7PsxbOox1P9KeW+hAK1JzryOi+Jj/Fdz/pacy3LEDs=","nonce":"VmNj+SAm0GvzOu+6","ciphertext":"rxjhY7OJg0DHrgcBwPozCdgjbVJ7bZqzD6pU/BYJyQYIo3YGB3rt/5JrV4Kar9HNB9Bt3jxOTgGCD8JdP/BS4hGBEL5pd2OKiKR2wgXdRpLF4+6rvy7nKKsn+TSg4DtDMVuYdoiesUr+vjDxthBfVqWJQktFJuBG2IWZ7wHMJVxgA6GN3FPuRfv3V1+xHBkp1ik="} newt | DEBUG: 2026/04/09 10:24:38 Increased hole punch interval to 8s newt | DEBUG: 2026/04/09 10:24:39 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=] newt | DEBUG: 2026/04/09 10:24:41 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=] newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:41 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: 2026/04/09 10:24:43 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=] newt | DEBUG: 2026/04/09 10:24:45 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=] newt | DEBUG: 2026/04/09 10:24:46 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"nJ/B9nNUKa5nHPXx9puDdj7K6XDwzMEwMi91MYUyiwY=","nonce":"a5Nr6xbkGI96pvNJ","ciphertext":"m34+WrraNp7F9r8UR6ItKqWlJ6RzFI/PZIC880upDQMfUbit8gNI60I27txP3zZ6xpmdBV8I8A4Z85M8cFET9ZUfzH/fcCKTzaaAuDjdVPP0SU/dxU5x+1DtiktD5bQX9eQvzhf0BDCWF//1yIuhPOS1gdQNJwrHXtoK5UmbCTKV+nSoiK0h7efIaJD8bU2pgnk="} newt | DEBUG: 2026/04/09 10:24:46 Increased hole punch interval to 16s newt | DEBUG: 2026/04/09 10:24:47 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=] newt | DEBUG: 2026/04/09 10:24:49 Sending message: newt/wg/get-config, data: map[chainId:77bc8830a6e9f0ba port:55876 publicKey:Uv1fcju5ztYsEHwKrLU8qF7xWqMYVv8unEXL0xq72So=] newt | INFO: 2026/04/09 10:24:51 SendMessageInterval timed out after 10 attempts for message type: newt/wg/get-config newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:51 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:24:56 peer(0Z8S…o4k4) - Sending keepalive packet newt | ERROR: 2026/04/09 10:24:59 Error connecting to target: dial tcp 172.19.0.3:3000: connect: connection refused newt | ERROR: 2026/04/09 10:25:00 Error connecting to target: dial tcp 172.19.0.3:3000: connect: connection refused newt | DEBUG: 2026/04/09 10:25:02 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"leG5F8xRlyzmuxWN1EkxOXfrIpsjNCoKfUSZ37bY/mk=","nonce":"wT+kBZcW4DzrErDa","ciphertext":"QrQlbKLttV0GrZyB97R79mYkPYQ4BOJdrQ7lPwkHOuIVYrD6lAFe+N42ksHpQ/jL6ZjdHn7vQd0JJHsxP0/cmtwEhm2K9+zDtqv3Gsp+mMC6+jcc+gsvMnRp6dtz7lOIM6eW81I+VoAqLf1ak1ml1Y0NQd7ikbhvmjbNGOzA/K9VB+6frEjruByVg/+DaVLTtrU="} newt | DEBUG: 2026/04/09 10:25:02 Increased hole punch interval to 32s newt | DEBUG: gerbil-wireguard: 2026/04/09 10:25:06 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:25:11 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:25:21 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:25:26 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: 2026/04/09 10:25:34 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"aHdTKnrDfBjfB1uZ3JXnkBTGLHaT2Wm8WPTkq44L2Q4=","nonce":"qWo8E1pJbPdX5AwE","ciphertext":"lrSLNaee7VqtLGnAG7osv3ooVsLc5ejBdjvZQrMCRlHY/cQ/lK7onXi7X/ZnGWfrhvwG+Y/bmSWvJInaRCCV+idrDXL08mZjwnWmXMbiEAlO33KjXYWggkNOM6U0j3eMsJB8ty8Sbvs+W134r+w9tUvfhtET5xbYqcNRh+gVKZuHUstYNNRB/NSYmQGBjlyulT4="} newt | DEBUG: 2026/04/09 10:25:34 Increased hole punch interval to 1m0s newt | DEBUG: gerbil-wireguard: 2026/04/09 10:25:36 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:25:41 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:25:51 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:25:56 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:26:06 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:26:11 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:26:21 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:26:26 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:26:31 peer(0Z8S…o4k4) - Sending handshake initiation newt | DEBUG: gerbil-wireguard: 2026/04/09 10:26:31 peer(0Z8S…o4k4) - Received handshake response newt | DEBUG: gerbil-wireguard: 2026/04/09 10:26:31 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: 2026/04/09 10:26:34 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"+wAAPB2P81a8TW5mdJVOazV2WaP+nyWVwUfagu85qGo=","nonce":"xSRLMFkxQbsKftdH","ciphertext":"xABERkaLwW8rzEAL6sgNfuDjFsQJCoQTz453b8eI+QPzOh1csWpAjgVx+obIPO1/C9kopmY+xD6pqt09lpXlFMJADDyWcRfwTJArYCiQmNMoAGPvfMdq5MIClhmB6uErSqZ2TFZyjuIgSGUMOn+vy1M7joZiuEwDyxpWK02mFyfP8LKMQhuEf/N0Tu2ULjChiJs="} newt | DEBUG: gerbil-wireguard: 2026/04/09 10:26:36 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:26:41 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:26:51 peer(0Z8S…o4k4) - Sending keepalive packet newt | DEBUG: gerbil-wireguard: 2026/04/09 10:26:56 peer(0Z8S…o4k4) - Sending keepalive packet ```
Author
Owner

@daddeldash commented on GitHub (Apr 13, 2026):

Why is this ticket closed? 🤔

<!-- gh-comment-id:4234844473 --> @daddeldash commented on GitHub (Apr 13, 2026): Why is this ticket closed? 🤔
Author
Owner

@LaurenceJJones commented on GitHub (Apr 13, 2026):

Okay so with Resource already exists, did you check the dashboard to see if the resource already exists?

<!-- gh-comment-id:4234924590 --> @LaurenceJJones commented on GitHub (Apr 13, 2026): Okay so with `Resource already exists`, did you check the dashboard to see if the resource already exists?
Author
Owner

@daddeldash commented on GitHub (Apr 13, 2026):

I've removed the resource and restartet the docker containers. This is the logfile

newt-1  | INFO: 2026/04/13 08:56:25 Newt version 1.11.0
newt-1  | DEBUG: 2026/04/13 08:56:25 Starting metrics server on 127.0.0.1:2112
newt-1  | DEBUG: 2026/04/13 08:56:26 Config already provided, skipping loading from file
newt-1  | INFO: 2026/04/13 08:56:26 Config file does not exist at /root/.config/newt-client/config.json, will create it
newt-1  | DEBUG: 2026/04/13 08:56:26 Endpoint: https://pangolin.instance.tld
newt-1  | DEBUG: 2026/04/13 08:56:26 Log Level: DEBUG
newt-1  | DEBUG: 2026/04/13 08:56:26 Docker Network Validation Enabled: false
newt-1  | DEBUG: 2026/04/13 08:56:26 Health Check Certificate Enforcement: false
newt-1  | DEBUG: 2026/04/13 08:56:26 Dns: 9.9.9.9
newt-1  | DEBUG: 2026/04/13 08:56:26 MTU: 1280
newt-1  | DEBUG: 2026/04/13 08:56:26 Setting up clients with netstack2...
newt-1  | DEBUG: 2026/04/13 08:56:26 Created shared UDP socket on port 52096 (refcount: 2)
newt-1  | DEBUG: 2026/04/13 08:56:26 Creating new health check monitor with certificate enforcement: false
newt-1  | DEBUG: 2026/04/13 08:56:26 Token response body: {"data":{"token":"XXXXXXXXXX","serverVersion":"1.17.0"},"success":true,"error":false,"message":"Token created successfully","status":200}
newt-1  | INFO: 2026/04/13 08:56:26 Server version: 1.17.0
newt-1  | DEBUG: 2026/04/13 08:56:26 Received token: XXXXXXXXXX
newt-1  | INFO: 2026/04/13 08:56:26 Saving config to: /root/.config/newt-client/config.json
newt-1  | DEBUG: 2026/04/13 08:56:26 Public key: XXXXXXXXXX
newt-1  | INFO: 2026/04/13 08:56:26 Websocket connected
newt-1  | DEBUG: 2026/04/13 08:56:26 Requesting exit nodes from server
newt-1  | DEBUG: 2026/04/13 08:56:26 Requesting WireGuard configuration from remote server
newt-1  | DEBUG: 2026/04/13 08:56:26 Sending message: newt/wg/register, data: map[backwardsCompatible:true chainId:19056d1966ececf5 newtVersion:1.11.0 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 08:56:26 Sending message: newt/wg/get-config, data: map[chainId:e6be35399112c01f port:52096 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 08:56:26 Sending message: newt/ping/request, data: map[chainId:cd666a1aad0e75f7 noCloud:false]
newt-1  | DEBUG: 2026/04/13 08:56:26 Received ping message
newt-1  | DEBUG: 2026/04/13 08:56:26 Only one exit node available, using it directly: pangolin.instance.tld
newt-1  | DEBUG: 2026/04/13 08:56:26 Sending message: newt/wg/register, data: map[chainId:28a26b5ed307c956 newtVersion:1.11.0 pingResults:[{ExitNodeID:1 LatencyMs:0 Weight:1 Error: Name:Exit Node 0Z8SWFfG Endpoint:pangolin.instance.tld WasPreviouslyConnected:true}] publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 08:56:26 Received Docker container fetch request
newt-1  | DEBUG: 2026/04/13 08:56:26 Docker socket path is not set
newt-1  | DEBUG: 2026/04/13 08:56:26 Received registration message
newt-1  | DEBUG: 2026/04/13 08:56:26 Received registration message data: map[chainId:28a26b5ed307c956 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[41958:frontend:80] udp:[]] tunnelIP:10.0.0.60]
newt-1  | DEBUG: 2026/04/13 08:56:26 Received: {Type:newt/wg/connect Data:map[chainId:28a26b5ed307c956 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[41958:frontend:80] udp:[]] tunnelIP:10.0.0.60] ConfigVersion:2}
newt-1  | INFO: 2026/04/13 08:56:26 Connecting to endpoint: pangolin.instance.tld
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: encryption worker 1 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: event worker - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Interface up requested
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 UDP bind has been updated
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Interface state was Down, requested Up, now Up
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: receive incoming v6 - started
newt-1  | DEBUG: 2026/04/13 08:56:26 Starting UDP hole punch to 1 exit nodes with shared bind
newt-1  | DEBUG: 2026/04/13 08:56:26 Starting hole punch to 1.2.3.4 with public key: XXXXXXXXXX
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 UAPI: Updating private key
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - UAPI: Created
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - UAPI: Adding allowedip
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - UAPI: Updating endpoint
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - UAPI: Updating persistent keepalive interval
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: decryption worker 2 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: handshake worker 2 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: TUN reader - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: decryption worker 1 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: handshake worker 1 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: encryption worker 2 - started
newt-1  | DEBUG: 2026/04/13 08:56:26 Resolved exit node: 1.2.3.4 -> 1.2.3.4:21820
newt-1  | DEBUG: 2026/04/13 08:56:26 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"XXXXXXXXXX","ciphertext":"XXXXXXXXXX"}
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Starting
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Sending keepalive packet
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Sending handshake initiation
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Routine: sequential receiver - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Routine: sequential sender - started
newt-1  | DEBUG: 2026/04/13 08:56:26 WireGuard device created. Lets ping the server now...
newt-1  | DEBUG: 2026/04/13 08:56:26 Testing initial connection with reliable ping...
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: receive incoming v4 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Received handshake response
newt-1  | DEBUG: 2026/04/13 08:56:26 Initial connection test successful
newt-1  | DEBUG: 2026/04/13 08:56:26 Ping attempt 1
newt-1  | DEBUG: 2026/04/13 08:56:26 Ping latency: 17.324257ms
newt-1  | INFO: 2026/04/13 08:56:26 Tunnel connection to server established successfully!
newt-1  | DEBUG: 2026/04/13 08:56:26 Starting ping check
newt-1  | DEBUG: 2026/04/13 08:56:26 Not adding target because not running
newt-1  | DEBUG: 2026/04/13 08:56:26 Started direct UDP relay on 10.0.0.60:52096 (bidirectional via SharedBind)
newt-1  | DEBUG: 2026/04/13 08:56:26 Adding 0 health check targets in bulk
newt-1  | DEBUG: 2026/04/13 08:56:26 Successfully added all 0 health check targets
newt-1  | DEBUG: 2026/04/13 08:56:26 Successfully added 0 health check targets
newt-1  | INFO: 2026/04/13 08:56:26 Started tcp proxy to frontend:80
newt-1  | DEBUG: 2026/04/13 08:56:26 Started tcp proxy from 10.0.0.60:41958 to frontend:80
newt-1  | DEBUG: 2026/04/13 08:56:26 Direct UDP relay started (bidirectional through SharedBind)
newt-1  | DEBUG: 2026/04/13 08:56:27 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"XXXXXXXXXX","ciphertext":"XXXXXXXXXX"}
newt-1  | DEBUG: 2026/04/13 08:56:27 Increased hole punch interval to 2s
<!-- gh-comment-id:4235217527 --> @daddeldash commented on GitHub (Apr 13, 2026): I've removed the resource and restartet the docker containers. This is the logfile ``` newt-1 | INFO: 2026/04/13 08:56:25 Newt version 1.11.0 newt-1 | DEBUG: 2026/04/13 08:56:25 Starting metrics server on 127.0.0.1:2112 newt-1 | DEBUG: 2026/04/13 08:56:26 Config already provided, skipping loading from file newt-1 | INFO: 2026/04/13 08:56:26 Config file does not exist at /root/.config/newt-client/config.json, will create it newt-1 | DEBUG: 2026/04/13 08:56:26 Endpoint: https://pangolin.instance.tld newt-1 | DEBUG: 2026/04/13 08:56:26 Log Level: DEBUG newt-1 | DEBUG: 2026/04/13 08:56:26 Docker Network Validation Enabled: false newt-1 | DEBUG: 2026/04/13 08:56:26 Health Check Certificate Enforcement: false newt-1 | DEBUG: 2026/04/13 08:56:26 Dns: 9.9.9.9 newt-1 | DEBUG: 2026/04/13 08:56:26 MTU: 1280 newt-1 | DEBUG: 2026/04/13 08:56:26 Setting up clients with netstack2... newt-1 | DEBUG: 2026/04/13 08:56:26 Created shared UDP socket on port 52096 (refcount: 2) newt-1 | DEBUG: 2026/04/13 08:56:26 Creating new health check monitor with certificate enforcement: false newt-1 | DEBUG: 2026/04/13 08:56:26 Token response body: {"data":{"token":"XXXXXXXXXX","serverVersion":"1.17.0"},"success":true,"error":false,"message":"Token created successfully","status":200} newt-1 | INFO: 2026/04/13 08:56:26 Server version: 1.17.0 newt-1 | DEBUG: 2026/04/13 08:56:26 Received token: XXXXXXXXXX newt-1 | INFO: 2026/04/13 08:56:26 Saving config to: /root/.config/newt-client/config.json newt-1 | DEBUG: 2026/04/13 08:56:26 Public key: XXXXXXXXXX newt-1 | INFO: 2026/04/13 08:56:26 Websocket connected newt-1 | DEBUG: 2026/04/13 08:56:26 Requesting exit nodes from server newt-1 | DEBUG: 2026/04/13 08:56:26 Requesting WireGuard configuration from remote server newt-1 | DEBUG: 2026/04/13 08:56:26 Sending message: newt/wg/register, data: map[backwardsCompatible:true chainId:19056d1966ececf5 newtVersion:1.11.0 publicKey:XXXXXXXXXX] newt-1 | DEBUG: 2026/04/13 08:56:26 Sending message: newt/wg/get-config, data: map[chainId:e6be35399112c01f port:52096 publicKey:XXXXXXXXXX] newt-1 | DEBUG: 2026/04/13 08:56:26 Sending message: newt/ping/request, data: map[chainId:cd666a1aad0e75f7 noCloud:false] newt-1 | DEBUG: 2026/04/13 08:56:26 Received ping message newt-1 | DEBUG: 2026/04/13 08:56:26 Only one exit node available, using it directly: pangolin.instance.tld newt-1 | DEBUG: 2026/04/13 08:56:26 Sending message: newt/wg/register, data: map[chainId:28a26b5ed307c956 newtVersion:1.11.0 pingResults:[{ExitNodeID:1 LatencyMs:0 Weight:1 Error: Name:Exit Node 0Z8SWFfG Endpoint:pangolin.instance.tld WasPreviouslyConnected:true}] publicKey:XXXXXXXXXX] newt-1 | DEBUG: 2026/04/13 08:56:26 Received Docker container fetch request newt-1 | DEBUG: 2026/04/13 08:56:26 Docker socket path is not set newt-1 | DEBUG: 2026/04/13 08:56:26 Received registration message newt-1 | DEBUG: 2026/04/13 08:56:26 Received registration message data: map[chainId:28a26b5ed307c956 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[41958:frontend:80] udp:[]] tunnelIP:10.0.0.60] newt-1 | DEBUG: 2026/04/13 08:56:26 Received: {Type:newt/wg/connect Data:map[chainId:28a26b5ed307c956 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[41958:frontend:80] udp:[]] tunnelIP:10.0.0.60] ConfigVersion:2} newt-1 | INFO: 2026/04/13 08:56:26 Connecting to endpoint: pangolin.instance.tld newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: encryption worker 1 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: event worker - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Interface up requested newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 UDP bind has been updated newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Interface state was Down, requested Up, now Up newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: receive incoming v6 - started newt-1 | DEBUG: 2026/04/13 08:56:26 Starting UDP hole punch to 1 exit nodes with shared bind newt-1 | DEBUG: 2026/04/13 08:56:26 Starting hole punch to 1.2.3.4 with public key: XXXXXXXXXX newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 UAPI: Updating private key newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - UAPI: Created newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - UAPI: Adding allowedip newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - UAPI: Updating endpoint newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - UAPI: Updating persistent keepalive interval newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: decryption worker 2 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: handshake worker 2 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: TUN reader - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: decryption worker 1 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: handshake worker 1 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: encryption worker 2 - started newt-1 | DEBUG: 2026/04/13 08:56:26 Resolved exit node: 1.2.3.4 -> 1.2.3.4:21820 newt-1 | DEBUG: 2026/04/13 08:56:26 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"XXXXXXXXXX","ciphertext":"XXXXXXXXXX"} newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Starting newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Sending keepalive packet newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Sending handshake initiation newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Routine: sequential receiver - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Routine: sequential sender - started newt-1 | DEBUG: 2026/04/13 08:56:26 WireGuard device created. Lets ping the server now... newt-1 | DEBUG: 2026/04/13 08:56:26 Testing initial connection with reliable ping... newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 Routine: receive incoming v4 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 08:56:26 peer(0Z8S…o4k4) - Received handshake response newt-1 | DEBUG: 2026/04/13 08:56:26 Initial connection test successful newt-1 | DEBUG: 2026/04/13 08:56:26 Ping attempt 1 newt-1 | DEBUG: 2026/04/13 08:56:26 Ping latency: 17.324257ms newt-1 | INFO: 2026/04/13 08:56:26 Tunnel connection to server established successfully! newt-1 | DEBUG: 2026/04/13 08:56:26 Starting ping check newt-1 | DEBUG: 2026/04/13 08:56:26 Not adding target because not running newt-1 | DEBUG: 2026/04/13 08:56:26 Started direct UDP relay on 10.0.0.60:52096 (bidirectional via SharedBind) newt-1 | DEBUG: 2026/04/13 08:56:26 Adding 0 health check targets in bulk newt-1 | DEBUG: 2026/04/13 08:56:26 Successfully added all 0 health check targets newt-1 | DEBUG: 2026/04/13 08:56:26 Successfully added 0 health check targets newt-1 | INFO: 2026/04/13 08:56:26 Started tcp proxy to frontend:80 newt-1 | DEBUG: 2026/04/13 08:56:26 Started tcp proxy from 10.0.0.60:41958 to frontend:80 newt-1 | DEBUG: 2026/04/13 08:56:26 Direct UDP relay started (bidirectional through SharedBind) newt-1 | DEBUG: 2026/04/13 08:56:27 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"XXXXXXXXXX","ciphertext":"XXXXXXXXXX"} newt-1 | DEBUG: 2026/04/13 08:56:27 Increased hole punch interval to 2s ```
Author
Owner

@daddeldash commented on GitHub (Apr 13, 2026):

The resource is still not created

<!-- gh-comment-id:4235226501 --> @daddeldash commented on GitHub (Apr 13, 2026): The resource is still not created
Author
Owner

@LaurenceJJones commented on GitHub (Apr 13, 2026):

Within the logs its getting a target already for that site (so either: You delete target after newt startup, or the resource already existed), the labels are only checked when either:

  • Newt spins up
  • Container is created or destroyed (typically target application)

Could we take a step back and explain what your expecting to happen? as from the logs the resource and targets exist enough that this site connector is getting the configuration.

<!-- gh-comment-id:4235498125 --> @LaurenceJJones commented on GitHub (Apr 13, 2026): Within the logs its getting a target already for that site (so either: You delete target after newt startup, or the resource already existed), the labels are only checked when either: - Newt spins up - Container is created or destroyed (typically target application) Could we take a step back and explain what your expecting to happen? as from the logs the resource and targets exist enough that this site connector is getting the configuration.
Author
Owner

@daddeldash commented on GitHub (Apr 13, 2026):

My expectation is that I run the containers and pangolin configures everything like defined with the labels. My goal is to use pangolin without touching it by hand, what is significantly facilitated by the provisioning keys (thanks a lot for this!!!).

I had another try, where I deleted the site and all related resources, turned on the debug mode for newt and the result was that I now have a site without any resources.

newt-1  | INFO: 2026/04/13 10:53:07 Newt version 1.11.0
newt-1  | DEBUG: 2026/04/13 10:53:07 Starting metrics server on 127.0.0.1:2112
newt-1  | INFO: 2026/04/13 10:53:08 Loading config from: /root/.config/newt-client/config.json
newt-1  | INFO: 2026/04/13 10:53:08 Config file does not exist at /root/.config/newt-client/config.json, will create it with provided values
newt-1  | DEBUG: 2026/04/13 10:53:08 Endpoint: https://pangolin.instance.tld
newt-1  | DEBUG: 2026/04/13 10:53:08 Log Level: DEBUG
newt-1  | DEBUG: 2026/04/13 10:53:08 Docker Network Validation Enabled: false
newt-1  | DEBUG: 2026/04/13 10:53:08 Health Check Certificate Enforcement: false
newt-1  | DEBUG: 2026/04/13 10:53:08 Dns: 9.9.9.9
newt-1  | DEBUG: 2026/04/13 10:53:08 MTU: 1280
newt-1  | DEBUG: 2026/04/13 10:53:08 Setting up clients with netstack2...
newt-1  | DEBUG: 2026/04/13 10:53:08 Created shared UDP socket on port 51392 (refcount: 2)
newt-1  | DEBUG: 2026/04/13 10:53:08 Creating new health check monitor with certificate enforcement: false
newt-1  | INFO: 2026/04/13 10:53:08 Provisioning key found – exchanging for newt credentials...
newt-1  | DEBUG: 2026/04/13 10:53:08 Provisioning response body: {"data":{"newtId":"XXXXXXXXXX","secret":"XXXXXXXXXX"},"success":true,"error":false,"message":"Newt registered successfully","status":201}
newt-1  | INFO: 2026/04/13 10:53:08 Successfully provisioned – newt ID: XXXXXXXXXX
newt-1  | INFO: 2026/04/13 10:53:08 Saving config to: /root/.config/newt-client/config.json
newt-1  | DEBUG: 2026/04/13 10:53:08 Token response body: {"data":{"token":"XXXXXXXXXX","serverVersion":"1.17.0"},"success":true,"error":false,"message":"Token created successfully","status":200}
newt-1  | INFO: 2026/04/13 10:53:08 Server version: 1.17.0
newt-1  | DEBUG: 2026/04/13 10:53:08 Received token: XXXXXXXXXX
newt-1  | DEBUG: 2026/04/13 10:53:08 Config has not changed, skipping save
newt-1  | DEBUG: 2026/04/13 10:53:08 Public key: XXXXXXXXXX
newt-1  | INFO: 2026/04/13 10:53:08 Websocket connected
newt-1  | DEBUG: 2026/04/13 10:53:08 Requesting exit nodes from server
newt-1  | DEBUG: 2026/04/13 10:53:08 Requesting WireGuard configuration from remote server
newt-1  | INFO: 2026/04/13 10:53:08 Provisioning detected – sending provisioning blueprint
newt-1  | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/register, data: map[backwardsCompatible:true chainId:ecaec72c97e67109 newtVersion:1.11.0 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:08 Sending message: newt/ping/request, data: map[chainId:6d2e36062869ce87 noCloud:false]
newt-1  | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:08 Received ping message
newt-1  | DEBUG: 2026/04/13 10:53:08 Only one exit node available, using it directly: pangolin.instance.tld
newt-1  | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/register, data: map[chainId:fb5822618a03d581 newtVersion:1.11.0 pingResults:[{ExitNodeID:1 LatencyMs:0 Weight:1 Error: Name:Exit Node 0Z8SWFfG Endpoint:pangolin.instance.tld WasPreviouslyConnected:false}] publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:08 Received Docker container fetch request
newt-1  | DEBUG: 2026/04/13 10:53:08 Docker socket path is not set
newt-1  | DEBUG: 2026/04/13 10:53:08 Received registration message
newt-1  | DEBUG: 2026/04/13 10:53:08 Received registration message data: map[chainId:fb5822618a03d581 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[] udp:[]] tunnelIP:10.0.0.60]
newt-1  | DEBUG: 2026/04/13 10:53:08 Received: {Type:newt/wg/connect Data:map[chainId:fb5822618a03d581 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[] udp:[]] tunnelIP:10.0.0.60] ConfigVersion:0}
newt-1  | INFO: 2026/04/13 10:53:08 Connecting to endpoint: pangolin.instance.tld
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: decryption worker 1 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: handshake worker 1 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: encryption worker 2 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: decryption worker 2 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: handshake worker 2 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: TUN reader - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: event worker - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Interface up requested
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 UDP bind has been updated
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Interface state was Down, requested Up, now Up
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: receive incoming v6 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: encryption worker 1 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: receive incoming v4 - started
newt-1  | DEBUG: 2026/04/13 10:53:08 Starting UDP hole punch to 1 exit nodes with shared bind
newt-1  | DEBUG: 2026/04/13 10:53:08 Starting hole punch to 1.2.3.4 with public key: XXXXXXXXXX
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 UAPI: Updating private key
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Created
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Adding allowedip
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Updating endpoint
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Updating persistent keepalive interval
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Starting
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Sending keepalive packet
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Sending handshake initiation
newt-1  | DEBUG: 2026/04/13 10:53:08 WireGuard device created. Lets ping the server now...
newt-1  | DEBUG: 2026/04/13 10:53:08 Testing initial connection with reliable ping...
newt-1  | DEBUG: 2026/04/13 10:53:08 Resolved exit node: 1.2.3.4 -> 1.2.3.4:21820
newt-1  | DEBUG: 2026/04/13 10:53:08 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"Z9EFSTk26TQxx+Qv","ciphertext":"XXXXXXXXXX"}
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Routine: sequential sender - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Routine: sequential receiver - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Received handshake response
newt-1  | DEBUG: 2026/04/13 10:53:08 Initial connection test successful
newt-1  | DEBUG: 2026/04/13 10:53:08 Ping attempt 1
newt-1  | DEBUG: 2026/04/13 10:53:08 Ping latency: 18.018362ms
newt-1  | INFO: 2026/04/13 10:53:08 Tunnel connection to server established successfully!
newt-1  | DEBUG: 2026/04/13 10:53:08 Starting ping check
newt-1  | DEBUG: 2026/04/13 10:53:08 Started direct UDP relay on 10.0.0.60:51392 (bidirectional via SharedBind)
newt-1  | DEBUG: 2026/04/13 10:53:08 Adding 0 health check targets in bulk
newt-1  | DEBUG: 2026/04/13 10:53:08 Successfully added all 0 health check targets
newt-1  | DEBUG: 2026/04/13 10:53:08 Successfully added 0 health check targets
newt-1  | DEBUG: 2026/04/13 10:53:08 Direct UDP relay started (bidirectional through SharedBind)
newt-1  | DEBUG: 2026/04/13 10:53:09 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX"}
newt-1  | DEBUG: 2026/04/13 10:53:09 Increased hole punch interval to 2s
newt-1  | DEBUG: 2026/04/13 10:53:10 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:11 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"mWEi/geDCgxWq4uN","ciphertext":"XXXXXXXXXX"}
newt-1  | DEBUG: 2026/04/13 10:53:11 Increased hole punch interval to 4s
newt-1  | DEBUG: 2026/04/13 10:53:12 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:13 peer(0Z8S…o4k4) - Sending keepalive packet
newt-1  | DEBUG: 2026/04/13 10:53:14 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:15 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"VmNj+SAm0GvzOu+6","ciphertext":"XXXXXXXXXX"}
newt-1  | DEBUG: 2026/04/13 10:53:15 Increased hole punch interval to 8s
newt-1  | DEBUG: 2026/04/13 10:53:16 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:18 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:18 peer(0Z8S…o4k4) - Sending keepalive packet
newt-1  | DEBUG: 2026/04/13 10:53:20 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
<!-- gh-comment-id:4235864473 --> @daddeldash commented on GitHub (Apr 13, 2026): My expectation is that I run the containers and pangolin configures everything like defined with the labels. My goal is to use pangolin without touching it by hand, what is significantly facilitated by the provisioning keys (thanks a lot for this!!!). I had another try, where I deleted the site and all related resources, turned on the debug mode for newt and the result was that I now have a site without any resources. ``` newt-1 | INFO: 2026/04/13 10:53:07 Newt version 1.11.0 newt-1 | DEBUG: 2026/04/13 10:53:07 Starting metrics server on 127.0.0.1:2112 newt-1 | INFO: 2026/04/13 10:53:08 Loading config from: /root/.config/newt-client/config.json newt-1 | INFO: 2026/04/13 10:53:08 Config file does not exist at /root/.config/newt-client/config.json, will create it with provided values newt-1 | DEBUG: 2026/04/13 10:53:08 Endpoint: https://pangolin.instance.tld newt-1 | DEBUG: 2026/04/13 10:53:08 Log Level: DEBUG newt-1 | DEBUG: 2026/04/13 10:53:08 Docker Network Validation Enabled: false newt-1 | DEBUG: 2026/04/13 10:53:08 Health Check Certificate Enforcement: false newt-1 | DEBUG: 2026/04/13 10:53:08 Dns: 9.9.9.9 newt-1 | DEBUG: 2026/04/13 10:53:08 MTU: 1280 newt-1 | DEBUG: 2026/04/13 10:53:08 Setting up clients with netstack2... newt-1 | DEBUG: 2026/04/13 10:53:08 Created shared UDP socket on port 51392 (refcount: 2) newt-1 | DEBUG: 2026/04/13 10:53:08 Creating new health check monitor with certificate enforcement: false newt-1 | INFO: 2026/04/13 10:53:08 Provisioning key found – exchanging for newt credentials... newt-1 | DEBUG: 2026/04/13 10:53:08 Provisioning response body: {"data":{"newtId":"XXXXXXXXXX","secret":"XXXXXXXXXX"},"success":true,"error":false,"message":"Newt registered successfully","status":201} newt-1 | INFO: 2026/04/13 10:53:08 Successfully provisioned – newt ID: XXXXXXXXXX newt-1 | INFO: 2026/04/13 10:53:08 Saving config to: /root/.config/newt-client/config.json newt-1 | DEBUG: 2026/04/13 10:53:08 Token response body: {"data":{"token":"XXXXXXXXXX","serverVersion":"1.17.0"},"success":true,"error":false,"message":"Token created successfully","status":200} newt-1 | INFO: 2026/04/13 10:53:08 Server version: 1.17.0 newt-1 | DEBUG: 2026/04/13 10:53:08 Received token: XXXXXXXXXX newt-1 | DEBUG: 2026/04/13 10:53:08 Config has not changed, skipping save newt-1 | DEBUG: 2026/04/13 10:53:08 Public key: XXXXXXXXXX newt-1 | INFO: 2026/04/13 10:53:08 Websocket connected newt-1 | DEBUG: 2026/04/13 10:53:08 Requesting exit nodes from server newt-1 | DEBUG: 2026/04/13 10:53:08 Requesting WireGuard configuration from remote server newt-1 | INFO: 2026/04/13 10:53:08 Provisioning detected – sending provisioning blueprint newt-1 | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/register, data: map[backwardsCompatible:true chainId:ecaec72c97e67109 newtVersion:1.11.0 publicKey:XXXXXXXXXX] newt-1 | DEBUG: 2026/04/13 10:53:08 Sending message: newt/ping/request, data: map[chainId:6d2e36062869ce87 noCloud:false] newt-1 | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] newt-1 | DEBUG: 2026/04/13 10:53:08 Received ping message newt-1 | DEBUG: 2026/04/13 10:53:08 Only one exit node available, using it directly: pangolin.instance.tld newt-1 | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/register, data: map[chainId:fb5822618a03d581 newtVersion:1.11.0 pingResults:[{ExitNodeID:1 LatencyMs:0 Weight:1 Error: Name:Exit Node 0Z8SWFfG Endpoint:pangolin.instance.tld WasPreviouslyConnected:false}] publicKey:XXXXXXXXXX] newt-1 | DEBUG: 2026/04/13 10:53:08 Received Docker container fetch request newt-1 | DEBUG: 2026/04/13 10:53:08 Docker socket path is not set newt-1 | DEBUG: 2026/04/13 10:53:08 Received registration message newt-1 | DEBUG: 2026/04/13 10:53:08 Received registration message data: map[chainId:fb5822618a03d581 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[] udp:[]] tunnelIP:10.0.0.60] newt-1 | DEBUG: 2026/04/13 10:53:08 Received: {Type:newt/wg/connect Data:map[chainId:fb5822618a03d581 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[] udp:[]] tunnelIP:10.0.0.60] ConfigVersion:0} newt-1 | INFO: 2026/04/13 10:53:08 Connecting to endpoint: pangolin.instance.tld newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: decryption worker 1 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: handshake worker 1 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: encryption worker 2 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: decryption worker 2 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: handshake worker 2 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: TUN reader - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: event worker - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Interface up requested newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 UDP bind has been updated newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Interface state was Down, requested Up, now Up newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: receive incoming v6 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: encryption worker 1 - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: receive incoming v4 - started newt-1 | DEBUG: 2026/04/13 10:53:08 Starting UDP hole punch to 1 exit nodes with shared bind newt-1 | DEBUG: 2026/04/13 10:53:08 Starting hole punch to 1.2.3.4 with public key: XXXXXXXXXX newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 UAPI: Updating private key newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Created newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Adding allowedip newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Updating endpoint newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Updating persistent keepalive interval newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Starting newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Sending keepalive packet newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Sending handshake initiation newt-1 | DEBUG: 2026/04/13 10:53:08 WireGuard device created. Lets ping the server now... newt-1 | DEBUG: 2026/04/13 10:53:08 Testing initial connection with reliable ping... newt-1 | DEBUG: 2026/04/13 10:53:08 Resolved exit node: 1.2.3.4 -> 1.2.3.4:21820 newt-1 | DEBUG: 2026/04/13 10:53:08 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"Z9EFSTk26TQxx+Qv","ciphertext":"XXXXXXXXXX"} newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Routine: sequential sender - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Routine: sequential receiver - started newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Received handshake response newt-1 | DEBUG: 2026/04/13 10:53:08 Initial connection test successful newt-1 | DEBUG: 2026/04/13 10:53:08 Ping attempt 1 newt-1 | DEBUG: 2026/04/13 10:53:08 Ping latency: 18.018362ms newt-1 | INFO: 2026/04/13 10:53:08 Tunnel connection to server established successfully! newt-1 | DEBUG: 2026/04/13 10:53:08 Starting ping check newt-1 | DEBUG: 2026/04/13 10:53:08 Started direct UDP relay on 10.0.0.60:51392 (bidirectional via SharedBind) newt-1 | DEBUG: 2026/04/13 10:53:08 Adding 0 health check targets in bulk newt-1 | DEBUG: 2026/04/13 10:53:08 Successfully added all 0 health check targets newt-1 | DEBUG: 2026/04/13 10:53:08 Successfully added 0 health check targets newt-1 | DEBUG: 2026/04/13 10:53:08 Direct UDP relay started (bidirectional through SharedBind) newt-1 | DEBUG: 2026/04/13 10:53:09 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX"} newt-1 | DEBUG: 2026/04/13 10:53:09 Increased hole punch interval to 2s newt-1 | DEBUG: 2026/04/13 10:53:10 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] newt-1 | DEBUG: 2026/04/13 10:53:11 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"mWEi/geDCgxWq4uN","ciphertext":"XXXXXXXXXX"} newt-1 | DEBUG: 2026/04/13 10:53:11 Increased hole punch interval to 4s newt-1 | DEBUG: 2026/04/13 10:53:12 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:13 peer(0Z8S…o4k4) - Sending keepalive packet newt-1 | DEBUG: 2026/04/13 10:53:14 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] newt-1 | DEBUG: 2026/04/13 10:53:15 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"VmNj+SAm0GvzOu+6","ciphertext":"XXXXXXXXXX"} newt-1 | DEBUG: 2026/04/13 10:53:15 Increased hole punch interval to 8s newt-1 | DEBUG: 2026/04/13 10:53:16 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] newt-1 | DEBUG: 2026/04/13 10:53:18 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:18 peer(0Z8S…o4k4) - Sending keepalive packet newt-1 | DEBUG: 2026/04/13 10:53:20 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] ```
Author
Owner

@LaurenceJJones commented on GitHub (Apr 13, 2026):

My expectation is that I run the containers and pangolin configures everything like defined with the labels. My goal is to use pangolin without touching it by hand, what is significantly facilitated by the provisioning keys (thanks a lot for this!!!).

I had another try, where I deleted the site and all related resources, turned on the debug mode for newt and the result was that I now have a site without any resources.

newt-1  | INFO: 2026/04/13 10:53:07 Newt version 1.11.0
newt-1  | DEBUG: 2026/04/13 10:53:07 Starting metrics server on 127.0.0.1:2112
newt-1  | INFO: 2026/04/13 10:53:08 Loading config from: /root/.config/newt-client/config.json
newt-1  | INFO: 2026/04/13 10:53:08 Config file does not exist at /root/.config/newt-client/config.json, will create it with provided values
newt-1  | DEBUG: 2026/04/13 10:53:08 Endpoint: https://pangolin.instance.tld
newt-1  | DEBUG: 2026/04/13 10:53:08 Log Level: DEBUG
newt-1  | DEBUG: 2026/04/13 10:53:08 Docker Network Validation Enabled: false
newt-1  | DEBUG: 2026/04/13 10:53:08 Health Check Certificate Enforcement: false
newt-1  | DEBUG: 2026/04/13 10:53:08 Dns: 9.9.9.9
newt-1  | DEBUG: 2026/04/13 10:53:08 MTU: 1280
newt-1  | DEBUG: 2026/04/13 10:53:08 Setting up clients with netstack2...
newt-1  | DEBUG: 2026/04/13 10:53:08 Created shared UDP socket on port 51392 (refcount: 2)
newt-1  | DEBUG: 2026/04/13 10:53:08 Creating new health check monitor with certificate enforcement: false
newt-1  | INFO: 2026/04/13 10:53:08 Provisioning key found – exchanging for newt credentials...
newt-1  | DEBUG: 2026/04/13 10:53:08 Provisioning response body: {"data":{"newtId":"XXXXXXXXXX","secret":"XXXXXXXXXX"},"success":true,"error":false,"message":"Newt registered successfully","status":201}
newt-1  | INFO: 2026/04/13 10:53:08 Successfully provisioned – newt ID: XXXXXXXXXX
newt-1  | INFO: 2026/04/13 10:53:08 Saving config to: /root/.config/newt-client/config.json
newt-1  | DEBUG: 2026/04/13 10:53:08 Token response body: {"data":{"token":"XXXXXXXXXX","serverVersion":"1.17.0"},"success":true,"error":false,"message":"Token created successfully","status":200}
newt-1  | INFO: 2026/04/13 10:53:08 Server version: 1.17.0
newt-1  | DEBUG: 2026/04/13 10:53:08 Received token: XXXXXXXXXX
newt-1  | DEBUG: 2026/04/13 10:53:08 Config has not changed, skipping save
newt-1  | DEBUG: 2026/04/13 10:53:08 Public key: XXXXXXXXXX
newt-1  | INFO: 2026/04/13 10:53:08 Websocket connected
newt-1  | DEBUG: 2026/04/13 10:53:08 Requesting exit nodes from server
newt-1  | DEBUG: 2026/04/13 10:53:08 Requesting WireGuard configuration from remote server
newt-1  | INFO: 2026/04/13 10:53:08 Provisioning detected – sending provisioning blueprint
newt-1  | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/register, data: map[backwardsCompatible:true chainId:ecaec72c97e67109 newtVersion:1.11.0 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:08 Sending message: newt/ping/request, data: map[chainId:6d2e36062869ce87 noCloud:false]
newt-1  | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:08 Received ping message
newt-1  | DEBUG: 2026/04/13 10:53:08 Only one exit node available, using it directly: pangolin.instance.tld
newt-1  | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/register, data: map[chainId:fb5822618a03d581 newtVersion:1.11.0 pingResults:[{ExitNodeID:1 LatencyMs:0 Weight:1 Error: Name:Exit Node 0Z8SWFfG Endpoint:pangolin.instance.tld WasPreviouslyConnected:false}] publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:08 Received Docker container fetch request
newt-1  | DEBUG: 2026/04/13 10:53:08 Docker socket path is not set
newt-1  | DEBUG: 2026/04/13 10:53:08 Received registration message
newt-1  | DEBUG: 2026/04/13 10:53:08 Received registration message data: map[chainId:fb5822618a03d581 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[] udp:[]] tunnelIP:10.0.0.60]
newt-1  | DEBUG: 2026/04/13 10:53:08 Received: {Type:newt/wg/connect Data:map[chainId:fb5822618a03d581 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[] udp:[]] tunnelIP:10.0.0.60] ConfigVersion:0}
newt-1  | INFO: 2026/04/13 10:53:08 Connecting to endpoint: pangolin.instance.tld
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: decryption worker 1 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: handshake worker 1 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: encryption worker 2 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: decryption worker 2 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: handshake worker 2 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: TUN reader - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: event worker - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Interface up requested
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 UDP bind has been updated
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Interface state was Down, requested Up, now Up
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: receive incoming v6 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: encryption worker 1 - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: receive incoming v4 - started
newt-1  | DEBUG: 2026/04/13 10:53:08 Starting UDP hole punch to 1 exit nodes with shared bind
newt-1  | DEBUG: 2026/04/13 10:53:08 Starting hole punch to 1.2.3.4 with public key: XXXXXXXXXX
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 UAPI: Updating private key
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Created
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Adding allowedip
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Updating endpoint
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Updating persistent keepalive interval
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Starting
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Sending keepalive packet
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Sending handshake initiation
newt-1  | DEBUG: 2026/04/13 10:53:08 WireGuard device created. Lets ping the server now...
newt-1  | DEBUG: 2026/04/13 10:53:08 Testing initial connection with reliable ping...
newt-1  | DEBUG: 2026/04/13 10:53:08 Resolved exit node: 1.2.3.4 -> 1.2.3.4:21820
newt-1  | DEBUG: 2026/04/13 10:53:08 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"Z9EFSTk26TQxx+Qv","ciphertext":"XXXXXXXXXX"}
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Routine: sequential sender - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Routine: sequential receiver - started
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Received handshake response
newt-1  | DEBUG: 2026/04/13 10:53:08 Initial connection test successful
newt-1  | DEBUG: 2026/04/13 10:53:08 Ping attempt 1
newt-1  | DEBUG: 2026/04/13 10:53:08 Ping latency: 18.018362ms
newt-1  | INFO: 2026/04/13 10:53:08 Tunnel connection to server established successfully!
newt-1  | DEBUG: 2026/04/13 10:53:08 Starting ping check
newt-1  | DEBUG: 2026/04/13 10:53:08 Started direct UDP relay on 10.0.0.60:51392 (bidirectional via SharedBind)
newt-1  | DEBUG: 2026/04/13 10:53:08 Adding 0 health check targets in bulk
newt-1  | DEBUG: 2026/04/13 10:53:08 Successfully added all 0 health check targets
newt-1  | DEBUG: 2026/04/13 10:53:08 Successfully added 0 health check targets
newt-1  | DEBUG: 2026/04/13 10:53:08 Direct UDP relay started (bidirectional through SharedBind)
newt-1  | DEBUG: 2026/04/13 10:53:09 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX"}
newt-1  | DEBUG: 2026/04/13 10:53:09 Increased hole punch interval to 2s
newt-1  | DEBUG: 2026/04/13 10:53:10 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:11 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"mWEi/geDCgxWq4uN","ciphertext":"XXXXXXXXXX"}
newt-1  | DEBUG: 2026/04/13 10:53:11 Increased hole punch interval to 4s
newt-1  | DEBUG: 2026/04/13 10:53:12 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:13 peer(0Z8S…o4k4) - Sending keepalive packet
newt-1  | DEBUG: 2026/04/13 10:53:14 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:15 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"VmNj+SAm0GvzOu+6","ciphertext":"XXXXXXXXXX"}
newt-1  | DEBUG: 2026/04/13 10:53:15 Increased hole punch interval to 8s
newt-1  | DEBUG: 2026/04/13 10:53:16 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: 2026/04/13 10:53:18 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]
newt-1  | DEBUG: gerbil-wireguard: 2026/04/13 10:53:18 peer(0Z8S…o4k4) - Sending keepalive packet
newt-1  | DEBUG: 2026/04/13 10:53:20 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX]

That because the docker socket environment or flag is not set

The key line is:

DEBUG: 2026/04/13 10:53:08 Docker socket path is not set

So this looks like a Docker socket configuration issue (missing --docker-socket / DOCKER_SOCKET). Did you ensure that this exists as per the earlier conversation?

<!-- gh-comment-id:4235957029 --> @LaurenceJJones commented on GitHub (Apr 13, 2026): > My expectation is that I run the containers and pangolin configures everything like defined with the labels. My goal is to use pangolin without touching it by hand, what is significantly facilitated by the provisioning keys (thanks a lot for this!!!). > > I had another try, where I deleted the site and all related resources, turned on the debug mode for newt and the result was that I now have a site without any resources. > > ``` > newt-1 | INFO: 2026/04/13 10:53:07 Newt version 1.11.0 > newt-1 | DEBUG: 2026/04/13 10:53:07 Starting metrics server on 127.0.0.1:2112 > newt-1 | INFO: 2026/04/13 10:53:08 Loading config from: /root/.config/newt-client/config.json > newt-1 | INFO: 2026/04/13 10:53:08 Config file does not exist at /root/.config/newt-client/config.json, will create it with provided values > newt-1 | DEBUG: 2026/04/13 10:53:08 Endpoint: https://pangolin.instance.tld > newt-1 | DEBUG: 2026/04/13 10:53:08 Log Level: DEBUG > newt-1 | DEBUG: 2026/04/13 10:53:08 Docker Network Validation Enabled: false > newt-1 | DEBUG: 2026/04/13 10:53:08 Health Check Certificate Enforcement: false > newt-1 | DEBUG: 2026/04/13 10:53:08 Dns: 9.9.9.9 > newt-1 | DEBUG: 2026/04/13 10:53:08 MTU: 1280 > newt-1 | DEBUG: 2026/04/13 10:53:08 Setting up clients with netstack2... > newt-1 | DEBUG: 2026/04/13 10:53:08 Created shared UDP socket on port 51392 (refcount: 2) > newt-1 | DEBUG: 2026/04/13 10:53:08 Creating new health check monitor with certificate enforcement: false > newt-1 | INFO: 2026/04/13 10:53:08 Provisioning key found – exchanging for newt credentials... > newt-1 | DEBUG: 2026/04/13 10:53:08 Provisioning response body: {"data":{"newtId":"XXXXXXXXXX","secret":"XXXXXXXXXX"},"success":true,"error":false,"message":"Newt registered successfully","status":201} > newt-1 | INFO: 2026/04/13 10:53:08 Successfully provisioned – newt ID: XXXXXXXXXX > newt-1 | INFO: 2026/04/13 10:53:08 Saving config to: /root/.config/newt-client/config.json > newt-1 | DEBUG: 2026/04/13 10:53:08 Token response body: {"data":{"token":"XXXXXXXXXX","serverVersion":"1.17.0"},"success":true,"error":false,"message":"Token created successfully","status":200} > newt-1 | INFO: 2026/04/13 10:53:08 Server version: 1.17.0 > newt-1 | DEBUG: 2026/04/13 10:53:08 Received token: XXXXXXXXXX > newt-1 | DEBUG: 2026/04/13 10:53:08 Config has not changed, skipping save > newt-1 | DEBUG: 2026/04/13 10:53:08 Public key: XXXXXXXXXX > newt-1 | INFO: 2026/04/13 10:53:08 Websocket connected > newt-1 | DEBUG: 2026/04/13 10:53:08 Requesting exit nodes from server > newt-1 | DEBUG: 2026/04/13 10:53:08 Requesting WireGuard configuration from remote server > newt-1 | INFO: 2026/04/13 10:53:08 Provisioning detected – sending provisioning blueprint > newt-1 | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/register, data: map[backwardsCompatible:true chainId:ecaec72c97e67109 newtVersion:1.11.0 publicKey:XXXXXXXXXX] > newt-1 | DEBUG: 2026/04/13 10:53:08 Sending message: newt/ping/request, data: map[chainId:6d2e36062869ce87 noCloud:false] > newt-1 | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] > newt-1 | DEBUG: 2026/04/13 10:53:08 Received ping message > newt-1 | DEBUG: 2026/04/13 10:53:08 Only one exit node available, using it directly: pangolin.instance.tld > newt-1 | DEBUG: 2026/04/13 10:53:08 Sending message: newt/wg/register, data: map[chainId:fb5822618a03d581 newtVersion:1.11.0 pingResults:[{ExitNodeID:1 LatencyMs:0 Weight:1 Error: Name:Exit Node 0Z8SWFfG Endpoint:pangolin.instance.tld WasPreviouslyConnected:false}] publicKey:XXXXXXXXXX] > newt-1 | DEBUG: 2026/04/13 10:53:08 Received Docker container fetch request > newt-1 | DEBUG: 2026/04/13 10:53:08 Docker socket path is not set > newt-1 | DEBUG: 2026/04/13 10:53:08 Received registration message > newt-1 | DEBUG: 2026/04/13 10:53:08 Received registration message data: map[chainId:fb5822618a03d581 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[] udp:[]] tunnelIP:10.0.0.60] > newt-1 | DEBUG: 2026/04/13 10:53:08 Received: {Type:newt/wg/connect Data:map[chainId:fb5822618a03d581 endpoint:pangolin.instance.tld:51821 healthCheckTargets:[] publicKey:XXXXXXXXXX relayPort:21820 serverIP:10.0.0.1 targets:map[tcp:[] udp:[]] tunnelIP:10.0.0.60] ConfigVersion:0} > newt-1 | INFO: 2026/04/13 10:53:08 Connecting to endpoint: pangolin.instance.tld > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: decryption worker 1 - started > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: handshake worker 1 - started > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: encryption worker 2 - started > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: decryption worker 2 - started > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: handshake worker 2 - started > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: TUN reader - started > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: event worker - started > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Interface up requested > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 UDP bind has been updated > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Interface state was Down, requested Up, now Up > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: receive incoming v6 - started > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: encryption worker 1 - started > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 Routine: receive incoming v4 - started > newt-1 | DEBUG: 2026/04/13 10:53:08 Starting UDP hole punch to 1 exit nodes with shared bind > newt-1 | DEBUG: 2026/04/13 10:53:08 Starting hole punch to 1.2.3.4 with public key: XXXXXXXXXX > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 UAPI: Updating private key > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Created > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Adding allowedip > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Updating endpoint > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - UAPI: Updating persistent keepalive interval > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Starting > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Sending keepalive packet > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Sending handshake initiation > newt-1 | DEBUG: 2026/04/13 10:53:08 WireGuard device created. Lets ping the server now... > newt-1 | DEBUG: 2026/04/13 10:53:08 Testing initial connection with reliable ping... > newt-1 | DEBUG: 2026/04/13 10:53:08 Resolved exit node: 1.2.3.4 -> 1.2.3.4:21820 > newt-1 | DEBUG: 2026/04/13 10:53:08 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"Z9EFSTk26TQxx+Qv","ciphertext":"XXXXXXXXXX"} > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Routine: sequential sender - started > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Routine: sequential receiver - started > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:08 peer(0Z8S…o4k4) - Received handshake response > newt-1 | DEBUG: 2026/04/13 10:53:08 Initial connection test successful > newt-1 | DEBUG: 2026/04/13 10:53:08 Ping attempt 1 > newt-1 | DEBUG: 2026/04/13 10:53:08 Ping latency: 18.018362ms > newt-1 | INFO: 2026/04/13 10:53:08 Tunnel connection to server established successfully! > newt-1 | DEBUG: 2026/04/13 10:53:08 Starting ping check > newt-1 | DEBUG: 2026/04/13 10:53:08 Started direct UDP relay on 10.0.0.60:51392 (bidirectional via SharedBind) > newt-1 | DEBUG: 2026/04/13 10:53:08 Adding 0 health check targets in bulk > newt-1 | DEBUG: 2026/04/13 10:53:08 Successfully added all 0 health check targets > newt-1 | DEBUG: 2026/04/13 10:53:08 Successfully added 0 health check targets > newt-1 | DEBUG: 2026/04/13 10:53:08 Direct UDP relay started (bidirectional through SharedBind) > newt-1 | DEBUG: 2026/04/13 10:53:09 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX"} > newt-1 | DEBUG: 2026/04/13 10:53:09 Increased hole punch interval to 2s > newt-1 | DEBUG: 2026/04/13 10:53:10 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] > newt-1 | DEBUG: 2026/04/13 10:53:11 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"mWEi/geDCgxWq4uN","ciphertext":"XXXXXXXXXX"} > newt-1 | DEBUG: 2026/04/13 10:53:11 Increased hole punch interval to 4s > newt-1 | DEBUG: 2026/04/13 10:53:12 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:13 peer(0Z8S…o4k4) - Sending keepalive packet > newt-1 | DEBUG: 2026/04/13 10:53:14 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] > newt-1 | DEBUG: 2026/04/13 10:53:15 Sent UDP hole punch to 1.2.3.4:21820: {"ephemeralPublicKey":"XXXXXXXXXX","nonce":"VmNj+SAm0GvzOu+6","ciphertext":"XXXXXXXXXX"} > newt-1 | DEBUG: 2026/04/13 10:53:15 Increased hole punch interval to 8s > newt-1 | DEBUG: 2026/04/13 10:53:16 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] > newt-1 | DEBUG: 2026/04/13 10:53:18 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] > newt-1 | DEBUG: gerbil-wireguard: 2026/04/13 10:53:18 peer(0Z8S…o4k4) - Sending keepalive packet > newt-1 | DEBUG: 2026/04/13 10:53:20 Sending message: newt/wg/get-config, data: map[chainId:e0b35b5b0e2d5e04 port:51392 publicKey:XXXXXXXXXX] > ``` That because the docker socket environment or flag is not set The key line is: DEBUG: 2026/04/13 10:53:08 Docker socket path is not set So this looks like a Docker socket configuration issue (missing --docker-socket / DOCKER_SOCKET). Did you ensure that this exists as per the earlier conversation?
Author
Owner

@daddeldash commented on GitHub (Apr 13, 2026):

Is this something that you changed on some point? I've never set the DOCKER_SOCKET variable and it always worked. Now I have to set the variable explicitly to enable the communication with docker? If I do, it works, but wouldn't it be better to test if newt can talk to docker.sock and if yes, enable it with the default docker.sock path?

<!-- gh-comment-id:4235985216 --> @daddeldash commented on GitHub (Apr 13, 2026): Is this something that you changed on some point? I've never set the DOCKER_SOCKET variable and it always worked. Now I have to set the variable explicitly to enable the communication with docker? If I do, it works, but wouldn't it be better to test if newt can talk to docker.sock and if yes, enable it with the default docker.sock path?
Author
Owner

@LaurenceJJones commented on GitHub (Apr 13, 2026):

Is this something that you changed on some point? I've never set the DOCKER_SOCKET variable and it always worked. Now I have to set the variable explicitly to enable the communication with docker? If I do, it works, but wouldn't it be better to test if newt can talk to docker.sock and if yes, enable it with the default docker.sock path?

Yes it was changed to opt in rather than defaulting to reading everything from a security point of view we shouldnt guess a user wants docker integration simply if the socket exists, as when deploying on bare host the socket may exist but not to be used.

<!-- gh-comment-id:4236010102 --> @LaurenceJJones commented on GitHub (Apr 13, 2026): > Is this something that you changed on some point? I've never set the DOCKER_SOCKET variable and it always worked. Now I have to set the variable explicitly to enable the communication with docker? If I do, it works, but wouldn't it be better to test if newt can talk to docker.sock and if yes, enable it with the default docker.sock path? Yes it was changed to [opt in](https://github.com/fosrl/newt/commit/eb8a12f2906e0087501d73db2a2262d89710972d) rather than defaulting to reading everything from a security point of view we shouldnt guess a user wants docker integration simply if the socket exists, as when deploying on bare host the socket may exist but not to be used.
Author
Owner

@daddeldash commented on GitHub (Apr 13, 2026):

Ah, that explains almost everything 😅 Thanks for your support!!! I really appreciate that

<!-- gh-comment-id:4236019966 --> @daddeldash commented on GitHub (Apr 13, 2026): Ah, that explains almost everything 😅 Thanks for your support!!! I really appreciate that
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#35666