Skip to content

Docker builds fail on Hetzner VPS due to DNS resolution (Nixpacks, Railpack, Dockerfile) #146

@tsolak9

Description

@tsolak9

To Reproduce

  1. Install Dokploy on a Hetzner Cloud VPS (fresh Ubuntu image)
  2. Create an application from a GitHub repo (any Node.js project)
  3. Deploy using any build type (Nixpacks, Railpack, or Dockerfile)
  4. Build fails with DNS resolution errors

Nixpacks error: "Could not resolve host: github.com"
Railpack error: "lookup ghcr.io on 185.12.64.1:53: server misbehaving"
Dockerfile (npm ci): "Exit handler never called!" after ~141 seconds

Root cause: Hetzner's default DNS servers (185.12.64.1, 185.12.64.2) fail recursive resolution inside Docker build containers. Dokploy's install script does not configure Docker DNS.

Current vs. Expected behavior

Current: All build types fail with DNS errors on Hetzner VPS because Docker inherits Hetzner's broken DNS servers.

Expected: Builds should work out of the box, or the troubleshooting docs should mention this for Hetzner users.

Provide environment information

Operating System:
    OS: Ubuntu (latest Hetzner default image)
    Arch: x86_64
  Dokploy version: latest
  VPS Provider: Hetzner Cloud
  Application: Astro SSR (Node.js)

Which area(s) are affected? (Select all that apply)

Docker

Are you deploying the applications where Dokploy is installed or on a remote server?

Remote server

Additional context

Fix: Configure Docker to use public DNS resolvers:

sudo mkdir -p /etc/docker
echo '{"dns": ["1.1.1.1", "8.8.8.8"]}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker

All three build types (Nixpacks, Railpack, Dockerfile) failed before this fix and worked immediately after. The issue is that Hetzner's DNS servers (185.12.64.1) don't support recursive resolution properly inside Docker containers.

Will you send a PR to fix it?

No

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions