(feature) Add full native installer and self-check page
Expand the systemd installer so it can perform a complete native installation with sensible defaults: copy the checkout into the target app directory, create runtime directories, write the environment file, install dependencies, configure systemd units, and optionally configure nginx. Add a staff-only Django self-check page that verifies runtime settings, required binaries, writable paths, database connectivity, global config state, and systemd service status when available. Document installer overrides and expose the self-check from the main navigation.
This commit is contained in:
27
README.md
27
README.md
@@ -131,14 +131,29 @@ Install OS packages first:
|
||||
apt install python3 python3-venv rsync openssh-client
|
||||
```
|
||||
|
||||
Clone or update the app at `/opt/pobsync/app`, then run:
|
||||
From a checked-out copy of this repository, run:
|
||||
|
||||
```
|
||||
cd /opt/pobsync/app
|
||||
sudo scripts/install-systemd
|
||||
```
|
||||
|
||||
The installer creates:
|
||||
By default the installer copies the checkout to `/opt/pobsync/app`, creates `/opt/pobsync/venv`, writes
|
||||
`/etc/pobsync/pobsync.env`, creates `/var/lib/pobsync` and `/backups`, installs dependencies, runs migrations, collects
|
||||
static files, and starts the services.
|
||||
|
||||
Common overrides:
|
||||
|
||||
```
|
||||
sudo scripts/install-systemd \
|
||||
--app-dir /opt/pobsync/app \
|
||||
--backup-root /mnt/backups/pobsync \
|
||||
--allowed-hosts backup.example.com,localhost,127.0.0.1 \
|
||||
--csrf-trusted-origins https://backup.example.com
|
||||
```
|
||||
|
||||
Use `--force-env` when you intentionally want the installer to rewrite an existing `/etc/pobsync/pobsync.env`.
|
||||
|
||||
The installer creates or updates:
|
||||
|
||||
- `pobsync-web.service` for Gunicorn on `127.0.0.1:8010`
|
||||
- `pobsync-worker.service` for queued backup runs
|
||||
@@ -167,12 +182,14 @@ systemctl status pobsync-web pobsync-worker pobsync-scheduler
|
||||
journalctl -u pobsync-worker -f
|
||||
```
|
||||
|
||||
The Django UI also has a staff-only `/self-check/` page that verifies runtime settings, required binaries, writable
|
||||
paths, database connectivity, global config state, and systemd service state when systemd is available.
|
||||
|
||||
Update an existing native install:
|
||||
|
||||
```
|
||||
cd /opt/pobsync/app
|
||||
git pull
|
||||
sudo scripts/install-systemd
|
||||
sudo scripts/install-systemd --app-dir /opt/pobsync/app
|
||||
```
|
||||
|
||||
Use an existing reverse proxy by forwarding to `http://127.0.0.1:8010`. To install a simple nginx site file as a
|
||||
|
||||
Reference in New Issue
Block a user