Self-hosted 3D printing filament management — track spools, log usage, plan swaps.
- Spool Tracking — manage your filament inventory with rich metadata (brand, material, color, cost)
- Usage Logging — log filament usage per spool with quick-log from anywhere
- Boxes — organize spools into physical storage containers
- Print Tracking — log prints before or after printing with dual-mode flow
- Dashboard — stats, charts, low filament alerts, and activity feed
- Color Database — 70+ curated filament colors across solid, silk, matte, dual-color, and more
- Admin Panel — user management with role control and ban system
- Self-Hosted — Docker deployment with PostgreSQL, designed for your homelab
git clone https://github.com/NindroidA/respool.git
cd respool
cp .env.example .env
# Edit .env with your secrets
docker compose up -dThe app will be available at http://localhost:3000.
# Install dependencies
bun install
# Set up database
cp .env.example .env
# Edit .env with your local DATABASE_URL
bunx prisma migrate dev
bunx prisma db seed
# Start dev server
bun dev| Variable | Description |
|---|---|
DB_PASSWORD |
PostgreSQL password |
DATABASE_URL |
Full Postgres connection string |
BETTER_AUTH_SECRET |
Auth secret (32+ random chars) |
BETTER_AUTH_URL |
App base URL for auth callbacks |
GITHUB_CLIENT_ID |
GitHub OAuth app client ID |
GITHUB_CLIENT_SECRET |
GitHub OAuth app client secret |
GOOGLE_CLIENT_ID |
Google OAuth client ID |
GOOGLE_CLIENT_SECRET |
Google OAuth client secret |
NEXT_PUBLIC_APP_URL |
Public-facing app URL |
After registering your account, promote yourself to admin:
# Via database
UPDATE "User" SET role = 'admin' WHERE email = 'your@email.com';| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router, Turbopack) |
| Language | TypeScript 5 (strict mode) |
| Runtime | React 19 |
| Database | PostgreSQL 17 |
| ORM | Prisma 6 |
| Auth | Better Auth (email/password, GitHub, Google OAuth, TOTP 2FA) |
| UI | Tailwind CSS v4 + shadcn/ui (New York) |
| Animations | Framer Motion |
| Charts | Recharts |
| Icons | Lucide React |
| Validation | Zod |
| Package Manager | bun |
Contributions are welcome! Please open an issue or submit a pull request.
If you find Respool useful, consider buying me a coffee!
Scanned with desloppify
See CHANGELOG.md for a full history of releases and changes.
