No description
  • HTML 56.1%
  • Python 43.9%
Find a file
2026-03-26 18:03:09 +01:00
app Final fixes 2026-03-25 12:56:51 +01:00
migrations Use md5 of the render as id 2025-12-13 23:18:05 +01:00
static Final fixes 2026-03-25 12:56:51 +01:00
.gitignore Final fixes 2026-03-25 12:56:51 +01:00
.python-version Final fixes 2026-03-25 12:56:51 +01:00
pyproject.toml Final fixes 2026-03-25 12:56:51 +01:00
README.md Readme 2026-03-26 18:03:09 +01:00
sticker-printer.service Service file 2026-03-26 18:03:03 +01:00
uv.lock Final fixes 2026-03-25 12:56:51 +01:00

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 lp per 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