๐ŸŒณ

Yggdrasil Panel

A self-hosted game & app server control panel for Debian/Ubuntu โ€” think AMP + Pterodactyl, but radically easier to install, update and maintain. And not just for games: run databases and homelab apps from the same one-click Runes.

curl -fsSL https://raw.githubusercontent.com/kristianwind/yggdrasil/main/install.sh | sudo bash
Yggdrasil Panel dashboard

Everything in one binary

A single static Go binary with the web UI embedded โ€” no separate database, no Redis, no required reverse proxy. The installer handles Docker and everything else.

๐Ÿ“ฆ

One binary, one command

One static binary + embedded PWA + SQLite. Install with a single command; updating is just swap & restart.

แšฑ

Runes for everything

A game or app = one declarative YAML โ€œRuneโ€. Minecraft, Rust, DayZ built in; a library of community runes (databases + homelab apps) one click away.

๐Ÿ–ฅ๏ธ

Real-time console & stats

Live WebSocket console with command input, log streaming, per-server CPU/RAM limits and monitoring, and a clear installing โ†’ running โ†’ stopped lifecycle.

๐ŸŒ

Networking that just works

Automatic port-forwarding (UPnP / UniFi), per-server subdomains via Nginx Proxy Manager or Cloudflare Tunnel, an โ€œonline from outsideโ€ check, and connect addresses per server.

๐Ÿ’พ

Backups & scheduler

Backups to local / SFTP / SMB with retention & restore. Cron schedules for restarts, updates, backups, console commands and in-game warnings โ€” with a run log.

๐ŸŽฎ

Live admin & moderation

Safe restarts with in-game countdowns, an auto-restart toggle, a watchdog that auto-heals a hung server, world wipes, and a live Players tab with kick / broadcast / lock โ€” plus an activity feed of joins, deaths and kills. All rune-declared.

๐Ÿค–

AI assistant optional

Bring your own LLM (OpenAI, Anthropic, DeepSeek, Ollama, โ€ฆ). Get a plain-language โ€œwhat happened while I was awayโ€ digest of the activity log with anomaly flags. Opt-in, advisory, and it never touches a server by itself.

๐Ÿ”

Access & security

Multiple admins with scoped permissions, optional 2FA, API tokens, a full audit log. Secrets encrypted at rest (AES-256-GCM); argon2id passwords.

Minecraft Java & Bedrock Rust DayZ + Workshop mods Vaultwarden Gitea Uptime Kuma Grafana Nextcloud PostgreSQL / MariaDB / MongoDB โ€ฆand a growing catalog

See it in action

Installable PWA, dark mode, mobile-friendly โ€” works as an app on iOS/Android.

Servers
Servers โ€” grid/table, reachability badges
Live admin controls
Live admin โ€” safe restart, auto-restart, watchdog & wipe
Runes
Runes โ€” one-click games & apps
Browse runes on GitHub
Browse GitHub โ€” install community runes in one click
Console
Real-time console & logs
Schedules
Schedules โ€” cron automation with run log
Settings
Settings โ€” network, backups, integrations

Documentation

Written from the code, not from memory. Start with the install path; the reference material lives on GitHub next to the source it describes.

Browse all documentation โ†’

Get started

On a fresh Debian/Ubuntu box, run one command. The installer detects your distro, installs Docker if missing, creates a service user, and prints your login URL + admin password.

curl -fsSL https://raw.githubusercontent.com/kristianwind/yggdrasil/main/install.sh | sudo bash
Read the getting-started guide โ†’ All documentation
โš ๏ธ Early development & built with Claude Code. Provided as-is, with no warranty and no liability whatsoever โ€” you use it entirely at your own risk.
๐Ÿ’ฌ

Community

Questions, help getting a rune working, and news about releases.

Bugs belong in GitHub issues rather than chat โ€” they don't scroll away, and they can carry the logs and version a fix needs. Discord is the right place to ask whether something is a bug.