[Unit] Description=Bondrucker-Bruecke (ESC/POS ueber HTTP an den USB-Kassendrucker) Documentation=file:///opt/bondrucker/README.md After=network-online.target Wants=network-online.target [Service] Type=simple ExecStart=/usr/bin/python3 /opt/bondrucker/print-server.py # Laeuft NICHT als root. Der Dienstbenutzer ist nur deshalb in der Gruppe "lp", # weil /dev/usb/lp0 dem Besitzer root und der Gruppe lp gehoert (Rechte 660). User=bondrucker Group=bondrucker SupplementaryGroups=lp # Konfiguration. Das Token steht in /etc/bondrucker/env, damit es nicht in der # Versionsverwaltung landet - die Datei legt install.sh an. Environment=PRINT_DEVICE=/dev/usb/lp0 Environment=PRINT_HOST=0.0.0.0 Environment=PRINT_PORT=9100 EnvironmentFile=-/etc/bondrucker/env Restart=always RestartSec=5 StandardOutput=journal StandardError=journal # --- Haertung --------------------------------------------------------------- NoNewPrivileges=true PrivateTmp=true ProtectSystem=strict ProtectHome=true ProtectKernelTunables=true ProtectKernelModules=true ProtectControlGroups=true RestrictSUIDSGID=true RestrictNamespaces=true RestrictAddressFamilies=AF_INET AF_INET6 LockPersonality=true MemoryDenyWriteExecute=true # Der Dienst braucht nirgends Schreibrecht - er schreibt ausschliesslich in die # Geraetedatei, und die ist von ProtectSystem nicht betroffen. PrivateDevices=false [Install] WantedBy=multi-user.target