Skip to content

Advanced source installation

Use this path for a custom Caddy build or an agent source build. You need Go 1.27.2, GOEXPERIMENT=jsonv2 and authorized private-repository access through an existing Git credential helper or SSH configuration. Preserve other GOPRIVATE entries if present. The packaged installation does not need Go or a source checkout.

These commands use the reviewed implemented source 6b966e265f5535167da8413f2c7b7b2964a5e873. Use another ref only after reviewing its compatibility with this dependency baseline. Ensure your Go bin directory is on PATH:

Terminal window
export GOPRIVATE=github.com/cztamas/qwacamole${GOPRIVATE:+,$GOPRIVATE}
export GOWORK=off GOEXPERIMENT=jsonv2
go install github.com/caddyserver/xcaddy/cmd/[email protected]
xcaddy build v2.11.7 \
--with github.com/cztamas/qwacamole/caddy@6b966e265f5535167da8413f2c7b7b2964a5e873 \
--output ./caddy-qwac
./caddy-qwac list-modules
go version -m ./caddy-qwac

Expect tls.issuance.qwac and http.handlers.qwac, without development modules or local replacements. Keep this executable separate from an existing Caddy installation. Continue with the Caddy reference.

Use a new scratch directory and the exact reviewed source ref. Installation does not use a workspace or local module replacements:

Terminal window
(
agent_install_dir=$(mktemp -d)
cd "$agent_install_dir"
GOWORK=off GOEXPERIMENT=jsonv2 GOPRIVATE=github.com/cztamas/qwacamole${GOPRIVATE:+,$GOPRIVATE} \
GOMODCACHE="$agent_install_dir/modules" GOBIN="$agent_install_dir/bin" \
go install github.com/cztamas/qwacamole/agent/cmd/qwacamole-agent@6b966e265f5535167da8413f2c7b7b2964a5e873
"$agent_install_dir/bin/qwacamole-agent" version -json
go version -m "$agent_install_dir/bin/qwacamole-agent"
sudo install -m 0755 "$agent_install_dir/bin/qwacamole-agent" /usr/local/bin/qwacamole-agent
)

Review the destination before copying; choose a new path for an existing installation. Continue with manual configuration or the Ubuntu setup command in the quickstart.