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-11-01T15:00:17.007Z

Extension Files Lines
.php 897 213,906
.tsx 745 212,683
.ts 258 34,686
.json 19 21,771
.yaml 5 7,763
.css 8 6,101
.rs 31 4,673
.sql 248 4,554
.yml 26 2,975
Total 2,237 509,112

🚀 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