Skip to content

AlexProgrammerDE/PistonPanel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Test Contributors License

Discord embed

PistonPanel

๐ŸŒ  Next-gen game-server hosting panel

About

Note

PistonPanel is currently in development, but 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

npx @better-auth/cli@latest generate --config ./server/auth/auth-server.tsx  --output ./server/db/auth-schema.ts

Local Postgres

Setup container

docker run --name dev-postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres

Start after boot

docker start dev-postgres

Local k8s

Install cillium

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

minikube addons enable metrics-server
minikube start --network-plugin=cni --cni=cilium --driver=docker

Drizzle

https://orm.drizzle.team/docs/kit-overview

Create migration

pnpm drizzle-kit generate

Run migrations

pnpm drizzle-kit migrate

Push schema to db

pnpm drizzle-kit push

Open Studio

URL: https://local.drizzle.studio

pnpm drizzle-kit studio

About

๐ŸŒ  Next-gen game-server hosting panel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Languages