← Back to archive

Repo of the Day

TeeCodeDev/GyroidVault: Self-hosted 3D model library and print management platform.

Published: Sep 12, 2026

Open repository ↗

Self-hosted 3D model library and print management platform. - TeeCodeDev/GyroidVault

Summary

GyroidVault is a self-hosted web application for organizing 3D printing files (STL, 3MF, STEP, G-Code) and managing print workflows. Written in JavaScript, it provides a browser-based WebGL studio for inspecting models, a layer-by-layer G-Code previewer, and integrations for sending jobs to Klipper/Moonraker printers. Version 2.0.2 introduces multi-part assembly rendering, real millimeter dimensions, and a background scanner built for libraries over 2 TB.

What it is useful for

The project targets makers, homelab users, and small print-farm operators who want a single local interface to catalog large model collections and dispatch jobs to printers. Documented scenarios include browsing an existing NAS or Unraid share of STL and 3MF files through a WebGL viewer with isometric presets, wireframe, and X-ray modes; inspecting G-Code layer-by-layer with Z-heights, layer counts, and nozzle/bed temperature readouts; deduplicating files via SHA-256 hashing; and connecting to Klipper through Moonraker so G-Code uploads happen directly from the model detail page.

Engineers can also launch models into Bambu Studio, PrusaSlicer, OrcaSlicer, or Elegoo Slicer through desktop URL protocols, generate time-limited public share links for individual models, and apply role-based permissions (Admin, Uploader, Viewer) for shared environments. Documented security hardening includes strict path confinement, parameterized queries, and login rate limiting.

How engineers can use it

The README documents two installation paths.

Docker Compose (recommended):

services:
  gyroidvault:
    image: ghcr.io/teecodedev/gyroidvault:latest
    container_name: gyroidvault
    ports:
      - "3457:3000"
    volumes:
      - ./data:/app/data
      - /path/to/your/3dprints:/library
    environment:
      - NODE_ENV=production
      - PORT=3000
      - LIBRARY_PATH=/library
    restart: unless-stopped

Replace /path/to/your/3dprints with your model directory, then run docker compose up -d and open http://localhost:3457. The first registered user is automatically promoted to Administrator.

Manual install requires Node.js 18+: clone the repository, run npm install, copy .env.example to .env, then npm start. Unraid users can install from Community Applications without writing compose files. After setup, add printers in Settings → Printers using their Moonraker HTTP URL, and optionally configure SMTP for password recovery.

Limitations worth noting: GitHub's metadata reports the license as NOASSERTION, while the README states AGPL-3.0, so the LICENSE file should be checked before redistribution. Slicer URL handlers require each slicer to have protocol registration enabled in its own preferences, and Moonraker/SMTP integrations are optional and must be configured separately to function. The repository has no GitHub topics set, so discoverability is limited to direct search.