V minulém díle jsme úspěšně nainstalovali HomeBridge na Raspberry Pi. Pokud jste však zkusili Raspberry vypnout a znovu zapnout, zjistili jste, že se HomeBridge automaticky nespustí. Musí se z něj udělat takzvaná služba, která se sama spustí při startu Raspberry.
Automatické spuštění po startu
Následující příkazy jsou složitějšího typu. Pokud Vám není zcela jasné, k čemu tyto příkazy slouží, nesnažte se celý systém pochopit. Stačí, když následující příkazy napíšete do konzole.
Připojíme se na Raspberry Pi a otevřeme konzoli, kam vložíme následující příkazy.
Vytvoříme soubor „homebridge“ pomocí následujícího příkazu:
sudo nano /etc/default/homebridge
Do daného souboru vložíme níže uvedený text a editor ukončíme a uložíme klávesovou zkratkou ctrl+x
# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-U /var/homebridge
# If you uncomment the following line, homebridge will log more
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*
Následně vytvoříme soubor, kterým registrujeme HomeBridge jako službu. Otevřeme tedy opět textový editor tímto příkazem:
sudo nano /etc/systemd/system/homebridge.service
Vložíme následující kód a pomocí zkratky ctrl+x uložíme:
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Vytvoříme uživatele, který bude daný proces spouštět:
sudo useradd --system homebridge
Vytvoříme složku, ve kterém budeme všechny informace o HomeBridge skladovat:
sudo mkdir /var/homebridge
A přidělíme UNIX práva pro přístup do složky:
sudo chmod -R 0777 /var/homebridge
Nyní restartujeme program, který se nám stará o služby:
sudo systemctl daemon-reload
Registrujeme novou službu HomeBridge:
sudo systemctl enable homebridge
A službu spustíme:
sudo systemctl start homebridge
Tímto způsobem jsme donutili HomeBridge k automatickému spuštění kdykoliv, když Raspberry Pi nastartuje svůj systém.
Zdroj: timleland.com