- packaging/linux: netx-<ver>-linux-x86_64.tar.gz with bundled Python 3.12,
PostgreSQL 16 and web/dist (glibc >= 2.17). install.sh (install/update/
reinstall), netxctl (start/stop/status/logs, set-port, set-bind,
set-pg-port, reconfigure-db, check-update/update/auto-update, backup,
uninstall), systemd units, nohup fallback without systemd. Privilege
drop, detaching and tar go through the bundled Python, so bare images
without su/runuser/setsid/tar work.
- Updates: same GitHub/Forgejo/manifest sources as Windows, sha256
verified, pre-update pg_dump, automatic rollback when the new version
does not come up.
- Non-loopback bind: generated bootstrap admin password and
NETX_UME_VERIFY_TLS=true, as security_bootstrap requires.
- Build in manylinux2014 + check_bundle.sh (GLIBC <= 2.17, no missing
libs); release-linux.yml builds on v* tags and smoke-tests offline on
CentOS 7, Rocky 9, Ubuntu 18.04/24.04, Debian 12, openSUSE Leap 15 and
openEuler 22.03 before attaching to the release.
- Windows: Setup DB page gets a bundled PG port field and
/BundledPgPort=; set_pg_port.ps1 + tray "Built-in database port";
reconfigure keeps the configured port; postgresql.conf is written
without a BOM (PS 5.1 Set-Content -Encoding utf8 broke postgres).
- Forgejo/GitHub publish scripts include the Linux package.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Use pwsh -File with UTF-8 BOM scripts, and default Forgejo uploads to the public domain when LAN IP is unreachable.
Co-authored-by: Cursor <cursoragent@cursor.com>
Offline Setup and check_update now upgrade in place without the database wizard; zip packages are no longer published.
Co-authored-by: Cursor <cursoragent@cursor.com>
Chinese packaging scripts without BOM were misread as ANSI and failed at first-run.
Document that bundled Python 3.13+ needs Server 2016+ / Win10+.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ship installable releases via zip/Inno Setup with optional bundled Postgres, API-hosted SPA, manual update path, and CI workflow for future tag builds.
Co-authored-by: Cursor <cursoragent@cursor.com>