https://github.com/alexprogrammerde/pistonpanel
🌠Next-gen game-server hosting panel
https://github.com/alexprogrammerde/pistonpanel
Last synced: 7 months ago
JSON representation
🌠Next-gen game-server hosting panel
- Host: GitHub
- URL: https://github.com/alexprogrammerde/pistonpanel
- Owner: AlexProgrammerDE
- License: gpl-3.0
- Created: 2025-04-22T11:41:04.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-07-11T00:52:04.000Z (7 months ago)
- Last Synced: 2025-07-11T00:58:57.428Z (7 months ago)
- Language: TypeScript
- Homepage:
- Size: 9.4 MB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README

# PistonPanel
**🌠Next-gen game-server hosting panel**
## About
> [!NOTE]
> PistonPanel is currently in early development; you cannot use this project yet. Many features are missing, so you'll
> have to wait a bit until everything is ready. Check back to see if anything has changed.
PistonPanel is a web-based game server management panel that allows you to manage your game servers from anywhere.
It is designed to be easy to use and provides a modern interface for managing your game servers.
Unique features of PistonPanel:
- Organisations: Manage multiple servers in one place. Invite members to your organisation to collaborate.
- Kubernetes: While other panels rely on Docker, PistonPanel is built with only Kubernetes support, providing multi-node
features like no other panel can.
- Auth: With a highly advanced authentication system, support login methods like Passkeys, 2FA, email codes, magic
links, Google, Microsoft, Apple... and more!
- Fully customizable: If you know React and TypeScript, you can modify the panel code to your liking.
## Building
PistonPanel has a lot of dependencies. You'll need pnpm and the latest node installed.
Take a look at the scripts in `package.json` to see how to run a dev env locally.
You can also refer to the GitHub actions workflows to see how tests are done.
## Generate better-auth schema
```bash
npx @better-auth/cli@latest generate --config ./server/auth/auth-server.tsx --output ./server/db/auth-schema.ts
```
## Local Postgres
### Setup container
```bash
docker run --name dev-postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres
```
### Start after boot
```bash
docker start dev-postgres
```
## Local k8s
### Install cillium
```bash
CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/master/stable.txt)
CLI_ARCH=amd64
if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}
sha256sum --check cilium-linux-${CLI_ARCH}.tar.gz.sha256sum
sudo tar xzvfC cilium-linux-${CLI_ARCH}.tar.gz /usr/local/bin
rm cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}
```
### Start minikube
```bash
minikube addons enable metrics-server
minikube addons enable dashboard
minikube addons enable portainer
minikube start --network-plugin=cni --cni=cilium --driver=docker
```
## Drizzle
https://orm.drizzle.team/docs/kit-overview
### Create migration
```bash
pnpm drizzle-kit generate
```
### Run migrations
```bash
pnpm drizzle-kit migrate
```
### Push schema to db
```bash
pnpm drizzle-kit push
```
### Open Studio
URL: https://local.drizzle.studio
```bash
pnpm drizzle-kit studio
```
