bff6d70b17
Aplicatie Flask + SQLite pentru productie alimentara: cantarirea componentelor unui produs finit si tiparirea etichetei prin QZ Tray. - produse finite (retete) formate din componente cantarite - designer vizual de etichete (mm/px, zona sigura, campuri variabile, cod QR cu continut din mai multe bucati) - legare produs finit -> sablon de eticheta - navigare pe doua taburi: Cantarire / Setari - administrare: componente, produse finite, sabloane, campuri, istoric - backup, resetare baza de date, checklist de pregatire, /healthz - CLI de administrare si serviciu systemd pentru productie - vendor/syncpulse-scale-bridge (GPL-3.0-or-later) pentru citirea cantarului
30 lines
772 B
Desktop File
30 lines
772 B
Desktop File
[Unit]
|
|
Description=Cantarire si etichetare (Flask/waitress)
|
|
Documentation=file:///opt/cantarire-etichetare/README.md
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=cantarire
|
|
Group=cantarire
|
|
# Necesar pentru accesul la adaptorul USB-serial al cantarului (daca e cazul).
|
|
SupplementaryGroups=dialout
|
|
WorkingDirectory=/opt/cantarire-etichetare
|
|
Environment=PYTHONUNBUFFERED=1
|
|
EnvironmentFile=-/etc/cantarire.env
|
|
ExecStart=/opt/cantarire-etichetare/.venv/bin/python run.py --production --port 5000
|
|
Restart=on-failure
|
|
RestartSec=3
|
|
TimeoutStopSec=15
|
|
|
|
# Scriere doar in folderul de date si in /tmp.
|
|
NoNewPrivileges=true
|
|
PrivateTmp=true
|
|
ProtectSystem=full
|
|
ProtectHome=true
|
|
ReadWritePaths=/var/lib/cantarire
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|