(feature) Make the native installer interactive

Add an interactive setup flow to the systemd installer with defaults
for install paths, service identity, backup storage, bind address,
allowed hosts, CSRF origins, OS package installation, MariaDB support,
nginx setup, and first superuser creation.

Keep scripted installs supported through non-interactive mode, existing
overrides, environment variables, and explicit superuser flags.

Print a user-facing completion summary with the control panel URL,
Self Check reminder, first setup steps, and useful service log commands.
This commit is contained in:
2026-05-19 18:22:18 +02:00
parent 44d821c638
commit 38f946d1c4
3 changed files with 226 additions and 0 deletions

View File

@@ -34,6 +34,9 @@ From a checked-out copy of this repository, run:
sudo scripts/install-systemd
```
When run from a terminal, the installer asks for the important paths and settings with sensible defaults already filled
in. It can also create the first Django superuser and prints the next steps when installation is complete.
The installer will, by default:
- install required Debian/Ubuntu OS packages with `apt-get`
@@ -44,6 +47,7 @@ The installer will, by default:
- install Python dependencies
- run migrations and collect static files
- install and start `pobsync-web`, `pobsync-worker`, and `pobsync-scheduler`
- guide you through the first login and setup steps
Common overrides:
@@ -56,6 +60,7 @@ sudo scripts/install-systemd \
Use `--no-install-os-packages` if you want to manage system packages yourself. Use `--force-env` only when you want the
installer to rewrite an existing `/etc/pobsync/pobsync.env`.
Use `--non-interactive` for scripted installs.
For MariaDB support, add: