Build MVP with Pi installer and atomic updates

This commit is contained in:
2026-07-31 18:17:27 +02:00
parent e575ed2b2f
commit c52def7c37
35 changed files with 7762 additions and 1 deletions
+13
View File
@@ -0,0 +1,13 @@
[Unit]
Description=Update Pi Car Companion
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
User=root
Group=root
ExecStart=/usr/local/sbin/pi-car-companion-update
TimeoutStartSec=30min
Nice=10
IOSchedulingClass=idle
+33
View File
@@ -0,0 +1,33 @@
[Unit]
Description=Pi Car Companion
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=pi-companion
Group=pi-companion
WorkingDirectory=/opt/pi-car-companion/current
EnvironmentFile=/etc/pi-car-companion/companion.env
ExecStart=/usr/bin/node /opt/pi-car-companion/current/server/dist/index.js
Restart=on-failure
RestartSec=5s
TimeoutStopSec=20s
KillSignal=SIGTERM
UMask=0027
StateDirectory=pi-car-companion
NoNewPrivileges=false
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
RestrictRealtime=true
LockPersonality=true
SystemCallArchitectures=native
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
ReadWritePaths=/var/lib/pi-car-companion
[Install]
WantedBy=multi-user.target
+1
View File
@@ -0,0 +1 @@
pi-companion ALL=(root) NOPASSWD: /usr/bin/systemctl start --no-block pi-car-companion-update.service