Skip to content

πŸͺΆ FeatherPanel

Open-source game server management fast, secure, and built for operators.


Frontend Backend Async Runner Installer Developer Docs


License Release Stars Issues Discord Last Commit


⚠️ Development branch

🚨

Do not run develop in production.

This branch ships experimental features that may be unstable, incomplete, or unsafe. For live environments, install a stable release and follow the official docs.


🧭 Quick navigation

πŸ“– Documentation 🧩 Developer reference πŸ’¬ Community

πŸ—οΈ Stack

Layer Technology Path
🐘 Panel API PHP 8.5 backend/
βš›οΈ Web UI Next.js Β· React Β· TypeScript frontendv2/
πŸ¦€ Async jobs Rust (async-runner) runner/
πŸ“¦ Installer Bash installer/

Docker images for the backend, frontend, and async runner are published through the release workflows listed below.


πŸ“š icanhasfeatherpanel public developer docs

icanhasfeatherpanel is FeatherPanel’s static developer reference. No running panel is required to browse it.

What’s included
Section Contents
🧩 Plugins Full Markdown guides for building addons (conf.yml, backend, frontend, SDK, packaging, AI recipes)
🧭 Pages Every frontend Next.js route/slug (pages/all.json) for UI navigation guidance
🧩 Widgets Injection points as HTML + .md + .json
⌨️ CLI All featherpanel / php cli commands + production usage (cli/usage.md, cli/all.json)
βš™οΈ Settings Admin settings keys, types, options, categories from SettingsController (settings/all.json)
🧰 Installer install.bash flags, menus, automation env vars (installer/guide.md)
πŸ” Permissions Every permission node as HTML + .md + .json (all.json)
πŸ“‘ Events Plugin hooks as HTML + .md + .json (all.json)
πŸ”Œ API reference Redoc UI + raw openapi.json
🧠 RAG index catalog.json + llms.txt listing every machine-readable doc
πŸ”‘ OAuth2 playground OAuth2 docs (live API calls still need a panel)
🌐 Live site (GitHub Pages)

https://mythicalltd.github.io/FeatherPanel/icanhasfeatherpanel/

Plugin authoring (Markdown + AI index):

https://mythicalltd.github.io/FeatherPanel/icanhasfeatherpanel/plugins/

RAG / machine-readable index:

Examples for crawlers: …/pages/all.json, …/cli/all.json, …/cli/usage.md, …/settings/all.json, …/installer/guide.md, …/permissions/all.json, …/events/all.json, …/widgets/index.json, …/api/openapi.json, …/plugins/ai-guide.md.

πŸ› οΈ Build locally

Hand-authored inputs live in frontendv2/icanhas/ (plugin Markdown, auth guides, assets, schemas). One command β€” pnpm export:docs β€” builds the entire public/icanhasfeatherpanel/ tree (widgets, pages, permissions, events, API + OpenAPI, CLI, settings, installer, plugins/auth indexes, RAG). That output is gitignored and produced at ship time for both GitHub Pages (pnpm build:public-docs) and Docker/panel images (host export:docs then frontendv2 image build, or pnpm build:with-docs / make frontend).

# 1. Generate OpenAPI from PHP controller annotations
cd backend
COMPOSER_ALLOW_SUPERUSER=1 composer openapi

# 2. Export docs + assemble static GitHub Pages site
cd ../frontendv2
pnpm install
pnpm build:public-docs

# Output lands in ../docs-site/
# Serve it with any static file server, e.g.:
python3 -m http.server 8080 --directory ../docs-site

For a normal panel image / local Next build that should include /icanhasfeatherpanel/:

cd frontendv2
pnpm build:with-docs   # export:docs then pnpm build

Optional environment variables for build:public-docs:

Variable Purpose
DOCS_OUTPUT_DIR Output directory (default: docs-site/)
DOCS_BASE_PATH URL prefix for GitHub Pages project sites (CI sets /FeatherPanel from the repo name)
OPENAPI_JSON Path to the generated OpenAPI file

πŸ”„ CI & workflows

Workflow Purpose
frontend.yml Builds the Next.js panel UI
backend.yml PHP lint, migrations, and backend tests
runner.yml Builds and tests the Rust async runner
shell-lint.yml ShellCheck + syntax validation for the installer
docs-pages.yml Generates icanhasfeatherpanel (not committed) + OpenAPI and deploys the static site to GitHub Pages
docker-dev.yml Dev Docker images β†’ GHCR (develop)
docker-release.yml Release Docker images on version tags
docker-oci-release.yml OCI release artifacts
codeql.yml Security analysis (JS/TS)
dependency-review.yml Flags vulnerable dependency changes in PRs

πŸ“Š Code statistics

Last updated: 2026-10-09T12:13:40.750Z

Extension Files Lines
.php 743 188,558
.tsx 580 169,239
.ts 195 24,660
.json 19 16,057
.yaml 5 7,755
.sql 211 3,428
.rs 16 3,363
.yml 26 2,909
.css 6 657
Total 1,801 416,626

πŸš€ Try it (stable installer)

These commands install the latest stable build ideal for evaluation, not for running develop in production.

🐧 Linux πŸͺŸ Windows
curl -sSL https://get.featherpanel.com/stable.sh | bash

PowerShell

iwr https://get.featherpanel.com/stable.ps1 | iex

CMD

powershell -ExecutionPolicy Bypass -Command "iwr https://get.featherpanel.com/stable.ps1 | iex"
After installation
  1. Register the first account it becomes the admin automatically.
  2. Follow the configuration docs.
  3. Report bugs on GitHub Issues.

🀝 Contributing

Contributions are welcome. Please read the contributing guide and code of conduct before opening a pull request.

Contributors


πŸ“„ License

FeatherPanel is licensed under the GNU Affero General Public License v3.0.


Made with ❀️ by Mythical Systems



Documentation Β Β·Β  Developer docs Β Β·Β  Discord Β Β·Β  Issues Β Β·Β  Releases

Releases

Sponsor this project

Packages

Used by

Contributors

Languages