Skip to content
GoRun

Put GoRun on your domain

العربية

This path is for a new, single-host site. You need Linux root access, Python 3, curl, rootful Docker Engine and Docker Compose v2. You do not need Go or a GitHub container-registry login. The helper uses verified public release downloads. The helper is included in the 0.5.0 release documentation; runtime features depend on the version installed.

Prepare the domain

Point every A record to this server, and every AAAA record to its working IPv6 address. Allow incoming TCP 80 and 443 and keep both ports free. Disable CDN proxying for this direct-host path. If Coolify or another proxy already manages the host, use the existing-proxy guide instead.

Inspect, plan, then deploy

curl -fsSL https://raw.githubusercontent.com/zadstack/gorun/main/deploy/server-setup.py -o gorun-server-setup.py
python3 gorun-server-setup.py --dry-run
sudo python3 gorun-server-setup.py

Review the downloaded script before the root invocation. It asks for the domain, a new absolute installation directory and all public IP addresses. Dry run prints a plan without creating files or credentials. The real run refuses an existing installation directory; it does not change DNS, firewalls or another website.

Finish in your browser

The helper reports success only after HTTPS and public-page, health and admin sign-in checks. It reports your URL and paths; persistent site data is under the chosen installation directory’s data folder. Enter the setup token from the root-private secrets.env directly in the setup browser page, then choose your admin credentials. Keep tokens and passwords out of chat.

Services restart unless explicitly stopped, provided Docker itself starts at boot. Keep deployment secrets and TLS storage private. --resume retries the same pinned deployment; it is not an upgrade. Read the matching helper version’s documentation before retrying. An assistant can carry out these steps only when it has terminal access to that server.

Official references

All guides