Skip to content

Releases: MrGuato/valheim-game-server

v2.1.0: Ubuntu 26.04, one package

Choose a tag to compare

@MrGuato MrGuato released this 24 Oct 07:35
2870091

The first release on Ubuntu 26.04, with one package name and a cleaner image.

Changed

  • Base image is Ubuntu 26.04 LTS (was 22.04). The default ubuntu user those images ship on UID 1000 is removed so valheim keeps that id. Tested against a copy of a live world before release: SteamCMD validation, world load, save on stop. Nothing changes for the host: any Linux with Docker 24+ runs it.
  • The build applies Ubuntu's pending package updates, so each release carries current security fixes instead of the base image's snapshot.
  • GitHub Actions bumped (checkout 7, login-action 4, metadata-action 6, build-push-action 7, setup-buildx-action 4, codeql-action 4). The README shows the container's pull count.

Removed

  • The pre-2.0 package ghcr.io/mrguato/valheim_game_server has been deleted. Only ghcr.io/mrguato/valheim-game-server exists. If your .env still names the old one, set IMAGE_REPOSITORY=ghcr.io/mrguato/valheim-game-server and run ./valheim update.
  • The unused pebble binary the 26.04 base image ships; Trivy flagged fourteen Go CVEs in it.

Security

  • .trivyignore records that starting as root is deliberate (volume ownership, then gosu to PUID/PGID), so that finding stays closed. All Trivy and CodeQL alerts on the repo are resolved.

Upgrading from 2.0.0

Nothing to change if you follow latest: Watchtower or ./valheim update picks it up and the server restarts once (it saves first). If you pin, set IMAGE_TAG=2.1.0 and run ./valheim update.

Docs: https://mrguato.github.io/valheim-game-server/ · Image: ghcr.io/mrguato/valheim-game-server:2.1.0 (also 2.1, latest)

Full changelog: v2.0.0...v2.1.0

v2.0.0: own image, one CLI, a new name

Choose a tag to compare

@MrGuato MrGuato released this 23 Oct 01:41
4fb22e8

Update (2026-10-24): the old package ghcr.io/mrguato/valheim_game_server has since been deleted. Use ghcr.io/mrguato/valheim-game-server; see v2.1.0.

A year after 1.0, the project has its own container image and is now called valheim-game-server.

Added

  • Own container image ghcr.io/mrguato/valheim-game-server: Ubuntu 22.04 + SteamCMD, game files installed and validated on every start.
  • ./valheim CLI: setup wizard, start, stop, restart, status, logs, update, backup, restore, shell, build. A Makefile wraps it.
  • Runs as an unprivileged user by default (PUID/PGID, 1000), and fixes volume ownership and Valheim 1.0 world-folder permissions on start.
  • Graceful shutdown that waits for the world save (STOP_TIMEOUT, default 120 s).
  • Up-front checks for Valheim's password rules and world names.
  • Game settings from .env: SERVER_PRESET, SERVER_MODIFIERS, SERVER_SETKEYS, SAVE_INTERVAL, Valheim's own backup settings, SERVER_ARGS.
  • Crossplay (CROSSPLAY=true).
  • Opt-in BepInEx (BEPINEX=true): the pack is pinned and checksummed in the image, and plugins go in config/bepinex/plugins/.
  • scripts/backup.sh and scripts/restore.sh: verified tarballs with retention.
  • Documentation site at https://mrguato.github.io/valheim-game-server/, including pages on mods, the Longhouse dashboard and security.
  • Security workflow: gitleaks plus Trivy config and image scans. Added alongside hadolint, shellcheck, CodeQL and Dependabot.
  • MIT license, security policy and a changelog.

Changed

  • Renamed the repository from Valheim_Game_Server to valheim-game-server. GitHub redirects the old URLs, but the docs site moved to /valheim-game-server/.
  • The default image is now ghcr.io/mrguato/valheim-game-server. The old name ghcr.io/mrguato/valheim_game_server is still published with the same tags, so existing installs keep updating.
  • Watchtower runs once a day at 05:00 (it was hourly) and only updates labeled containers.

Removed

  • The self-hosted GitHub Actions runner and its deploy workflow. Updates come from Watchtower or git pull && ./valheim update, so GitHub never needs access to the host.
  • The old standalone index.html page, replaced by the docs site.

Upgrading from 1.x

  1. ./valheim backup (or copy config/ somewhere safe).
  2. git pull. If your clone points at the old URL it still works; to update it, run git remote set-url origin https://github.com/MrGuato/valheim-game-server.git.
  3. Optionally set IMAGE_REPOSITORY=ghcr.io/mrguato/valheim-game-server in .env. The old name keeps working.
  4. ./valheim update.

Docs: https://mrguato.github.io/valheim-game-server/ · Image: ghcr.io/mrguato/valheim-game-server:2.0.0

Full changelog: v1.0...v2.0.0

Valheim Docker Server v1.0 — Automated & Secure

Choose a tag to compare

@MrGuato MrGuato released this 03 Sep 04:43
fd2779a

Valheim Docker Server v1.0 — Automated & Secure

Release Date: 2025-09-03

This is the first official release of the Valheim Docker Server project — a secure, automated, and reproducible way to host a Valheim world using Infrastructure as Code (IaC).

✨ Highlights

  • Infrastructure as Code - Docker Compose for clean, portable deployments
  • Security by Default
    • .env excluded from Git
    • UniFi firewall/IP restrictions supported
    • GitHub Actions Secrets for credentials
  • Automated Updates - Watchtower keeps containers patched on a fixed schedule (default: daily at 05:00)
  • Resilient Backups - Cron-based backups with configurable retention
  • CI/CD Workflow - GitHub Actions pipeline for deployment and validation
  • Monitoring & Scanning - Snyk for vulnerability management.

🎯 Why This Release Matters

This release is more than just a Valheim server. It’s a DevSecOps case study that demonstrates how to:

  • Run internet-facing workloads securely
  • Apply automation and CI/CD to game hosting
  • Show off a portfolio-ready project blending DevOps and security engineering
  • Provide a template others can adapt for Valheim or any containerized service

🛠️ Getting Started

Clone the repository:

git clone git@github.com:MrGuato/Valheim_Game_Server.git ~/gameserver
cd ~/gameserver

Configure environment variables:

cp .env.example .env

Deploy the server:

docker compose up -d

🔮 What’s Next

  • Optional mod support and monitoring integrations
  • Additional IaC security checks (Trivy, OPA policies)
  • Community contributions and refinements

🔐 Security Note

This repository contains infrastructure code only. Game files, secrets, and backups remain private and are never committed.