mirror of
https://github.com/lrnselfreliance/wrolpi.git
synced 2026-10-26 19:01:39 -04:00
Two parallel live-build configs (debian-live-config/ for the installer
ISO and wrolpi-portable/ for the Live USB) carry the same chroot hook
with subtly different fixes — the portable side had accumulated the
better implementation (npm build, SHA-pinned blobs, dynamic Postgres
version, partition-by-start-sector, controller.yaml sentinel, autologin,
branding). This commit folds those improvements into debian-live-config/
and retires wrolpi-portable/.
The Postgres data + config directories now bind-mount to
/media/wrolpi/config/postgresql/{data,config} regardless of deployment
shape (Live USB, Calamares-installed system with external drive,
Calamares-installed system with no external drive). Result: pulling
a WROLPi external drive from one host and plugging into another
brings the entire indexed library along — no re-indexing. Previously
the DB lived on /mnt/persistence/postgresql-{data,config} on Portable
and on /var/lib/postgresql (root) everywhere else; moving a drive
required rebuilding the DB on the new host.
Single wrolpi-bootstrap.{sh,service} replaces wrolpi-portable-bootstrap.
The script detects deployment by probing for a live-boot medium mount:
present → Live (create persistence partition if missing); absent →
Installed (skip partition step; Postgres bind-mount and cluster init
still run). --debian-installer is dropped from lb config; Calamares
will land in a follow-up commit as the graphical installer.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
22 lines
791 B
Desktop File
22 lines
791 B
Desktop File
[Unit]
|
|
Description=WROLPi secondary-drive mounts
|
|
Documentation=https://github.com/lrnselfreliance/wrolpi
|
|
# Read drives.mounts from controller.yaml and apply each entry that isn't
|
|
# already mounted. Replaces /etc/fstab entries for secondary drives so the
|
|
# mount table travels with the drive itself.
|
|
After=local-fs.target wrolpi-bootstrap.service
|
|
RequiresMountsFor=/media/wrolpi
|
|
# Run before WROLPi services so secondary drives are ready when they start.
|
|
Before=wrolpi-api.service wrolpi-app.service wrolpi-kiwix.service wrolpi.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|
|
WorkingDirectory=/opt/wrolpi
|
|
ExecStart=/opt/wrolpi/controller/venv/bin/python -m controller.lib.mount_runner
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
TimeoutStartSec=300
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|