panel — open-source game server manager (public release)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 19:19:43 -07:00
commit 5232609719
2160 changed files with 300415 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
# Demo module — tiny alpine container used to validate panel end-to-end
# without pulling multi-GB game server images. The container just sleeps,
# so the runtime exercises pull / create / start / stop / logs / wait without
# needing RCON or any real game behaviour.
id: demo
name: "Demo (alpine sleeper)"
version: 0.1.0
authors:
- panel contributors
supported_modes:
- docker
runtime:
docker:
image: alpine:3.21
# Host networking -- container shares the host net namespace, so
# any port the game/mod binds is directly on the LAN. AMP-like
# model. Multi-instance safety comes from env-driven per-instance
# ports (panel allocator + env: mapping on each ports entry).
network_mode: host
command:
- sh
- -c
- |
echo "demo instance starting";
i=0;
while true; do
echo "tick $i $(date -Iseconds)";
i=$((i+1));
sleep 2;
done
ports:
- { name: dummy, proto: tcp, default: 14000 }
resources:
min_ram_mb: 32
recommended_ram_mb: 64
update_providers:
# Exercise the Direct provider with a small, stable URL. Running the
# update places the GPL-3.0 text at /data-ish/license.txt.
- id: gpl
kind: direct
url: "https://www.gnu.org/licenses/gpl-3.0.txt"
target_path: "license.txt"
# GitHub provider: grabs the latest `buf` CLI release note as a demo
# (asset_regex matches any tar.gz).
- id: buf-latest
kind: github
repo: "bufbuild/buf"
asset_regex: "buf-Linux-x86_64.tar.gz"
target_path: "downloads/buf.tar.gz"
# --- Manifest-driven UI metadata (WI-07) --------------------------
# Consumed by the CONTROLLER/dashboard only (the controller loads its
# own ./modules copy at startup); the agent ignores these at runtime.
appearance:
emoji: "🧪"
grad: "linear-gradient(135deg,#4b5563,#9ca3af)"