Commit Graph
18788 Commits
Author SHA1 Message Date
CanbiZ (MickLesk) 445ecd6da7 dotnetaspwebapi: start the service only once an app is deployed (#18639) 2026-11-12 15:47:59 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 1b21c6a585 Update CHANGELOG.md (#18638)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-12 13:53:20 +00:00
CanbiZ (MickLesk) 1d119abb23 Bump workflow actions to their current majors (#18637) 2026-11-12 14:52:54 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 0f00ec055f Update CHANGELOG.md (#18636)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-12 13:36:36 +00:00
Kristian SkovandCanbiZ 005f52a2ac Updated ASP.NET Web App script to Debian and adds a .Net selection (#18628)
* Updated scripts to Debian and adds a .Net selection

* Uses `fetch_and_deploy_from_url` instead of wget

* Cleanup

* Sets defaults for variables

* Removed unused error message for missing project name

* Unbound variable fix

* Improve .NET SDK installation script

Refactor .NET SDK installation process and update prompts.

* Update Microsoft repository keys and Nginx config

---------

Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-11-12 14:35:38 +01:00
Rögl-Brunner Michel 8144ce5d2a pr-script-test: no container noise in the journal note, real disk use on Incus 2026-11-12 12:31:25 +01:00
Rögl-Brunner Michel 548a6d92ec pr-script-test: upgrade test only in ProxmoxVE, and only for a changed update_script 2026-11-12 12:04:56 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 52b9a5df26 Update CHANGELOG.md (#18632)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-12 10:58:35 +00:00
CanbiZ (MickLesk) c870b5620d pocketbase-bot: apply website metadata requests from Accept/Decline boxes (#18631)
The website now posts each requested change as its own comment with the
command and two checkboxes. Ticking one edits the comment: Accept runs
the command as if a maintainer had typed it, Decline records the
refusal, and the issue closes once every change is decided. Only users
with write access can decide. app_vars is checked field by field before
it is saved.
2026-11-12 11:58:10 +01:00
Rögl-Brunner Michel b6123811be pr-script-test: upgrade path, second update, stability and resources 2026-11-12 11:42:26 +01:00
Rögl-Brunner Michel 3e9ce91252 pr-script-test: test the update of apps deployed from a branch too 2026-11-12 11:29:12 +01:00
Rögl-Brunner Michel 03ea5280e6 CI hosts: single-use, reset before every job 2026-11-12 11:11:19 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 9b6c24f8ff Update CHANGELOG.md (#18627)
Create Changelog Pull Request / update-changelog-pull-request (push) Skipped
Sync ct/install to Incus / dispatch (push) Skipped
Set state to is_deleted in pocketbase / delete-pocketbase-entry (push) Canceled after 0s
Update script timestamp on .sh changes / update-script-timestamp (push) Canceled after 0s
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-12 08:54:34 +00:00
push-app-to-main[bot]andCanbiZ cbb347cc61 Pixelfed (#18523)
* Add pixelfed (ct)

* arm64 unknown

* pixelfed: use nginx_enable_site, enable FFI for vips, align .env with upstream

---------

Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
2026-11-12 09:54:10 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 0ad290c81f Update CHANGELOG.md (#18626)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-12 08:53:15 +00:00
CanbiZ (MickLesk) 0b25f9c6a5 Whisparr-eros: set the first login and save it (#18617)
* fix(whisparr-eros): set the first login and save it

Eros 3.6 turns on forms login and creates the user whisparr with a password that only appears in its log, so a fresh install showed a login nobody knew the password for (#18616). The install now sets a random password through WHISPARR__AUTH__INITIALPASSWORD for the first start only, removes it again, and saves the login in ~/whisparr-eros.creds; the password stays out of the logs.

* whisparr-eros: set the first password in the unit, write creds with cat
2026-11-12 09:52:47 +01:00
Rögl-Brunner Michel 1ac6100001 pr-script-test: build every PR automatically, forks included 2026-11-12 09:22:03 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 46f54a9071 Update CHANGELOG.md (#18625)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-12 08:13:14 +00:00
Rögl-Brunner Michel d67f53176e pr-script-test: /test can pick the platforms, and takes app names in PRs 2026-11-12 09:12:45 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 1edcadd90b Update CHANGELOG.md (#18623)
Create Changelog Pull Request / update-changelog-pull-request (push) Skipped
Sync ct/install to Incus / dispatch (push) Skipped
Update script timestamp on .sh changes / update-script-timestamp (push) Canceled after 0s
Set state to is_deleted in pocketbase / delete-pocketbase-entry (push) Canceled after 0s
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-11
2026-11-11 22:53:34 +00:00
CanbiZ (MickLesk) b1597ac3d1 Paperless-AI: install and update to 4.0 (#18620)
* Paperless-AI: install and update to 4.0

4.0 is a rewrite as a single Node.js process. requirements.txt is gone,
so every install since its release on 2026-11-10 failed at pip, and an
update would have failed the same way.

Install and update now build it the way upstream's image does. An
update from 3.x removes the Python RAG service and rewrites the unit
without data/.env as its environment: 4.0 migrates that file on first
start and treats any setting passed as a variable as locked.

* Paperless-AI: migrate pre-RAG 3.x units too, drop comments
2026-11-11 23:53:08 +01:00
CanbiZ (MickLesk) 0f2e4022c0 Immich: bump to 3.4.1 (#18619) 2026-11-11 21:39:28 +01:00
juronja bf5fa77f0b TrueNas: Fixing isolookup and dialog (#18578)
* fix(truenas-vm): improve ISO fetching logic and exclusions

* fix(truenas-vm): enhance ISO selection and error handling

* fix(truenas-vm): improve ISO selection and error handling

* fix(truenas-vm): enhance ISO lookup and selection process to filter by stable releases only and improve user dialog
2026-11-11 21:33:09 +01:00
Rögl-Brunner Michel fb58720888 arm-runner-setup: get past the runner's DNS failing for the arm64 mirror
Create Changelog Pull Request / update-changelog-pull-request (push) Skipped
Sync ct/install to Incus / dispatch (push) Skipped
Set state to is_deleted in pocketbase / delete-pocketbase-entry (push) Canceled after 0s
Update script timestamp on .sh changes / update-script-timestamp (push) Canceled after 0s
The ARM runner's resolver cannot resolve ports.ubuntu.com since this
afternoon; apt then hangs. The name is now looked up over DNS-over-HTTPS
when needed, and a failing apt prints the runner's network state.
2026-11-11 16:24:38 +01:00
Rögl-Brunner Michel 7258873339 arm-runner-setup: time limits, so a hung setup can't hold the report 2026-11-11 16:03:49 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 243c3b1047 Update CHANGELOG.md (#18612)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-11 14:24:52 +00:00
CanbiZ (MickLesk) 5a4f599f4f Fill platforms when a script moves from DevScripts (#18611)
Setting is_dev to false left platforms as DevScripts had them, usually empty or pve only, although a container in ProxmoxVE is synced to Incus from then on. 36 production records had no platforms because of it. The migration now sets pve and incus for containers, pve where nothing was set, and amd64 for an empty architectures.
2026-11-11 15:24:20 +01:00
Rögl-Brunner Michel 6163037afd pr-script-test: every ct/ script on ARM64 too, as information only
- ARM runs on GitHub's ubuntu-24.04-arm runner (free for public repos), set
  up by arm-runner-setup.sh: Incus 6.0 LTS from Zabbly (key pinned, APT
  pin), screenshots through Playwright. ARM rows are shown but never count:
  not in the headline, the check, the review or the approval, and the job
  runs with continue-on-error.
- var_arm64=no is not built on ARM; unset is built with var_arm64=yes.
- arm-script-test.yml builds one script on ARM by hand, posting nothing.
- Update test: only the versions update_script checks are set back.
- The screenshot browser gets a writable HOME.
2026-11-11 13:31:33 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 95abb0a2d6 Update CHANGELOG.md (#18610)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-11 12:26:01 +00:00
CanbiZ (MickLesk) 76996d2d82 Pocketbase: install and update from the new host (removed in github) (#18609)
* fix(pocketbase): install and update from the new host

PocketBase moved from GitHub to ganigeorgiev.com in October 2026; the GitHub repo is archived at v0.40.6 and gets no new releases. Install and update now read the latest stable tag from the new release API and download the zip from its fixed download path. The update no longer runs pocketbase update, which older binaries point at GitHub.

* fix(pocketbase): query the release API with curl_with_retry
2026-11-11 13:25:36 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 009c7b0c0e Update CHANGELOG.md (#18608)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-11 11:30:22 +00:00
Rögl-Brunner Michel 01f37f501f pr-script-test: build vm/ scripts, and every ct/ script on Incus too
- vm/ scripts run unattended (VM_UNATTENDED=1) on the Proxmox hosts, IDs
  9100-9199, one VM per host at a time. Checks: success line, the VM keeps
  running, a DHCP lease, and a ${VM_IP} URL answering 200. Console
  screenshot from QEMU when there is no web UI. ARM64-only scripts are
  listed as not built.
- Every ct/ script now builds on pve and incus (new incus-test runners,
  incus-ci-host-setup.sh); the comment gets a Platform column.
- Spinner frames are dropped from logs and live output.
- The sweeper ignores and removes locks of killed jobs (older than 3h).
2026-11-11 11:48:57 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] b60ff8540a Update CHANGELOG.md (#18606)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-11 10:30:42 +00:00
CanbiZ (MickLesk) 3aca471c7b Immich: bump to 3.4.0 (#18600)
3.4.0 adds FUTO Backups, which run restic from PATH and use restic-proxy when it is there. Both are built from the refs the server Dockerfile pins, and an update only rebuilds them when those change. pigz is installed, which database backups now use for compression when present. mise skips its own restic, and the extism-js fallback follows the js-pdk version in mise.toml (v1.7.0) instead of a fixed v1.6.0.
2026-11-11 11:30:11 +01:00
Rögl-Brunner Michel f63d1bd425 pr-script-test: test the update too, and /test <app> in issues
Update test: after a passing install, every version file the install
wrote (~/.<app>) is set back to 0.0.0-ci and the container's own
`update` runs unattended, pulling the PR's ct/ script, so
update_script's real path is exercised. It must report "Updated
successfully" without errors, and services and URL are checked again.
Apps without a version file get "nothing to update", a GitHub rate
limit counts as not tested. Separate Install and Update columns in the
report; a failed update requests changes like a failed install.

The job's read-only token is passed to the build so release lookups are
not rate limited (all test containers share one public IP).

/test <app> in an issue builds that app from main, install and update,
and answers in the issue; no check run, review or approval.
2026-11-11 10:46:01 +01:00
Rögl-Brunner Michel d859b2f764 pr-script-test: runners named after their host
A second test host (pve-ci-2) now serves both repositories. The setup
script registered runners as pve-ci-<repo> with --replace, which would
have made it take over the first host's registration; they are now
named <host>-<repo>.
2026-11-11 10:30:43 +01:00
Michel Roegl-Brunner 81e8e0495b Increase timeout from 60 to 90 minutes 2026-11-11 09:41:57 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] ebd69e822d Update CHANGELOG.md (#18604)
Create Changelog Pull Request / update-changelog-pull-request (push) Skipped
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-11 08:18:37 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] c1e45c1c51 Update CHANGELOG.md (#18599)
Create Changelog Pull Request / update-changelog-pull-request (push) Skipped
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-10
2026-11-10 18:36:57 +00:00
Rögl-Brunner Michel e1dd96614d pr-script-test: approve migrations only when they change nothing else
Create Changelog Pull Request / update-changelog-pull-request (push) Skipped
Sync ct/install to Incus / dispatch (push) Skipped
Update script timestamp on .sh changes / update-script-timestamp (push) Canceled after 0s
Set state to is_deleted in pocketbase / delete-pocketbase-entry (push) Canceled after 0s
Anyone with write access can push to a push-app-to-main branch, and the
bot's approval counts toward the main ruleset's required review. The
approval now only covers what a migration contains: if the PR changes
anything besides ct/*.sh and install/*.sh (workflows, misc/, ...), it is
tested as usual but not approved, and the result comment says why.
2026-11-10 16:34:29 +01:00
Rögl-Brunner Michel cfada6ed6a pr-script-test: run on DevScripts migrations by itself, approve passes
PRs that the push-app-to-main app opens on a branch of this repository
(scripts moving over from DevScripts, reviewed and tested there,
writable only by writers) are now built on pull_request_target for
every push, pinned to the pushed commit; an event for an older push is
ignored. When every script passes, the bot approves the tested commit,
which counts toward the main ruleset's required review; a new push
drops it as stale, and a later run that does not fully pass withdraws
it. Untestable (CPU) and setup errors are never approved. All other
PRs still need /test and are never approved.
2026-11-10 16:32:40 +01:00
Rögl-Brunner Michel cc27caf470 pr-script-test: say why nothing was built
A /test on a PR that only changes vm/ (#18578, TrueNAS) found nothing
to build and stopped without a word. The gate now always answers:
"Nothing to build" with the reason for each file (vm/ not covered,
tools/ not built, install/ script without a ct/ script of the same
name, more than 10 scripts), and when some scripts are built the rest
are listed as "Not built" in the progress and the result comment.
File names from the PR are put in code spans with backticks and line
breaks removed.
2026-11-10 16:24:59 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] dc9d75a5ad Update CHANGELOG.md (#18597)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-10 15:22:34 +00:00
Michel Roegl-Brunner 79481f3a74 pr-script-test: pre-answer prompt variables built in a loop (#18596)
OpenCloud reads var_opencloud_${server}_fqdn for each server in
servers=("opencloud" "collabora" "wopi"), so the scan for literal
var_ names found nothing and the build stopped at the first prompt
(#18586). Templates of the form var_...${x}... are now expanded with
the words of `for x in ...`, or of the array that loop walks; nothing
is executed. Hostname-like answers are derived from the variable name
(ci-opencloud-collabora.example.test), so several cannot collide.
2026-11-10 16:22:06 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] bd7f6f60bd Update CHANGELOG.md (#18595)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-10 15:05:16 +00:00
Michel Roegl-Brunner db30bcd960 Build PR scripts on a Proxmox test host via /test (#18594)
A maintainer comments `/test` on a pull request and a self-hosted
runner on a disposable Proxmox VE host builds every ct/ script the PR
touches (and the ct/ entry point of every changed install/ script),
checks the result and reports back on the PR.

- Gate: only users with write access; builds the latest commit only if
  nothing was pushed to the fork after the comment, or a pinned
  `/test <full sha>`.
- Build: the PR tree at that commit is served from the test host with
  every raw.githubusercontent.com/community-scripts/ProxmoxVE/main URL
  rewritten to it, so engine changes in the PR are tested too.
  Unattended (mode=default); prompts declared the AGENTS.md way are
  pre-answered with CI values.
- Checks: build and install succeed, container running, no failed
  units, the URL the script prints answers 200. Screenshot of that URL.
- Report: check run, one comment (results, screenshot, install log,
  mentions of the PR author and whoever asked), changes requested on a
  real failure, dismissed again on a pass. CPU-feature failures (no
  AVX2 on the test host) are marked untestable, not failed.
- The test job has a read-only token and no secrets; its runner carries
  only the proxmox-test label. Container IDs 9050-9099.

Same file as in DevScripts; github.repository selects the URLs and the
container ID range.
2026-11-10 16:04:32 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] cba9a593cf Update CHANGELOG.md (#18591)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-10 09:40:40 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] 9fa4751635 Update CHANGELOG.md (#18590)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-10 09:35:05 +00:00
Michel Roegl-Brunner aba63a4e3b Force symbolic link update for writefreely (#18588) 2026-11-10 10:34:34 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 7b985d5ed8 Update CHANGELOG.md (#18589)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-11-10 09:28:16 +00:00