Aktor: spacermake (Primary-Secondary mit Nutzungsprotokoll)
Dieser Aktor ist eine Zuarbeit vom Makerspace Bocholt.
spacermake installieren
Wir klonen das Projekt:
mkdir -p /opt/fabinfra/adapters/
git clone https://github.com/LastExceed/spacermake.git
cd spacermake/
Vor dem Kompilieren müssen wir noch ein paar Pfade anpassen. Das Script ist aktuell nicht optimal konfigurierbar und muss deshalb vor dem Nutzen und geeignet angepasst und erst dann kompiliert werden!
cd /opt/fabinfra/adapters/spacermake/target/release/
touch master-slave_relations.toml
touch slave_properties.toml
mkdir -p /root/fabfire/
touch /root/fabfire/config.toml
touch /root/machinelog.csv
touch /root/machinelog_debug.csv
Wir installieren Rust, falls noch nicht vorhanden ist:
# Wir installieren nun das aktuelle Rust per rustup (als normaler Nutzer). Rustup erlaubt das flexible Installieren beliebiger Rust-Versionen
curl https://sh.rustup.rs -sSf | sh
# cargo in .bashrc einfügen und Umgebung neu laden
echo 'source "$HOME/.cargo/env"' >> ~/.bashrc
source ~/.bashrc
# wir prüfen, ob wir die aktuelle Rust Version haben
rustup show
# oder installieren sie ...
rustup install stable
rustup default stable
Dann erzeugen wir die Binary:
cd /opt/fabinfra/adapters/spacermake/
cargo build --release
Wir prüfen manuell, ob die Binary startet:
/opt/fabinfra/adapters/spacermake/target/release/spacermake
spacermake als systemd Service
sudo vim /etc/systemd/system/spacermake.service
[Unit]
Description=FabAccess Primary-Secondary Actor with usage log protocol
Require=network-online.target
After=network-online.target
[Service]
Type=simple
User=bffh
Group=bffh
ExecStart=/opt/fabinfra/adapters/spacermake/target/release/spacermake
Restart=always
WorkingDirectory=/opt/fabinfra/adapters/spacermake
[Install]
WantedBy=multi-user.target
Wir aktualisierne den Daemon, aktiveren und starten den Dienst dann:
sudo systemctl daemon-reload
sudo systemctl enable spacermake.service --now
Die Logs finden wir dann mit:
sudo journalctl -f -u spacermake.service