DiscVault is a professional-grade, self-hosted disc golf inventory management system. Designed for collectors and throwers alike, it features a unique "Vault-first" architecture that allows you to manage multiple separate collections (e.g., your Main Bag, Storage, and Collector's Vault) within a single unified interface.
- Vault Workspaces: Dedicated environments for different collections with strict isolation.
- Smart CSV Importer: Interactive tool with fuzzy auto-mapping for existing spreadsheets.
- Advanced Search: Range filtering by Flight Numbers (Speed, Glide, Turn, Fade), Weight, Condition, and more.
- Deep Analytics: Real-time stats on brand distribution, stability, condition averages, and even total collection weight.
- Infinite Browsing: High-performance Card and Table views with infinite scroll for 1,000+ disc collections.
- Global Awareness: A "Total Inventory" workspace for searching across all your vaults at once.
- Docker Ready: Plug-and-play deployment with automatic database initialization.
The easiest way to run DiscVault is via Docker.
docker run -d \
-p 3000:3000 \
-v discvault_data:/app/data \
-e DATABASE_URL="file:/app/data/vault.db" \
ghcr.io/chaoticgood007/discvault:latestCreate a docker-compose.yml file:
services:
discvault:
image: ghcr.io/chaoticgood007/discvault:latest
container_name: discvault
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./data:/app/data
environment:
- DATABASE_URL=file:/app/data/vault.dbThen run:
docker-compose up -dOpen http://localhost:3000 to start your first vault.
If you want to contribute or run the project from source:
-
Clone the Repo:
git clone git@github.com:ChaoticGood007/DiscVault.git cd discvault -
Install Dependencies:
npm install
-
Database Setup: Create a
.envfile withDATABASE_URL="file:./data/dev.db", then run:npx prisma db push
-
Run Dev Server:
npm run dev
- Framework: Next.js 15 (App Router)
- Database: SQLite with Prisma 6
- Styling: Tailwind CSS (Forced Light Theme / Slate palette)
- UI Components: Lucide Icons, Recharts, Framer Motion
- Containerization: Docker (Standalone multi-stage build)
This project is licensed under the GNU General Public License v3 (GPLv3) - see the LICENSE file for details.
Source code headers are licensed under Apache-2.0.
Created by ChaoticGood007