All apps · 0 apps
Makershelf
Docker app from NilsN3DP's Repository
Overview
Readme
View on GitHubmakershelf
makershelf is a 3D print file and project manager for makers, print farms and workshops.
Organise your models, track print runs, manage creators and categories — self-hosted with Docker or on Unraid.
Quick start
Docker
docker compose -f docker-compose.server.yml up -d
Open http://localhost:3000/setup and create your workspace.
Unraid / NAS
Install via Unraid Community Apps — search for makershelf.
The image is published as ghcr.io/nilsn3dp/makershelf-server:beta.
Full deployment guide: docs/DEPLOYMENT.md
Local development
npm install
npm run db:generate && npm run db:push
npm run dev
Features
- Project library — grid view with filters, categories, creators, tags and lists
- File management — upload STL/OBJ/3MF/GCODE/STEP/AMF/PLY/ZIP/PDF and images; 3D preview in browser
- Slicer & CAD integration — open files directly in PrusaSlicer, OrcaSlicer, Bambu Studio, FreeCAD or Fusion 360
- Metadata import — pull info from supported maker platforms and sidecar files
- Active tracking — steps, BOM, printed parts, reference links
- ZIP export — export a project with all files and metadata
- Duplicates & lists — detect dupes, build custom lists, mark favourites
- Filament Vault — spool library, weight logging, NFC tags in OpenPrintTag format, manufacturer presets
- User management — invitations, role management, 2FA, audit log
- Themes — multiple UI themes with manual colour tuning
Tech stack
- Next.js · React · TypeScript
- Prisma (PostgreSQL)
- Three.js for 3D preview
- Docker-ready, standalone build
Documentation
License
makershelf is available under the AGPL v3 license for community use. See docs/LICENSING.md for details.
Contributing
See CONTRIBUTING.md.
Security
See SECURITY.md.
Install Makershelf on Unraid in a few clicks.
Find Makershelf in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Requirements
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/nilsn3dp/makershelf-server:betaRuntime arguments
- Web UI
http://[IP]:[PORT:8080]/- Network
bridge- Shell
bash- Privileged
- false
Template configuration
Port for the web interface. Leave as 8080 when using a dedicated container IP.
- Target
- 8080
- Default
- 8080
- Value
- 8080
AppData folder for configuration and runtime files.
- Target
- /config
- Default
- /mnt/user/appdata/makershelf
- Value
- /mnt/user/appdata/makershelf
Folder where imported project files are stored permanently.
- Target
- /storage
- Default
- /mnt/user/Makershelf/Projects
- Value
- /mnt/user/Makershelf/Projects
Drop files or library folders here. The server scans this folder for bulk import without a browser upload.
- Target
- /import
- Default
- /mnt/user/Makershelf/Import
- Value
- /mnt/user/Makershelf/Import
Port the app listens on inside the container. Must match the Web UI Port when using a dedicated container IP.
- Target
- PORT
- Default
- 8080
- Value
- 8080
Long random secret for login sessions. Generate one with: openssl rand -hex 32
- Target
- MAKERSHELF_AUTH_SECRET
PostgreSQL connection string. Format: postgresql://user:password@host:5432/database — must match the credentials you set up in your PostgreSQL container.
- Target
- DATABASE_URL
- Default
- postgresql://makershelf:change-me@makershelf-postgres:5432/makershelf
- Value
- postgresql://makershelf:change-me@makershelf-postgres:5432/makershelf
- Default
- postgresql
- Value
- postgresql
- Default
- server
- Value
- server
- Default
- docker-team
- Value
- docker-team
- Default
- postgres
- Value
- postgres
- Default
- filesystem
- Value
- filesystem
- Default
- /config
- Value
- /config
- Default
- /storage
- Value
- /storage
- Default
- /import
- Value
- /import