Skip to content

FabLrc/pumpkin-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

292 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽƒ Pumpkin Hub

The next-generation plugin and resource registry for the Pumpkin MC ecosystem (Rust).

Status: Active Development Built with: Rust & Next.js

Ask DeepWiki

Security Rating Bugs Code Smells Coverage Duplicated Lines (%) Reliability Rating Maintainability Rating Vulnerabilities


About

Pumpkin Hub is the central platform for distributing and discovering extensions for the Pumpkin Minecraft server. Built with Rust and Next.js, it offers a minimalist interface, enhanced binary security, and a frictionless developer experience.

Important

Active development. See the Roadmap for current progress and upcoming features.

Tech Stack

Layer Technologies
Frontend Next.js 16, React 19, Tailwind CSS 4, SWR, TypeScript
Backend Rust (Axum 0.8), SQLx, Tokio, Tower HTTP
Data PostgreSQL 16, Meilisearch 1.7
Infra Docker Compose, GitHub Actions CI/CD

Current Features

  • Multi-provider Authentication โ€” GitHub, Google, Discord OAuth + email/password, email verification, password recovery
  • Plugin Registry โ€” Full CRUD with categories, full-text search (Meilisearch), and author management
  • Plugin Categories โ€” 17 server-plugin categories (Adventure, Chat, Decoration, Economy, Equipment, Game Mechanics, Library, Management, Minigame, Mobs, Optimization, Security, Social, Storage, Transportation, Utility, World Generation) with soft-deletion (is_active) and display ordering
  • Version Management โ€” Publish versions with semver validation, Pumpkin compatibility ranges, changelogs, and yank/restore
  • Binary Storage & Distribution โ€” Multi-platform binary uploads, secure presigned download URLs, S3-compatible storage (MinIO / Cloudflare R2)
  • GitHub Integration โ€” Publish plugins directly from a GitHub repository (one-click repo picker, no Installation ID required), auto-publish on releases, sync README/changelogs, and embed install badges
  • Dependency Graph โ€” Inter-plugin dependency declaration, semver compatibility resolution, conflict detection, and reverse lookup
  • Review System โ€” Star ratings (1โ€“5), reviews with moderation, abuse reporting, rating display on explorer and plugin pages, automatic Meilisearch reindex on review mutations
  • Media Gallery โ€” Per-plugin image/video gallery with drag-and-drop upload (JPEG, PNG, WebP โ‰ค 10 MB; MP4, WebM โ‰ค 100 MB), caption editing, reordering, lightbox carousel with keyboard navigation (โ† โ†’ Esc), and presigned S3 delivery
  • Changelog Tab โ€” Per-plugin changelog with Keep-a-Changelog markdown rendering, inline editor for owners, and GitHub-sync source badge
  • Author Dashboard โ€” Download analytics with charts, API key management for CI/CD, audit trails, notification center with milestones
  • Admin Moderation โ€” Role-based moderation with plugin/user management, audit logs, review report management
  • Brutalist UI โ€” Industrial design system with responsive layouts, custom error pages, toast notifications

Quick Start

git clone https://github.com/FabLrc/pumpkin-hub.git
cd pumpkin-hub

Create a .env file at the project root (next to docker-compose.yml) with your OAuth credentials:

# Required โ€” create a GitHub OAuth App at https://github.com/settings/developers
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret

# Optional โ€” enables Google / Discord login
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=

# JWT secret (change in production)
JWT_SECRET=dev_jwt_secret_change_me_in_production

# Optional โ€” enables GitHub App integration (repo linking, auto-publish, publish-from-GitHub)
# Create at https://github.com/settings/apps
GITHUB_APP_ID=
GITHUB_APP_PRIVATE_KEY=     # PEM content, single-line with \n
GITHUB_APP_WEBHOOK_SECRET=

Then start all services:

docker compose up --build
Service URL
Frontend http://localhost:3000
API http://localhost:8080
API Health http://localhost:8080/api/v1/health

Important

The root .env is only read by Docker Compose for variable substitution. When running the API directly with cargo run (without Docker), use api/.env instead โ€” see the Getting Started guide for the full reference.

Documentation

Full documentation at fablrc.github.io/pumpkin-hub โ€” architecture, API reference, design system, roadmap, and contribution guide.

A new auto-generated wiki is now available and will soon replace the classique documentation.

Ask DeepWiki

License

Open Source under MIT License.

About

Pumpkin Hub ๐ŸŽƒ is a community platform that centralizes the resources needed to create Pumpkin servers (plugins, scripts, maps, ...).

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

โšก