No description
- HTML 56.1%
- Python 43.9%
| app | ||
| migrations | ||
| static | ||
| .gitignore | ||
| .python-version | ||
| pyproject.toml | ||
| README.md | ||
| sticker-printer.service | ||
| uv.lock | ||
Sticker Printer
Imageboard locale per condividere e stampare adesivi tramite stampanti Brother QL.
Requisiti
- Python >= 3.12
- Una stampante Brother QL collegata via USB
- L'utente che esegue il servizio deve appartenere al gruppo
lpper poter accedere alla stampante:
sudo usermod -aG lp $USER
(effettuare logout e login per applicare la modifica)
Installazione
Installare uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
Clonare il repository e installare le dipendenze:
git clone <url-del-repo>
cd sticker-printer
uv sync
Configurazione
Modificare app/config.py secondo le proprie esigenze:
debug = True # Modalita' debug (ignora errori stampante)
upload_dir = "images" # Directory immagini caricate
database_url = "sqlite:///stickers.db"
token = "foo" # Token per l'endpoint di eliminazione
pixels_size = 696 # Larghezza immagine in pixel
title = "Galleria adesivi"
description = "..."
I parametri della stampante si trovano in app/processing.py:
backend = "linux_kernel"
model = "QL-500" # Modello della stampante Brother QL
label_size = "62" # Larghezza etichetta in mm
printer = "/dev/usb/lp0"
Avvio manuale
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 2323
Installazione come servizio systemd
Copiare il file di servizio e attivarlo:
sudo cp sticker-printer.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now sticker-printer
Il file di servizio assume che il progetto si trovi in /home/stampante/sticker-printer e venga eseguito dall'utente stampante. Modificare sticker-printer.service se la configurazione e' diversa.
Per controllare lo stato:
sudo systemctl status sticker-printer
sudo journalctl -u sticker-printer -f