deploy_alphie_runner_remote.sh script doesThe runner deploy script is designed to run on your controller or admin workstation. It connects to one or more remote Linux hosts over SSH and turns them into Alphie runners.
For each target host, the script:
root or ubuntu).alphie)./var/alphie for workspaces, logs, and runtime state.container_file_t) to /var/alphie.alphie-runner-health on the runner.Host entry to
your local ~/.ssh/config for easy access.bashssh and scpssh-keygenubuntu, root, etc.).dnf or yum)apt-get)sudo, dzdo, doas, or su.22).ubuntu).sudo, dzdo, doas, su, or none).alphie).~/.ssh/alphie/<host>/) unless one already exists.Host alphie-<host> entry to your ~/.ssh/config pointing at the runner user, host, port, and keyfile.alphie-runner-health on the remote host.For each runner host, the remote installer script:
dnf, yum, or apt-get).slirp4netns, fuse-overlayfs, uidmap on Debian/Ubuntu, etc.).git, rsync, tar, jq, curl.alphie)./var/alphie/ws, /var/alphie/logs, and /var/alphie/run,
owned by the runner user.~runner/.ssh and adds the controller's public key to authorized_keys.Match User block so that runner logins only use public-key auth (no passwords).container_file_t labels to /var/alphie./etc/subuid and /etc/subgid entries exist.newuidmap/newgidmap if present.loginctl enable-linger for the runner user (if systemd is present).podman info under the runner account./usr/local/bin/alphie-runner-health, which reports CPU, load averages,
memory, and rootless Podman status for the runner user.scp deploy_alphie_runner_remote.sh user@controller:/path/to/
chmod +x deploy_alphie_runner_remote.sh
./deploy_alphie_runner_remote.sh
Prompt:
Enter target hostnames/IPs (space-separated) OR a path to a file with one host per line:
runner1.example.com runner2.example.com 10.10.10.5
/path/to/runner_hosts.txt
22)ubuntu)sudo / dzdo / doas / su / none
Default is sudo. Use none only if you are already root on the remote side.
Prompt:
Runner username to create/use [alphie]:
alphie.dnf makecache, yum makecache, or
apt-get update before installing packages.
dnf upgrade, yum update, or
apt-get upgrade.
firewalld or ufw is present, the script opens either the standard SSH
service or the new SSH port you specify.
restorecon on
/var/alphie.
Prompt:
Change runner's sshd port after setup? (leave blank for no change):
2222) to have the script:
/etc/ssh/sshd_config on the runner host.~/.ssh/config.alphie), with home directory and SSH key-only login./var/alphie/ws – workspaces/var/alphie/logs – logs/var/alphie/run – runtime state/usr/local/bin/alphie-runner-health installed:
alphie-runner-health alphie
prints:
OK, ERR, or NOUSER)~/.ssh/alphie/<sanitized-host>/id_rsa
~/.ssh/config for each runner, for example:
Host alphie-runner1.example.com
HostName runner1.example.com
User alphie
Port 22
IdentityFile ~/.ssh/alphie/runner1.example.com/id_rsa
IdentitiesOnly yes
ssh alphie-runner1.example.com
or explicitly:
ssh -i ~/.ssh/alphie/<host>/id_rsa alphie@<host>
Once runners are prepared, you can point your Alphie controller at them using these credentials and ports when you register runner endpoints in the Alphie UI.