print-handy
ghcr.io/catduckgnaf/print-handy
https://github.com/catduckgnaf/print-handy/pkgs/container/print-handy
latest
Stable. Moves only when a new Print Handy release is published. Recommended for a printer you rely on.
nightly
Development build, rebuilt nightly from main after the full CI suite passes. Features may be unfinished and settings may change without a release note.
bridge
bash
false
https://forums.unraid.net/topic/138058-support-catduck-templates/
https://github.com/catduckgnaf/print-handy
Print Handy Discord bot, Moonraker listener, OrcaSlicer and the bundled Spoolman API in one supervised container. Includes the alert-only camera watchdog: spaghetti, detached-part, empty-bed and stall checks post a camera photo to Discord (tune it with the Camera watch variables). Timelapse capture is off by default: set the Timelapse capture variable below to record timelapses inside the container (a camera source for your printer family is required; the optional SSH timelapse archive in the config file is a separate thing and is never required for capture or delivery). Print Handy is the interface; Spoolman's web UI is not included. The Spoolman API listens on 127.0.0.1:8000 inside the container and no port is published by default; the advanced Spoolman port and SPOOLMAN_HOST fields below expose it on the LAN only when you opt in (#443). The Web UI (simple status plus picker configuration that syncs to the YAML settings) is enabled by this template so the WebUI link above works — but it only starts once the Web UI access token below is set, because the template binds it on all interfaces; without a token it stays off and the container log says why (#440). Printers are external services. UPGRADE NOTE — this project was renamed from Print Buddy to Print Handy, and this template is a NEW Community Applications app (the old one was print-buddy): existing Print Buddy installs do not auto-migrate. Install this template, copy your old appdata (/mnt/user/appdata/print-buddy) into the new print-handy appdata paths (renaming any print_buddy_* state files to print_handy_*), move the configuration values across from the old PRINT_BUDDY__... names to the new PRINT_HANDY__... variable names, start this container and check it is healthy, then remove the old app. Full steps are in https://github.com/catduckgnaf/print-handy/blob/main/docs/RENAME-MIGRATION.md. CHOOSING A TAG: pick latest (stable, the default) or nightly in the Tag field when you install. latest moves only when a new release is published. nightly is rebuilt every night from the newest main commit that passed the full CI suite; features may be unfinished and settings may change without a release note. Use latest for a printer you rely on, and nightly to try current code or confirm a fix before it ships. Never run a nightly and a stable container with the same bot token at the same time.
Productivity:Tools:Other:
http://[IP]:[PORT:8088]/
https://raw.githubusercontent.com/catduckgnaf/catduck-unraid-templates/main/templates/print-handy.xml
https://raw.githubusercontent.com/catduckgnaf/catduck-unraid-templates/main/templates/img/print-handy.png
--user 1000:1000 --cap-drop ALL --security-opt no-new-privileges:true --pids-limit 256 --memory 2g --cpus 2 --shm-size 256m --log-driver json-file --log-opt max-size=10m --log-opt max-file=3 --restart unless-stopped --health-cmd "python3 /usr/local/bin/print-handy-healthcheck" --health-interval 30s --health-timeout 10s --health-start-period 90s --health-retries 3
Appdata paths owned by UID/GID 1000. Existing Spoolman data can be copied into the Spoolman Data path before first start; nothing is migrated automatically.
/mnt/user/appdata/print-handy/hermes
/mnt/user/appdata/print-handy/archive
/mnt/user/appdata/print-handy/records
/mnt/user/appdata/print-handy/cache
/mnt/user/appdata/print-handy/spoolman
/mnt/user/appdata/print-handy/dot-config
8088
7912
/app/config/docker.yaml
standalone
America/New_York
klipper.generic
http://127.0.0.1:8000
true
127.0.0.1
stable
true
3
false
interval
5.0
3600
536870912
auto
gemini-latest
true
false
0
false
true
true
0.0.0.0
8088
false
false
720
15
2500
auto
300
8091
America/New_York