PrintLab

PrintLab

Docker app from techpunk's repo

Overview

PrintLab is a standalone dashboard and API for Bambu printers with multi-printer monitoring, printer job tracking, MakerWorks handoff, StockWorks filament lookup, and optional timelapse upload support.

Requirements

Mapped /data and /config paths, printer credentials or PRINTERS_JSON, admin password hash, session secret, and Docker network makerworks-net.

Runtime arguments

Web UI
http://[IP]:[PORT:8080]/
Network
makerworks-net
Shell
bash
Privileged
false
Extra Params
--restart unless-stopped

Template configuration

Web UI PortPorttcp

Host port for the PrintLab web UI.

Target
8080
Default
8983
Value
8983
Data PathPathrw

Persistent PrintLab data, cache, submitted jobs, and successful G-code records.

Target
/data
Default
/mnt/user/appdata/printlab/data
Value
/mnt/user/appdata/printlab/data
Config PathPathrw

Optional PrintLab config.json and file-based secret directory.

Target
/config
Default
/mnt/user/appdata/printlab/config
Value
/mnt/user/appdata/printlab/config
TimezoneVariable

Container timezone.

Target
TZ
Default
Etc/UTC
Value
Etc/UTC
Log LevelVariable

Application log level.

Target
LOG_LEVEL
Default
INFO
Value
INFO
PRINTERS_JSONVariable

Optional multi-printer JSON array. If set, overrides single PRINTER_* values.

Printer NameVariable

Friendly name for single-printer mode.

Target
PRINTER_NAME
Printer HostVariable

Single-printer LAN IP or hostname.

Target
PRINTER_HOST
Printer SerialVariable

Single-printer serial number.

Target
PRINTER_SERIAL
Printer Access CodeVariable

Single-printer LAN access code.

Target
PRINTER_ACCESS_CODE
Printer Device TypeVariable

Printer device type override.

Target
PRINTER_DEVICE_TYPE
Default
unknown
Value
unknown
Local MQTTVariable

Use local MQTT mode.

Target
PRINTER_LOCAL_MQTT
Default
true
Value
true
Enable CameraVariable

Enable camera retrieval.

Target
PRINTER_ENABLE_CAMERA
Default
true
Value
true
Disable SSL VerifyVariable

Disable SSL verification for printer/cloud calls.

Target
PRINTER_DISABLE_SSL_VERIFY
Default
false
Value
false
File Cache PathVariable

Internal cache path.

Target
FILE_CACHE_PATH
Default
/data/cache
Value
/data/cache
Print Cache CountVariable

Cached print records count.

Target
PRINT_CACHE_COUNT
Default
1
Value
1
Timelapse Cache CountVariable

Cached timelapse records count.

Target
TIMELAPSE_CACHE_COUNT
Default
1
Value
1
Bambu RegionVariable

Optional Bambu cloud region.

Target
BAMBU_REGION
Bambu EmailVariable

Optional Bambu cloud email.

Target
BAMBU_EMAIL
Bambu UsernameVariable

Optional Bambu cloud username.

Target
BAMBU_USERNAME
Bambu Auth TokenVariable

Optional Bambu cloud auth token.

Target
BAMBU_AUTH_TOKEN
Require AuthVariable

Require login for UI and API access.

Target
REQUIRE_AUTH
Default
true
Value
true
Admin UsernameVariable

Admin login username.

Target
ADMIN_USERNAME
Default
admin
Value
admin
Admin EmailVariable

Optional admin login email.

Target
ADMIN_EMAIL
Admin Password HashVariable

Required hashed admin password. Generate with PrintLab scripts/hash_password.py.

Target
ADMIN_PASSWORD_HASH
Session SecretVariable

Required long random secret used to sign session cookies.

Target
SESSION_SECRET
Session Cookie SecureVariable

Set true when serving behind HTTPS.

Target
SESSION_COOKIE_SECURE
Default
false
Value
false
MakerWorks Base URLVariable

MakerWorks API base URL on makerworks-net.

Target
MAKERWORKS_BASE_URL
Default
http://MakerWorks-v2:3000
Value
http://MakerWorks-v2:3000
MakerWorks API KeyVariable

Optional MakerWorks API key.

Target
MAKERWORKS_API_KEY
MakerWorks Bearer TokenVariable

Optional MakerWorks bearer token.

Target
MAKERWORKS_BEARER_TOKEN
MakerWorks Auth HeaderVariable

Header used for MakerWorks API key.

Target
MAKERWORKS_AUTH_HEADER
Default
X-API-Key
Value
X-API-Key
MakerWorks Webhook SecretVariable

Shared secret for callbacks sent to MakerWorks.

Target
MAKERWORKS_WEBHOOK_SECRET
MakerWorks Submit API KeyVariable

API key accepted for MakerWorks submit boundary routes.

Target
MAKERWORKS_SUBMIT_API_KEY
MakerWorks Allowed PathsVariable

Comma-separated allowlist for MakerWorks proxy paths.

Target
MAKERWORKS_ALLOWED_PATHS
Default
/health,/api/models
Value
/health,/api/models
MakerWorks Job Callback EnabledVariable

Send job status callbacks to MakerWorks.

Target
MAKERWORKS_JOB_CALLBACK_ENABLED
Default
false
Value
false
MakerWorks Job Callback Path TemplateVariable

Callback path, e.g. /api/printlab/jobs/{job_id}.

Target
MAKERWORKS_JOB_CALLBACK_PATH_TEMPLATE
StockWorks Base URLVariable

Optional StockWorks API base URL.

Target
STOCKWORKS_BASE_URL
Default
http://StockWorks:8000
Value
http://StockWorks:8000
StockWorks API KeyVariable

Optional StockWorks API key.

Target
STOCKWORKS_API_KEY
YouTube Upload EnabledVariable

Enable automatic timelapse uploads to YouTube.

Target
YOUTUBE_UPLOAD_ENABLED
Default
false
Value
false
YouTube Client IDVariable

OAuth client ID for YouTube uploads.

Target
YOUTUBE_CLIENT_ID
YouTube Client SecretVariable

OAuth client secret for YouTube uploads.

Target
YOUTUBE_CLIENT_SECRET
YouTube Refresh TokenVariable

OAuth refresh token for YouTube uploads.

Target
YOUTUBE_REFRESH_TOKEN

Details

Repository
ghcr.io/schartrand77/printlab:latest
Last Updated2026-05-31
First Seen2026-05-04

Run PrintLab on Unraid.

PrintLab is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.