pez-infra/docs/hosts/copenhagen-a.md
Rasmus "Pez" Wejlgaard a031d4218b
Some checks failed
Deploy (on merge) / Discover hosts (push) Has been cancelled
Deploy (on merge) / deploy (push) Has been cancelled
fix: Documentation overhaul (#112)
* fix: Documentation overhaul

* removing joke graph
2026-05-19 18:49:21 +01:00

2.3 KiB

copenhagen-a

Game servers. Located at my dad's place in Copenhagen as an off-site location.

Overview

Location Copenhagen
OS Ubuntu 22.04 LTS
Tailscale IP 100.89.206.60
Role Gaming servers (Minecraft, WoW)
Form factor Lenovo "tiny" desktop (lunchbox-sized)

Hardware

Component Spec
CPU Intel i5-4570T (4 threads)
Memory 16 GB
Boot disk 500 GB

Compact Lenovo desktop — powered by a standard ThinkPad charging brick. Small, quiet, and draws minimal power.

Services

Minecraft

Image itzg/minecraft-server
Port 25565
Deployment Docker

Not proxied through Caddy — accessed directly via Tailscale or the host's public IP.

World of Warcraft (MaNGOS Zero)

WoW 1.12 (Vanilla) private server using the MaNGOS Zero emulator. Runs natively — not in Docker.

Service Port Managed by
mangos-realmd 3724 systemd
mangos-world 8085 systemd
MariaDB 3306 systemd (apt-managed)
  • Runs as the mangos user
  • Install path: /home/mangos/mangos/zero/
  • MariaDB hosts the character, world, and auth databases locally
  • Both mangos-realmd and mangos-world start automatically on boot via systemd
  • The mariadb Ansible role manages package + secrets; the systemd_services role drops the unit files (ansible/services/mangos-realmd/, ansible/services/mangos-world/)

Other

Service Port Deployment Notes
smartctl_exporter 9633 Docker Disk SMART metrics scraped by Alloy
node_exporter 9100 Native Host metrics
systemd_exporter Native systemd unit metrics
Alloy Native Ships everything to Grafana Cloud
Tailscale Native Mesh networking

Networking

Connected directly to the ISP router's built-in switch. Symmetrical 500 Mbit connection — more than enough for game servers.

Notes

copenhagen-a has a static public IP, which is needed for game servers that require direct client connections (WoW realm list, Minecraft server list). The reboot playbook (ansible/playbooks/reboot.yml) does a netplan pre-flight check before rebooting to make sure the static IP config will come back up cleanly.