* fix(frontend): use github-versions.json for version display
- Update AppVersion type to match new format with slug field
- Switch from versions.json to github-versions.json API
- Simplify version matching by direct slug comparison
- Remove 'Loading versions...' text - show nothing if no version found
* feat(frontend): show tooltip for pinned versions
* fix(api): add github-versions endpoint and fix legacy versions route
The Debian 13 LXC template has a bug where / is owned by nobody instead
of root. This causes systemd-tmpfiles to fail with exit code 73 during
package installation (e.g. authelia).
Fix by checking and correcting / ownership at container setup.
* feat(workflow): add GitHub-based versions.json updater
Replaces newreleases.io with direct GitHub API queries.
Extracts repos from fetch_and_deploy_gh_release calls in install scripts.
Runs 2x daily (06:00 and 18:00 UTC).
* feat(workflow): extend version crawler with multiple sources
- Method 1: fetch_and_deploy_gh_release calls (direct)
- Method 2: GitHub URLs extracted from all scripts
- Method 3: VM image sources (HAOS)
- Method 4: Docker Hub / GHCR versions
- Method 5: npm Registry versions
Also tries tags fallback when no releases exist.
* feat(workflow): rewrite with version-sources.json config
- Generates version-sources.json with structured metadata
- Each entry has: slug, type, source, script, version, date
- Extracts from: fetch_and_deploy_gh_release, GitHub URLs, npm, Docker
- Generates versions.json for backward compatibility
- Fully automatic, no manual mapping needed
* feat(workflow): add manual GitHub mappings and pveam support
- Method 5: Manual GitHub mappings for 36 apt-based apps
(grafana, redis, postgresql, mariadb, influxdb, etc.)
- Method 6: Proxmox LXC templates (debian, ubuntu, alpine)
via download.proxmox.com index
- Method 7: Special sources (HAOS VM)
Total coverage: ~310+ apps
* feat(workflow): expand manual GitHub mappings to 75 apps
Added mappings for:
- Apache projects (cassandra, couchdb, guacamole, tomcat)
- Media apps (tdarr, unmanic, shinobi)
- DevOps (coolify, dokploy, runtipi, sonarqube)
- Databases (mongodb, mysql, neo4j, rabbitmq)
- And 30+ more apps
Total manual mappings: 75
* feat: add manual placeholders for 34 unknown-source apps
- Added 34 apps with 'manual:-' type for apps without known sources
- Added manual type handler in version-fetch (returns '-' placeholder)
- Added manual counter to summary output
- Coverage now 100% (all 405 scripts included)
Manual entries can be updated later when sources are discovered.
* Refactor and update GitHub workflow files
Moved several workflow files to a 'bak' backup directory and renamed 'close-ttek-issues.yaml' to 'close-tteck-issues.yaml'. Refactored 'update-versions-github.yml' to focus on extracting and updating GitHub versions, simplified the extraction logic, and updated the workflow schedule to run four times daily. Minor variable and logic improvements were made in 'close-discussion.yml'.
* clean file
* chore: empty versions.json for workflow test
* feat(build.func): update dynamic values in LXC profile on update_motd_ip
- Updates only OS/Hostname/IP lines in /etc/profile.d/00_lxc-details.sh
- Checks if values changed before updating (avoids unnecessary I/O)
- Preserves user customizations (app name, GitHub link, custom lines)
- Only updates if file exists and contains 'community-scripts' marker
- Fixes outdated OS version display after in-place upgrades (e.g., Bookworm → Trixie)
- Now reads OS name/version from /etc/os-release at login time
Fixes community-scripts/ProxmoxVE issue with static MOTD after OS upgrade
* add update_motd_ip in routine
Set SYSTEMD_OFFLINE=1 for apt/dpkg in binary mode to prevent systemd-tmpfiles
'unsafe path transition' errors in unprivileged containers (Debian 13+/systemd 257+).
- Change msg_error to msg_warn when login not found
- Add helpful user instructions for manual setup
- Script now exits normally instead of appearing stuck
- Resolves#10988
- Remove Docker-specific 'master_process' and 'pid' directives from nginx.conf
- These directives conflict when used with systemd nginx in LXC environment
- Keep complete upstream nginx.conf configuration otherwise intact
- Add PORT variable replacement to use port 80
- Add nginx -t validation before reload