Files
3x-ui-web-src/deploy/marketplace/hetzner
Sanaei f727d04f65
CI / go-test (push) Canceled after 0s
CI / postgres-durable-first (push) Canceled after 0s
CI / codegen (push) Canceled after 0s
CI / govulncheck (push) Canceled after 0s
CI / race (push) Canceled after 0s
CI / fuzz-smoke (push) Canceled after 0s
CI / golangci (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
CodeQL Advanced / Analyze (go) (push) Canceled after 0s
CodeQL Advanced / Analyze (actions) (push) Canceled after 0s
CodeQL Advanced / Analyze (javascript-typescript) (push) Canceled after 0s
Docs CI / build (push) Canceled after 0s
Docs Deploy (GitHub Pages) / build (push) Canceled after 0s
Release 3X-UI / build (386) (push) Canceled after 0s
Release 3X-UI / build (amd64) (push) Canceled after 0s
Release 3X-UI / build (arm64) (push) Canceled after 0s
Release 3X-UI / build (armv5) (push) Canceled after 0s
Release 3X-UI / build (armv6) (push) Canceled after 0s
Release 3X-UI / build (armv7) (push) Canceled after 0s
Release 3X-UI / build (s390x) (push) Canceled after 0s
Release 3X-UI / Build for Windows (amd64) (push) Canceled after 0s
Deploy Smoke Tests / noninteractive-install (ubuntu-24.04-arm) (push) Canceled after 0s
Deploy Smoke Tests / noninteractive-install (ubuntu-latest) (push) Canceled after 0s
Deploy Smoke Tests / release-tag-install (ubuntu-24.04-arm) (push) Canceled after 0s
Deploy Smoke Tests / release-tag-install (ubuntu-latest) (push) Canceled after 0s
Docs Deploy (GitHub Pages) / deploy (push) Canceled after 0s
Release 3X-UI / Publish rolling dev release (push) Canceled after 0s
v3.7.0
2026-08-24 15:07:15 +02:00
..
2026-08-24 15:07:15 +02:00

3x-ui on Hetzner Cloud

Hetzner Cloud does not have a third-party image marketplace the way AWS does. Ship 3x-ui via cloud-init: each instance installs non-interactively and generates unique per-instance credentials (no admin/admin, no shared secret).

cloud-init (no image build)

Use the generic user-data from ../../cloud-init/. It installs 3x-ui non-interactively and generates unique per-instance credentials.

Web console: Create Server → Cloud config → paste deploy/cloud-init/cloud-init.yaml.

CLI:

hcloud server create \
  --name xui-1 \
  --type cx22 \
  --image ubuntu-24.04 \
  --user-data-from-file deploy/cloud-init/cloud-init.yaml

After boot, fetch the generated credentials:

ssh root@<server-ip> 'cat /etc/x-ui/install-result.env'

"App"-style listing

Hetzner's curated apps live in the community repo github.com/hetznercloud/apps: each app is essentially a documented cloud-init config plus metadata. To propose 3x-ui as a Hetzner app, follow that repo's contribution pattern and base the app's cloud-config on deploy/cloud-init/cloud-init.yaml.