(ops) Add native update wrapper for production deploys
Add scripts/update-systemd as a safer routine deploy entrypoint for native systemd installations. The wrapper keeps updates non-interactive, preserves the existing environment file, skips OS package installation, and avoids superuser creation prompts while still reusing the installer refresh flow. Document the update path in the README and capture the maintenance expectation in the development notes.
This commit is contained in:
17
README.md
17
README.md
@@ -177,16 +177,27 @@ From a fresh checkout or the existing app directory:
|
||||
|
||||
```
|
||||
git pull
|
||||
sudo scripts/install-systemd --non-interactive
|
||||
sudo scripts/update-systemd
|
||||
```
|
||||
|
||||
The installer preserves an existing `/etc/pobsync/pobsync.env` unless you pass `--force-env`. It refreshes the installed
|
||||
app, Python dependencies, migrations, static files, and restarts the systemd services so new Django code is loaded.
|
||||
The updater is a thin wrapper around the installer for normal production deploys. It preserves the existing
|
||||
`/etc/pobsync/pobsync.env`, skips OS package installation, skips superuser creation, refreshes the installed app, updates
|
||||
Python dependencies, runs migrations, collects static files, and restarts the systemd services so new Django code is
|
||||
loaded.
|
||||
|
||||
Use the full installer again when you intentionally want to change install-time settings, install OS packages, enable
|
||||
nginx, or rewrite the environment file:
|
||||
|
||||
```
|
||||
sudo scripts/install-systemd --non-interactive
|
||||
sudo scripts/install-systemd --force-env
|
||||
```
|
||||
|
||||
Then check:
|
||||
|
||||
```
|
||||
systemctl status pobsync-web pobsync-worker pobsync-scheduler
|
||||
sudo -u pobsync pobsync-manage check
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
Reference in New Issue
Block a user