Skip to content

Template and plugin marketplaces #142

Description

@karutoil

Summary

Create browsable marketplaces for templates (server eggs) and plugins, allowing the community to share and discover content. This is the long-term evolution of the current Egg Explorer plugin and manual plugin installation.

Current State

  • Templates: 248 Pterodactyl eggs in-repo, importable via API or Egg Explorer plugin. No sharing/discovery beyond this repo.
  • Plugins: 3 built-in plugins (example, ticketing, egg-explorer). Manual installation via filesystem. Plugin SDK exists with catalyst-plugin create scaffold.
  • No central registry, versioning, or distribution mechanism for either templates or plugins.

Requirements

Template Marketplace

  • Browse community-submitted templates with search, category filters, and ratings
  • One-click import into the user's installation
  • Template versioning (authors can push updates, users can opt-in to updates)
  • Template validation on submission (must pass egg import conversion)
  • Author profiles and template statistics (downloads, servers using it)

Plugin Marketplace

  • Browse community plugins with install/uninstall from the admin panel
  • Plugin versions with compatibility checks against the Catalyst version
  • Automated install: download plugin bundle → extract to plugins dir → hot-reload
  • Plugin metadata: description, screenshots, permissions required, author
  • Review/rating system

Shared Infrastructure

  • API endpoints for marketplace browsing, search, and installation
  • Package format: tarball/zip with plugin.json manifest (plugins) or egg JSON (templates)
  • Signature verification for marketplace packages (optional but recommended)
  • Admin settings: enable/disable marketplace, allowed categories, approval workflow

Acceptance Criteria

  • Template marketplace API: browse, search, import, version check
  • Plugin marketplace API: browse, install, uninstall, update
  • Frontend admin pages for both marketplaces
  • Plugin install triggers hot-reload without backend restart
  • Compatibility checks prevent installing incompatible plugins/templates
  • Package signature verification (at least basic integrity check)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:backendBackend / API workarea:frontendFrontend / UI workenhancementNew feature or requestplannedPlanned for future implementation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions