Back to templates
Valheim Docker icon

Deploy Valheim Docker on Sealos

A persistent Valheim dedicated server with the built-in Huginn status dashboard and Steam multiplayer support.

Tools
Deploy Valheim Docker in a few clicks from the Sealos App Store.Run a self-hosted open-source service on Kubernetes-backed infrastructure.Get automatic HTTPS, routing, and resource management from Sealos.Avoid manual YAML while keeping control of the deployed workload.

Why deploy on Sealos

Sealos makes deploying any app effortless, secure, and production-ready. From one-click launch to ongoing operations, we handle the heavy lifting so you can focus on what matters.

One-Click Deploy
Sealos logo
Compute
Networking
Storage
Security
Observability
Your Application is Live

One-Click Deployment

Deploy any app template in seconds. No compose setup, manual configure, and go live.

Managed Kubernetes Reliability

Built on Sealos Managed Kubernetes for high availability, auto-scaling, and self-healing by default.

Automatic HTTPS & Security

Every deployment includes a secure domain with automatic SSL. We handle certificates and text protection for you.

Persistent Storage

Attach persistent volumes with ease. Your data stays safe, durable, and always accessible.

Scale when needed

Adjust resources as your app grows, no downtime required.

You Get the Whole Stack

Sealos provisions and connects every resource your application needs. Everything is ready to use.

One-click, fully provisionedSecure by defaultProduction ready

App Service

Your application is running and ready to serve requests.

Public HTTPS URL

Secure, global endpoint to access your application.

Database

Managed database instance for your application.

Persistent Volume

Durable storage for uploads and application data.

Environment Variables

Configuration and secrets injected securely into your app.

Logs & Metrics

Centralized logs and basic metrics are enabled.

README

README.md

Deploy and Host Valheim Docker on Sealos

Valheim Docker runs a Valheim dedicated server with Odin process management and the built-in Huginn status dashboard. This template deploys one vanilla server with persistent game files and world saves.

Valheim in-game camp screenshot

In-game screenshot from the official Valheim press kit.

About Hosting Valheim Docker

Odin installs the dedicated server through SteamCMD, starts Valheim, and shuts it down gracefully. Huginn provides a public, read-only dashboard, player information, health checks, and interactive API documentation.

Game binaries and configuration use a 2 GiB persistent volume. World saves use a separate 1 GiB volume at /home/steam/.config/unity3d/IronGate/Valheim. Sealos exposes the dashboard through HTTPS and the game through UDP NodePorts.

Common Use Cases

  • Hosting a persistent cooperative world for friends.
  • Moving an existing vanilla world to a server that stays online.
  • Checking server health and player counts from a browser.

Dependencies for Valheim Docker Hosting

The template includes the server image, SteamCMD, Odin, Huginn, persistent volumes, separate HTTP and UDP Services, and an HTTPS Ingress. Players need a licensed Valheim client compatible with the installed server version.

Implementation Details

ComponentConfiguration
Servermbround18/valheim:3.7.0, one StatefulSet replica
CPU / memory limits500m / 2 GiB
Game installation2 GiB PVC at /home/steam/valheim
World saves1 GiB PVC at /home/steam/.config/unity3d/IronGate/Valheim
DashboardHuginn on port 3000, served by a ClusterIP Service through HTTPS Ingress
Game networkingUDP 2456 (game), 2457 (query), and 2458 on a separate -nodeport Service
RuntimeVanilla, public server listing, Steam backend, UTC

The container runs as UID 111 and GID 1000. Startup and readiness checks use Huginn's /readiness; liveness verifies both the Valheim process and Huginn. The container image version pins the Docker tooling; SteamCMD installs the current stable Valheim server on first start. Later restarts reuse the installed version. Set UPDATE_ON_STARTUP=1 temporarily when you want to update, then return it to 0.

Empty-server validation at 100m CPU / 2 GiB covered public server queries, dashboard/API access, and save persistence. The template defaults to a 500m CPU limit. Increase capacity before sustained multiplayer sessions. The 2 GiB installation volume fits the tested vanilla build. Expand it before large updates or adding mods. Use one replica per world, and increase CPU and memory for active players or larger worlds. Automatic update and backup schedules are disabled by default; keep separate copies of important saves.

Why Deploy Valheim Docker on Sealos?

Sealos provides a Kubernetes foundation, one-click deployment, persistent storage, and an HTTPS status page. Pay-as-you-go resource allocation lets you start with a small server and adjust its capacity from the Canvas resource cards or AI dialog.

Deployment Guide

  1. Open the Valheim Docker template and click Deploy Now.
  2. Set server_name, world_name, and server_password. Use at least 5 characters for the password and a value different from the server name. Use letters, numbers, and hyphens for passwords; world names also support underscores, and server names support spaces.
  3. Sealos typically provisions the resources in 2-3 minutes. The first server start downloads approximately 1.64 GiB and generates the world, which takes additional time. Startup checks allow up to 60 minutes for this first initialization. Open the Canvas and wait for the server to become Ready.
  4. Open the application's HTTPS URL to view Huginn. The dashboard opens directly and uses public read-only endpoints; game access uses the password supplied during deployment.
  5. Open the Service resource card whose name ends in -nodeport and copy the public UDP host and the NodePort mapped from 2456. In Valheim, select Start Game, choose your character, open Join Game, and use Add Server with <public-host>:<game-node-port>. Enter server_password when prompted.
  6. For Steam's server browser, use the separately mapped query port from 2457. Keep the game and query mappings distinct when copying addresses. Canvas shows the actual assigned ports for your deployment.

Dashboard and Game Access

Huginn includes /status, /players, /mods, /metrics, and /docs. It provides server visibility without an account registration flow. The game's password is configured in the StatefulSet's PASSWORD environment variable and can be viewed or changed from its resource card.

The bundled dashboard's Steam connection buttons assume a direct port mapping. Use the public UDP address shown in Canvas for this NodePort deployment.

Configuration and Backups

Use the Canvas AI dialog or resource cards for post-deployment changes. Keep the replica count at one. Increasing CPU and memory is the supported way to provide more capacity for a single world.

To import a world, stop the server, copy its matching .db and .fwl files into worlds_local under the save volume, set world_name to their base name, and restart. Preserve the entire save directory when making backups. Deleting persistent volumes deletes their stored worlds and game files.

Troubleshooting

The status page reports offline: Inspect the server logs for SteamCMD progress and the final Game server connected message. Huginn starts before world initialization finishes. Repeated OOM terminations require a higher memory tier.

A game client cannot connect: Check the public UDP host, the assigned game port, the password, and the client/server versions. The HTTPS dashboard address serves web traffic; game clients use the Service's UDP address.

An update reports insufficient disk space: Expand the game installation PVC, then restart the server. The world-save volume is separate.

License

Valheim Docker, Odin, and Huginn are distributed under the BSD 3-Clause License, copyright © 2021 mbround18. Valheim and its game assets are governed by their respective owners' terms.

Related templates

Explore more production-ready templates.

More