Self-hosted. Docker-native. Yours.

Host game servers on your own hardware, without the hassle

Basalt is a modern control panel for self-hosted game servers. Deploy Minecraft, Hytale and more as Docker containers, manage them from a fast web UI, and share access with anyone: your friends, your team, or a whole community.

Panel overview: instances dashboard

Hero screenshot or short screen recording (16:9)

light + dark variants

Runs anywhere Docker runs
Minecraft & Hytale templates out of the box
Your data never leaves your machines
Playit.gg tunnels, no port forwarding

Everything a game server needs, in one panel

Stop juggling SSH sessions, cron jobs and port forwarding guides. Basalt covers the whole lifecycle of a self-hosted game server.

Templates

Deploy a server in minutes, not evenings

Pick a template, fill in a form, hit deploy.

Templates describe everything about a game server (Docker image, versions, environment variables and a full settings UI), so you never have to hand-edit a config file to get running.

Deploy your first instance
  • Official Minecraft and Hytale templates, maintained by the Basalt team
  • Rich setting forms with selects, sliders, memory pickers and conditional fields
  • Register your own templates from JSON or straight from a Git repository

Deploy flow: template picker and settings form

GIF: choosing the Minecraft template and deploying

light + dark variants

Console

A live console that keeps up with your server

Logs and commands, live in the browser.

Stream server output in real time and send commands without leaving the browser. No SSH session, no docker exec: the console lives right next to the rest of your instance.

How the console works
  • Real-time log streaming over the daemon connection
  • Send commands directly to the server process
  • Live CPU and memory metrics alongside the output

Live console screencast

GIF: logs streaming + sending a command

light + dark variants

Files

Browse and edit server files with guardrails

Everything that matters, nothing that breaks.

A built-in file browser and editor scoped to what actually matters. Templates define the root folder, hide internals and mark critical paths read-only, so nobody nukes the world folder by accident.

Explore the file browser
  • Full file browser with uploads and in-browser editing
  • Per-template read-only and hidden paths
  • Syntax-highlighted editor for configs and scripts

File browser and editor

Screenshot: editing server.properties

light + dark variants

Backups

Backups that happen without you thinking about them

Set the policy once, stop worrying.

Define what to back up once (worlds, configs, whole data dirs), then let policies take care of the schedule. Restore from the panel when something goes wrong.

Read the backup guide
  • Backup targets defined per template, scheduled per instance
  • Encrypted at rest with your own key
  • Browse, download and restore backups from the panel

Backups tab with policy editor

Screenshot: backup list + schedule dialog

light + dark variants

Playit tunnels

Share your server without touching your router

A public address with one toggle.

Basalt integrates playit.gg tunnels so players can join servers running behind NAT. No port forwarding, no static IP, no dynamic DNS dance: toggle it on and share the address.

How tunnels work
  • One-click tunnel per instance
  • TCP and UDP support, configured by the template
  • Works from home networks, behind CGNAT, anywhere

Playit tunnel setup

GIF: enabling the tunnel and copying the address

light + dark variants

Nodes

One panel, all of your machines

Every machine you own, one panel.

Install the Basalt daemon on any machine with Docker (a spare PC, a homelab box, a VPS, a rack in the office) and it becomes a node. The panel schedules instances onto nodes and streams their health back to you.

Learn about nodes
  • Lightweight daemon, authenticated with a per-node API key
  • Live host and Docker metrics for every node
  • Instances stay isolated in their own containers

Nodes overview with live metrics

Screenshot: node list + metrics detail

light + dark variants

Access control

Give everyone exactly the access they need

Exactly the access each person needs.

Invite people by email, group permissions into roles, and scope what each person can see and do, per instance and per node. Works the same for a friends server or a company fleet: moderators get the console, players get the join address, auditors get read-only.

Set up roles and invites
  • Fine-grained permissions on instances and nodes
  • Reusable roles for common setups
  • Email invites and password resets built in

Permissions editor

Screenshot: role editor with permission matrix

light + dark variants

And the details are covered too

Schema-validated templates

Templates are plain JSON validated against a published schema, so they are easy to write, review and share.

Templates from Git

Point Basalt at a Git repository and keep your community templates versioned like code.

Live everything

Instance status, console output and metrics stream to the panel in real time. No refresh button.

Secure by default

Per-node API keys, signed sessions and encrypted backups. You control every secret.

Email built in

Invites and password resets out of the box. Bring your own provider, or log to console in dev.

Isolated instances

Every server runs in its own Docker container with its own resources, environment and lifecycle.

Self-hosted first. Free to start.

Basalt runs on your hardware either way; plans only change how many seats and nodes you can attach.

Free

$0forever

Everything you need to run servers for yourself and a friend.

  • 2 user seats
  • 2 instance seats
  • 1 node
  • All templates, console, files & backups
  • Playit.gg tunnels
  • Community support
Get free key

Hobby

Most popular

$9.99per month

For teams and communities that outgrow the free tier.

  • 6 user seats
  • 10 instance seats
  • 2 nodes
  • Everything in Free
  • Priority support
Get Hobby

Pay as you go

$4.99per month + usage

No caps, pay for what you actually run, at any scale.

  • $1.49 per active user
  • $9.99 per node
  • $2.49 per instance
  • Everything in Hobby
  • Uncapped seats and nodes
Get Pay as you go

Estimate your Pay as you go bill

Pay as you go is billed on usage: $4.99/month plus your peak counts for the month, a quiet install costs almost nothing.

Base subscription$4.99
10 active users$14.90
3 nodes$29.97
15 instances$37.35
Estimated monthly total$87.21
Get Pay as you go

Frequently asked questions

What do I need to run Basalt?
Any machine that can run Docker: a homelab server, a spare PC, a NAS, a VPS or your own datacenter. The whole stack (panel, backend, database and node daemon) is deployed with Docker Compose.
Which games are supported?
Minecraft and Hytale have official templates today, and any game that can run in a Docker container can be added with a template: a single JSON file that describes the image, settings and backups. See the template docs to write your own.
Do my friends need port forwarding to join?
No. Basalt integrates playit.gg tunnels, so servers running behind NAT or CGNAT get a public address with one toggle. If you prefer classic port forwarding, that works too.
What are the free tier limits?
The free tier includes 2 user seats, 2 instance seats and 1 node, enough to run a couple of servers on a single machine with a friend. Hobby raises those limits, and Pay as you go removes them entirely with usage-based pricing.
Where does my data live?
On your machines, full stop. Worlds, configs, backups and the database all stay on hardware you control. Backups are encrypted with a key that you set.
Is Basalt only for hobbyists?
No. The same platform scales from a weekend Minecraft server with friends to a studio running fleets of game servers across many nodes. Role-based access control, per-node isolation and encrypted backups are built in, and the Pay as you go plan removes the seat, instance and node caps entirely.
Can multiple people manage the same panel?
Yes. Invite users by email and control what each of them can do with roles and per-resource permissions, down to who can open the console on a specific instance.

Your hardware is ready. Are you?

One Docker Compose file between you and your own game server platform.