Search Documentation

Search for pages and headings in the documentation

CUPS-Server für Netzwerkdrucker (Videntis)

Die Videntis-Erweiterung kann Etiketten statt als PDF-Download direkt an einen im Netzwerk erreichbaren Drucker senden (Format-Ausgabeart „Netzwerkdrucker” — siehe Etiketten & Drucker). Dieses Kapitel beschreibt die Infrastruktur-Seite davon: einen CUPS-Server bereitstellen, an den CrispyCMS Druckaufträge schicken kann.


CUPS-Server-Image

Für einen einsatzbereiten CUPS-Server steht ein von BL Netzwerke gepflegtes Image bereit:

docker pull images.crispycms.de/distribution/cupsd

Binden Sie es als eigenen Service in Ihre docker-compose.yml ein, im selben Docker-Netzwerk wie den CrispyCMS-Container, damit dieser den CUPS-Server über den internen Servicenamen erreichen kann:

services:
  crispycms:
    # ... bestehende CrispyCMS-Konfiguration ...
    networks:
      - crispy-net

  cups:
    image: images.crispycms.de/distribution/cupsd
    restart: unless-stopped
    ports:
      # 631 nur nach außen freigeben, wenn Sie direkt (z. B. für die
      # CUPS-Weboberfläche) von außerhalb des Docker-Netzwerks zugreifen
      # möchten. Für den reinen Betrieb mit CrispyCMS genügt die
      # interne Erreichbarkeit über das gemeinsame Netzwerk.
      - "631:631"
    volumes:
      - cups_data:/etc/cups
    networks:
      - crispy-net

volumes:
  cups_data:

networks:
  crispy-net:
    driver: bridge

Drucker/Warteschlange im CUPS-Server anlegen

Nach dem Start des Containers erreichen Sie die CUPS-Weboberfläche unter http://<host>:631 (bzw. https:// je nach Image-Konfiguration). Dort — oder per lpadmin innerhalb des Containers — legen Sie für jeden physischen Drucker eine Warteschlange (Queue) mit dem passenden Treiber an (z. B. Brothers offizieller Linux-Treiber für einen QL-820NWBc). Der dabei vergebene Warteschlangenname ist der Wert, den Sie später in Videntis unter „Warteschlangenname” eintragen.

# Beispiel: Innerhalb des CUPS-Containers eine Warteschlange manuell anlegen
docker compose exec cups lpadmin -p ql820 -E -v ipp://192.168.1.50/ipp/print -m everywhere
docker compose exec cups cupsenable ql820
docker compose exec cups cupsaccept ql820

Der genaue Weg (IPP-Everywhere, herstellereigener Treiber, USB-über-Netzwerk-Bridge o. Ä.) hängt vom jeweiligen Druckermodell ab und ist unabhängig von CrispyCMS/Videntis — sobald die Warteschlange im CUPS-Server funktioniert (testen Sie mit lp -d ql820 testdatei.pdf direkt auf dem CUPS-Server), ist der CrispyCMS-seitige Teil nur noch Konfiguration.


Drucker in Videntis anlegen

Tragen Sie unter Verwalten → Drucker → Drucker hinzufügen die Verbindungsdaten zum eben eingerichteten CUPS-Server ein:

FeldWert im Beispiel oben
CUPS-Server (Host/IP)cups (der Docker-Servicename aus der docker-compose.yml, sofern CrispyCMS und der CUPS-Server im selben Docker-Netzwerk laufen)
Port631
Warteschlangennameql820 (oder der von Ihnen vergebene Name)

Klicken Sie anschließend auf Verbindung testen — Videntis führt dazu intern lpstat -h cups:631 -p ql820 aus und meldet, ob der Server erreichbar ist und die Warteschlange dort existiert. Erst danach sollten Sie den Drucker einem Etikettenformat mit Ausgabeart „Netzwerkdrucker” zuweisen (siehe Etiketten & Drucker).


Fehlerbehebung

„lpstat: No such file or directory” / „lp: command not found” Das cups-client-Paket fehlt im CrispyCMS-Image. Es ist seit Version 26.08 standardmäßig im offiziellen Dockerfile enthalten; bei einem selbst angepassten Image stellen Sie sicher, dass cups-client installiert ist, und bauen den Container neu (docker compose build, ein reiner Neustart genügt nicht).

„Verbindung fehlgeschlagen: timeout” Prüfen Sie, ob CrispyCMS und der CUPS-Server im selben Docker-Netzwerk hängen und der Servicename als Host korrekt eingetragen ist. Ein direkter Verbindungstest aus dem CrispyCMS-Container heraus hilft bei der Eingrenzung:

docker compose exec crispycms lpstat -h cups:631 -p ql820

Druckauftrag schlägt fehl, obwohl „Verbindung testen” erfolgreich war Die Warteschlange existiert und ist erreichbar, aber möglicherweise offline, im Fehlerzustand oder das PDF konnte vom Treiber nicht verarbeitet werden. Prüfen Sie den Warteschlangenstatus direkt auf dem CUPS-Server (lpstat -p ql820 -l bzw. über die CUPS-Weboberfläche) sowie die konkrete Fehlermeldung in Videntis unter Verwalten → Druckwarteschlange.