You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The forgejo-runner script is ready for testing: bash -c "$(curl -fsSL https://github.com/community-scripts/ProxmoxVED/raw/main/ct/forgejo-runner.sh)"
Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
so far, found issue: mode=generated (when copying the install from generator) error.
root@pve-testing:~# mode="generated" var_unprivileged="0" var_ctid="<redacted>" var_cpu="12" var_ram="16384" var_disk="128" var_net="static" var_gateway="<redacted>" var_net="<redacted>" var_nesting="1" var_tags="git" var_container_storage="<redacted>" var_template_storage="<redacted>-templates" bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/ct/forgejo-runner.sh)"<removed ascii title for brevity>
💡 Running pre-flight checks...
✔️ Kernel key limits OK (keys: 65/2000)
✔️ Storage with 'rootdir' support available (3 storage(s))
✔️ Storage with 'vztmpl' support available (2 storage(s))
✔️ Sufficient storage space (<redacted>: 9.7TB free, need 128GB)
✔️ Default network bridge vmbr0 available
✔️ DNS resolution working
✔️ No enterprise repositories enabled
✔️ Standalone node (no cluster quorum needed)
✔️ LXC stack is up to date (pve-container=6.1.2)
✔️ Container IDs available (next: <redacted>)
✔️ Template server reachable (download.proxmox.com)
✔️ Template available locally for debian 13
✔️ All pre-flight checks passed (12/12)
✖️ Invalid option: generated
root@pve-testing~# echo $?
1
Based on hitting that, I did the following:
I worked on some fixes for the forgejo-runner script to support mode="generated" (unattended/config generator installs). The current install script references two functions (prompt_input_required and show_missing_values_warning) that don't exist in build.func, which means the install script will fail outright.
Changes in my branch forgejo-runner-fix:
CT script (ct/forgejo-runner.sh):
Export var_forgejo_instance, var_forgejo_runner_token, and var_runner_labels so they survive the lxc-attach boundary into the container. These are app-specific variables not in build.func's whitelist, so they need explicit exports.
Replaced nonexistent prompt_input_required calls with standard read -r -p prompts (matching the pattern used by pocketid, openziti-controller, etc.)
Prompts are skipped when variables are already set via environment (generated/unattended mode)
Added hard error if no runner registration token is provided
Made runner labels configurable via var_runner_labels — additional labels are appended to the default rather than replacing it
Updated default runner image from node:20-bookworm to node:22-bookworm (Node 24 is current LTS; Node 22 was chosen to avoid major breaking changes. Node 20 EOL is April 2026)
Removed call to nonexistent show_missing_values_warning
Out of sheer curiosity , is there a reason mode=generated (added to ProxmoxVE in PR community-scripts/ProxmoxVE#12807 by @MickLesk on March 12) hasn't been ported to ProxmoxVED's build.func? Right now mode="generated" hits "Invalid option" in ProxmoxVED. Is mode="default" the intended way to do unattended installs here, or should the generated case be synced over?
I'm happy to include the generated mode port in my draft PR #1645 , open a separate PR specifically for it, or leave it for you all to handle. Whatever works best.
sounds good! i'll keep an eye on this and mark the related PR #1645 as ready to merge/out of draft status once those changes have been ported over! Thanks Y'all.
sounds good! i'll keep an eye on this and mark the related PR #1645 as ready to merge/out of draft status once those changes have been ported over! Thanks Y'all.
I installed the Forgejo-Runner LXC and in general everything worked well, but maybe someone needs the following additional information.
Starting with Forgejo v15.0, there is a new runner registration process - so you have to update the Forgejo Instance to get an UUID. Until then, there was only the "Registration Token".
The config-path is not /root/.runner it's /etc/forgejo-runner/config.yaml.
Finally, just a quick personal note...
Thank you for creating this Forgejo Runner LXC.
Forgejo is awesome and we all appreciate the benefits of a homelab environment with a private repository collection, action runners, a container registry, and all the trimmings.
I actually had quite a few problems setting up my first Runner back then.
This automated installation should also help some people get started with modern development tools.
I installed this at least 8 days ago and forgot to give feedback, it all worked wonderfully with minimal interaction, i just needed to provide the essential details and i was set.
Unable to select a custom network device during setup. Choosing vmbr0 worked fine. After installation I was able to manually swap the container to the correct network device
Activity
[-]forgejo-runner[/-][+]Forgejo-Runner[/+]MickLesk commentedon Mar 27, 2026
Only Testable with:
Forgejo Instance URL:
Forgejo Runner Registration Token:
github-actions commentedon Mar 27, 2026
The forgejo-runner script is ready for testing:
bash -c "$(curl -fsSL https://github.com/community-scripts/ProxmoxVED/raw/main/ct/forgejo-runner.sh)"Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
imjustafox commentedon Mar 30, 2026
I can handle testing of this, as I run a production forgejo instance. I'll report back here when done!
imjustafox commentedon Mar 30, 2026
so far, found issue:
mode=generated(when copying the install from generator) error.Based on hitting that, I did the following:
I worked on some fixes for the forgejo-runner script to support mode="generated" (unattended/config generator installs). The current install script references two functions (prompt_input_required and show_missing_values_warning) that don't exist in build.func, which means the install script will fail outright.
Changes in my branch forgejo-runner-fix:
CT script (ct/forgejo-runner.sh):
Install script (install/forgejo-runner-install.sh):
Example unattended usage:
mode="generated" var_cpu="12" var_ram="16384" var_disk="128" var_forgejo_instance="https://my-forgejo.example.com" var_forgejo_runner_token="MY_TOKEN" var_runner_labels="my-custom:docker://alpine:3" bash -c "$(curl -fsSL ...ct/forgejo-runner.sh)"
I've opened a PR to fix the above: #1645
imjustafox commentedon Mar 30, 2026
Out of sheer curiosity , is there a reason
mode=generated(added to ProxmoxVE in PR community-scripts/ProxmoxVE#12807 by @MickLesk on March 12) hasn't been ported to ProxmoxVED'sbuild.func? Right nowmode="generated"hits "Invalid option" in ProxmoxVED. Ismode="default"the intended way to do unattended installs here, or should thegeneratedcase be synced over?I'm happy to include the
generatedmode port in my draft PR #1645 , open a separate PR specifically for it, or leave it for you all to handle. Whatever works best.michelroegl-brunner commentedon Apr 2, 2026
@MickLesk Can you do mode generated for dev? I can do it earliest Tuesday next week.
MickLesk commentedon Apr 2, 2026
maybe next week too. Focus on Bugfixing and little things in main this week
imjustafox commentedon Apr 2, 2026
sounds good! i'll keep an eye on this and mark the related PR #1645 as ready to merge/out of draft status once those changes have been ported over! Thanks Y'all.
CerberusStyle commentedon Apr 2, 2026
yep this one is a fail.
michelroegl-brunner commentedon Apr 7, 2026
Is added, please test
3 remaining items
mariovata commentedon May 15, 2026
Labels input is not trimmed, leading spaces cause invalid config.
During installation we are prompted to enter tags
If we add a space after a value the script parses it correctly (default becomes -> ' default'), but creates this in the config which is invalid:
Instead of this:
Logs:
May 15 20:46:09 forgejo-runner forgejo-runner[5255]: time="2026-05-15T20:46:09+02:00" level=warning msg="Missing env file ".env" is ignored"
May 15 20:46:09 forgejo-runner forgejo-runner[5255]: Error: invalid configuration: invalid
serversettings: connection "forgejo" is invalid: malformedlabel" default": inv>May 15 20:46:09 forgejo-runner systemd[1]: forgejo-runner.service: Main process exited, code=exited, status=1/FAILURE
May 15 20:46:09 forgejo-runner systemd[1]: forgejo-runner.service: Failed with result 'exit-code'.
FairTradeOrange commentedon May 28, 2026
I installed the Forgejo-Runner LXC and in general everything worked well, but maybe someone needs the following additional information.
/root/.runnerit's/etc/forgejo-runner/config.yaml.Finally, just a quick personal note...
Thank you for creating this Forgejo Runner LXC.
Forgejo is awesome and we all appreciate the benefits of a homelab environment with a private repository collection, action runners, a container registry, and all the trimmings.
I actually had quite a few problems setting up my first Runner back then.
This automated installation should also help some people get started with modern development tools.
syl3n7 commentedon Jun 6, 2026
I installed this at least 8 days ago and forgot to give feedback, it all worked wonderfully with minimal interaction, i just needed to provide the essential details and i was set.
github-actions commentedon Jun 11, 2026
A PR has been created for forgejo-runner: community-scripts/ProxmoxVE#15046
rowieh commentedon Jun 12, 2026
Thank you for the effort writing this script!
I did the installation today, and so far, no issues to report. Everything worked very smooth.
pjd-hermes commentedon Jun 16, 2026
Unable to select a custom network device during setup. Choosing vmbr0 worked fine. After installation I was able to manually swap the container to the correct network device
MickLesk commentedon Jun 16, 2026
Advanced Settings ?
michelroegl-brunner commentedon Jun 19, 2026
Merged with #15181 in ProxmoxVE
github-actions commentedon Jun 19, 2026
Files deleted with PR #1938
MickLesk commentedon Jun 19, 2026
@michelroegl-brunner --- damn bot