github xiao-villamor/PrintStash v0.5.0
v0.5.0 — Import, CAD, Sharing & Measured Prints

latest releases: v0.12.1, v0.12.0, v0.11.4...
2 months ago

PrintStash v0.5.0Import, CAD, Sharing & Measured Prints. This is the
first tagged release. PrintStash is a beta, self-hosted app: useful today for
local libraries and Moonraker/Klipper workflows, and deliberately not a full
manufacturing platform.

✅ What works (stable)

  • Ingest STL, 3MF, OBJ, STEP/STP, and G-code — upload, import from a URL or
    .zip
    (SSRF-guarded fetches; zip-slip / zip-bomb protected), or push from
    OrcaSlicer with a post-processing hook.
  • STEP/STP CAD files are tessellated (OpenCASCADE) and previewed in the browser.
  • Models + G-code revisions on one record, with version history, slicer
    metadata parsing, browser mesh + toolpath viewers, and a recommended/known-good verdict.
  • Auto known-good revisions after the first successful print; delete G-code
    revisions
    (soft, trash-aware).
  • Measured prints: real filament used, actual duration, and per-print cost
    captured from Moonraker on completion. Log history manually too — even without a
    registered printer.
  • Public share links: expiring, read-only, view-only by default; tokens hashed,
    strictly isolated, rate-limited.
  • Moonraker/Klipper: live status, send-to-print, file inventory sync, remote
    start, pause/resume/cancel, job history, and provider diagnostics.
  • Run locally: first-run setup wizard, JWT auth + API keys, per-collection
    RBAC, trash restore/purge, backup/restore, JSON/CSV export, health checks, audit logs.
  • SQLite + local disk by default; optional Postgres and S3/R2 storage.

🧪 Experimental — know this before you rely on it

  • Bambu LAN is beta: local status plus pause/resume/cancel only. Upload,
    send-to-print, remote file inventory, and remote-file start are not implemented
    for Bambu yet. Moonraker/Klipper is the fully supported provider.
  • Hardware coverage is still thin — provider reports are very welcome.
  • Slicer-metadata parsing varies by slicer/profile; missing fields are expected.
  • The G-code viewer is a visualization aid, not a slicer-grade simulator.
  • Designed for trusted self-hosted networks. Do not expose it directly to the
    public internet without a reverse proxy, TLS, and strong secrets.

See docs/known-limitations.md
for the full list, including non-goals.

⬆️ How to upgrade

First install: follow Quick Start in the
README. Copy
.env.example to .env and set strong, random VAULT_JWT_SECRET and
VAULT_API_KEY (openssl rand -hex 32).

Existing Docker Compose install:

# Back up first (Settings → backup, or the API), then:
docker compose down
docker compose pull            # or: docker compose build --pull
docker compose run --rm api uv run alembic upgrade head
docker compose up -d

Pin images for repeatable upgrades:

  • ghcr.io/xiao-villamor/printstash-api:0.5.0
  • ghcr.io/xiao-villamor/printstash-frontend:0.5.0

Full details: CHANGELOG.md.

Don't miss a new PrintStash release

NewReleases is sending notifications on new releases.