Game servers,
without the headache.

Sodium is a simple panel for managing game servers. No 47-step install guides. Just clone it and run.

$ git clone https://github.com/sodiumpanel/panel.git
Sodium Dashboard

What you get

The stuff that actually matters. Sodium works even on a phone, we're not gonna tell you how to install it there, but it does work.

Web console

Full terminal access to your servers through the browser. Powered by xterm.js.

File manager

Browse, edit, upload. CodeMirror editor with syntax highlighting baked in.

Eggs

Pre-made configs for Minecraft, FiveM, ARK, Palworld, and 13+ generic runtimes. Add your own too.

Lightweight

Express + vanilla JS frontend. No React, no 200MB node_modules of doom.

Flexible storage

File-based by default. MySQL, PostgreSQL or SQLite for production.

JWT auth + OAuth

Secure by default. Discord, Google, GitHub, GitLab, and more. Email 2FA and password reset included.

Backups & Schedules

Create, download, and restore server backups. Schedule tasks with cron expressions.

Webhooks

Discord, Slack, and generic HTTP webhooks. Get notified on server events automatically.

Plugin system

Extend Sodium with hooks, custom routes, middleware, and WebSocket support.

Choose your setup

Sodium adapts to your needs. From a single VPS to a multi-node hosting company.

Simple / Personal

Perfect for home servers, small communities, or testing. Zero external dependencies.

  • Database: File-based (built-in)
  • Redis: Not needed
  • Nodes: 1-2 nodes
  • Users: Up to ~150 concurrent
Just run npm start and you're done. Data stored in data/ folder.

Why would I need an external database?

The file database stores everything in a single binary file on disk. It's fast and requires no setup, but only one panel instance can access it at a time.

An external database (MySQL/PostgreSQL) allows multiple panel servers to connect simultaneously. This is useful when you want:

  • Load balancing across multiple panel instances
  • High availability (if one panel goes down, others keep working)
  • Better performance with thousands of users
  • Standard database backups and replication

What about Redis?

Redis is an in-memory cache that speeds up repeated operations. Without Redis, the panel works fine but fetches data from the database every time. With Redis enabled, frequently accessed data (sessions, user info, server status) is cached in memory for faster responses.

You don't need Redis for small installations. Enable it when you have many concurrent users or want to reduce database load.

Sodium vs Pterodactyl

Different tools for different needs.

Sodium Pterodactyl
Database File-based (MySQL/PostgreSQL optional) MySQL + Redis required
Install time ~2 min ~30 min
Dependencies Just Node.js PHP, Composer, MySQL, Redis, Nginx
OAuth providers 8 built-in (Discord, GitHub, Google...) None (community packages)
Plugin system Built-in hooks, routes, middleware Limited (Blueprints)

Installation

Should take about 2 minutes.

1

Clone it

git clone https://github.com/sodiumpanel/panel.git && cd panel
2

Install deps

npm install
3

Build & run

npm run build && npm start

Changelog

What changed and when. Fetched from GitHub releases.

Loading releases from GitHub...

Docs

Read if you get stuck.

FAQ

Before you ask.

Does it support Minecraft?

Yes. Paper, Purpur, Fabric, Velocity, and PocketMine. Check the eggs folder for configs.

Is it compatible with Wings?

Yes. You can use Wings or Sodium Reaction as the daemon.

Can I migrate from Pterodactyl?

Partially. We have some script to help with this.

Does it run on Windows?

The panel does. The daemon is Linux-only for now.

Contributors

People who made this happen.