forgejo-runner register writes .runner config to the current working
directory. The install script runs in a temp directory (via build.func),
so the config was lost on cleanup. The systemd service expects it in
/root (WorkingDirectory=/root), so cd there before registering.
core.func overwrites $HOSTNAME with a formatted emoji string for display
purposes, causing runner registration to send garbled ANSI codes as the
runner name. Use $(hostname) to get the actual system hostname.
- Export app-specific variables (var_forgejo_instance, var_forgejo_runner_token,
var_runner_labels) in ct script so they survive lxc-attach into the container
- Replace nonexistent prompt_input_required/show_missing_values_warning calls
with standard read prompts that skip when variables are pre-set
- Add hard error when no runner token is provided
- Make runner labels configurable via var_runner_labels instead of hardcoded
- Update default runner image from node:20-bookworm to node:22-bookworm (Node 22 LTS)