A label printer driver plugin for InvenTree, which provides support for Cups label printing servers. If your printer is not cups compatible, you can setup a cups printing server. This article describes how to setup a cups printing server for the DYMO LabelWriter 450 Duo. If you have a Dymo printer, you might also want to check out the dedicated inventree-dymo-plugin which is the recommended choice because it works more performant.
Important
This plugin needs cups-devel installed to install its dependencies. You can read more about the requirements at pycups. If you're using apt as a package manager run apt install libcups2-dev before. For docker see below.
Important
This plugin is only compatible with InvenTree>=0.18, for older versions use v1.0.0 of this plugin.
Goto "Settings > Plugins > Install Plugin" and enter inventree-cups-plugin as package name.
For docker installs you need to build your own docker image based on the inventree image to install the required system dependencies. The following Dockerfile is using a multistage build to only install what is needed onto the inventree image and do the building in a separate stage.
Note
This only works for the inventree alpine based docker image which is shipped with inventree>=0.13.
To use it you have to do some slight modifications of the docker-compose.yml file and create the Dockerfile as follows:
docker-compose.yml changes
diff --git a/docker-compose.yml b/docker-compose.yml
index 8adee63..dc3993c 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -69,7 +69,14 @@ services:
# Uses gunicorn as the web server
inventree-server:
# If you wish to specify a particular InvenTree version, do so here
- image: inventree/inventree:${INVENTREE_TAG:-stable}
+ image: inventree/inventree:${INVENTREE_TAG:-stable}-printing
+ pull_policy: never
+ build:
+ context: .
+ dockerfile: Dockerfile
+ target: production
+ args:
+ INVENTREE_TAG: ${INVENTREE_TAG:-stable}
# Only change this port if you understand the stack.
# If you change this you have to change:
# - the proxy settings (on two lines)
@@ -88,7 +95,8 @@ services:
# Background worker process handles long-running or periodic tasks
inventree-worker:
# If you wish to specify a particular InvenTree version, do so here
- image: inventree/inventree:${INVENTREE_TAG:-stable}
+ image: inventree/inventree:${INVENTREE_TAG:-stable}-printing
+ pull_policy: never
command: invoke worker
depends_on:
- inventree-serverDockerfile
ARG INVENTREE_TAG
# prebuild stage - needs a lot of build dependencies
FROM python:3.11-slim-trixie as prebuild
RUN apt-get update && apt-get install -y libcups2-dev gcc git musl-dev && apt-get clean && \
pip install --user --no-cache-dir git+https://github.com/wolflu05/inventree-cups-plugin
# production image - only install the cups shared library
FROM inventree/inventree:${INVENTREE_TAG} as production
RUN apt-get update && apt-get install -y libcups2 && apt-get clean
COPY --from=prebuild /root/.local /root/.local| Name | Description | Example |
|---|---|---|
| Server | IP/Hostname to connect to the cups server | 192.168.1.5 |
| Port | Port to connect to the cups server | 631 |
| User | User to connect to the cups server | can also be empty |
| Password | Password to connect to the cups server | can also be empty |
| Printer | Printer from cups server, can be selected if valid connection options are set | myprinter |