- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| docker-compose.yml | ||
| generate-secrets.sh | ||
| LICENSE | ||
| README.md | ||
| stack.env | ||
Valheim Dedicated Server
Dedicated multiplayer server for Valheim — survival action-RPG set in Norse mythology. Bundles a supervisor web UI, automatic updates, idle restarts, and scheduled world backups.
Prerequisites
| Requirement | Details |
|---|---|
| Docker secrets | bash generate-secrets.sh |
| External network | proxiable-valheim external bridge for HTTP admin and stat interfaces (must already exist before deploying this stack!) |
Docker Engine version must be >= 29.4.3
Deployment — Portainer → Add Stack → Git Repository
-
Portainer → Stacks → Add stack
-
Name the stack (e.g.
valheim) -
Select Git repository as the source
-
Fill in:
Field Value Repository URL https://git.necc.me/necc/valheim-server.gitRepository reference refs/heads/mainCompose file path docker-compose.yml -
Environment variables — copy the contents of
stack.envfrom this repository and paste them into the Environment variables section. Adjust values as needed (server name, ports, paths, etc.). -
Click Deploy the stack
Note:
stack.envis an example/template. Portainer-CE does not auto-process it for Git-backed stacks — you must paste its contents into the Environment variables field.
Updating
| Action | How |
|---|---|
| Pull latest code / image | Stacks → valheim → Pull and redeploy |
| Change a variable | Edit in Portainer's Environment variables, then Pull and redeploy |
| Change compose | Edit in the Git repo → push → Pull and redeploy |
Access
| Service | Proxy target | Protocol |
|---|---|---|
| Supervisor UI | valheim:9001 |
HTTP (proxied) |
| Status JSON | valheim:80 |
HTTP (proxied) |
| Game traffic | host UDP 2456–2458 | UDP (direct) |
Your reverse proxy must be attached to the
proxiable-valheimexternal network to resolvevalheimby container name.