72 lines
1.9 KiB
Markdown
72 lines
1.9 KiB
Markdown
# OrderPy Bridge (Linux Daemon)
|
||
|
||
Systemd-Daemon-Variante der OrderPy Bridge: gleiche Funktionalität wie die Container-Variante, läuft nativ auf dem Host (ARM64 und AMD64).
|
||
|
||
## Voraussetzungen
|
||
|
||
- Linux mit systemd
|
||
- Python 3.11+
|
||
- Netzwerkzugriff zur OrderPy-Cloud und zu den Druckern (TCP)
|
||
|
||
## Installation
|
||
|
||
### Mit Install-Script (aus dem Repo)
|
||
|
||
```bash
|
||
cd /path/to/orderpy-bridge/daemon/packaging
|
||
sudo ./install.sh
|
||
```
|
||
|
||
Das Script legt User `orderpy-bridge`, Verzeichnisse (`/etc/orderpy-bridge`, `/var/lib/orderpy-bridge`, `/opt/orderpy-bridge`), eine Python-venv und die systemd-Unit an.
|
||
|
||
### Mit .deb-Paket
|
||
|
||
Aus dem Repo-Baustein bauen (im Verzeichnis `orderpy-bridge`):
|
||
|
||
```bash
|
||
dpkg-buildpackage -us -uc -b
|
||
```
|
||
|
||
Installation der erzeugten `.deb`-Datei:
|
||
|
||
```bash
|
||
sudo dpkg -i ../orderpy-bridge_1.0.0_all.deb
|
||
```
|
||
|
||
Architektur ist `all` (reines Python), gleiches Paket für ARM64 und AMD64.
|
||
|
||
## Konfiguration
|
||
|
||
Umgebungsvariablen werden über eine Env-Datei gesetzt:
|
||
|
||
- **Konfiguration:** `/etc/orderpy-bridge/orderpy-bridge.env`
|
||
- **Persistente Daten (Schlüssel):** `/var/lib/orderpy-bridge/`
|
||
|
||
Mindestens setzen:
|
||
|
||
- `ORDERPY_CLOUD_URL` – z.B. `https://api.orderpy.com`
|
||
- `ORDERPY_KEY_PATH` – z.B. `/var/lib/orderpy-bridge/bridge_key.pem`
|
||
- `ORDERPY_ALLOWED_ORIGINS` – z.B. `https://admin.orderpy.com`
|
||
|
||
Vor dem ersten Start die Datei anpassen:
|
||
|
||
```bash
|
||
sudo nano /etc/orderpy-bridge/orderpy-bridge.env
|
||
```
|
||
|
||
## Start und Status
|
||
|
||
```bash
|
||
sudo systemctl enable --now orderpy-bridge
|
||
sudo systemctl status orderpy-bridge
|
||
sudo journalctl -u orderpy-bridge -f
|
||
```
|
||
|
||
Die Bridge hört auf Port **8080** (HTTP für `/setup/info` und `/health`).
|
||
|
||
## Rechte
|
||
|
||
- Läuft unter User/Group `orderpy-bridge` (kein Root zur Laufzeit).
|
||
- Lesezugriff nur auf `/etc/orderpy-bridge/`, Schreibzugriff nur auf `/var/lib/orderpy-bridge/`.
|
||
- systemd-Optionen: `ProtectSystem=strict`, `ReadWritePaths=/var/lib/orderpy-bridge`, `PrivateTmp=yes`, `NoNewPrivileges=yes`.
|