mserajnik/vmangos-deploy
mserajnik/vmangos-deploy has 60 GitHub stars and 14 forks. Star changes are not measured yet. Last checked 2026-11-12 16:07 UTC. Last push 2026-11-12.
A Docker setup for VMaNGOS with prebuilt images for all supported client versions
实测星标增长
- 24小时
- 正在收集历史
- 7天
- 正在收集历史
- 15天
- 正在收集历史
- 1个月
- 正在收集历史
各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。
README.md
原文
vmangos-deploy
[!WARNING] vmangos-deploy was relaunched on 2026-10-04 with major changes that require adjusting your configuration. If you used it before this date, work through the breaking changes before you update.
vmangos-deploy is a Docker-based solution for running VMaNGOS. It offers:
- Prebuilt Docker images for both
amd64andarm64, built with GitHub Actions: simply pull the images for your architecture and get started. - The ability to run VMaNGOS configured for any of its supported client
versions: prebuilt images for all versions, from
1.5.1.4449to1.12.1.5875, are provided. - Automated database migrations: when you pull the latest Docker images and re-create the containers, the migrations are applied automatically to keep your databases up to date at all times.
[!NOTE] The Docker images are built daily when VMaNGOS has had new commits since the last build. Additionally, every Monday, the latest images are rebuilt to keep their system packages up to date, even if VMaNGOS itself has not changed.
Quick start
The steps below get a local installation running quickly, for playing on the same machine. You need Docker with Docker Compose.
Clone the repository and copy the example configuration files:
git clone https://github.com/mserajnik/vmangos-deploy.git cd vmangos-deploy cp config/mangosd.conf.example config/mangosd.conf cp config/realmd.conf.example config/realmd.confThen adjust the copies to your liking, for example the
GameTypeor theRealmZonein yourconfig/mangosd.conf. The files describe their options. Some options are set by the image and cannot be configured in the files. A comment at the top of yourmangosd.confandrealmd.conflists them.Copy the example Compose file:
cp compose.yaml.example compose.yamlAdjust your
compose.yaml: set the server image of your client version for therealmdandmangosdservices, as the client versions section lists. SetTZto your time zone in every service, and change the database passwords. On Linux, setVMANGOS_UIDandVMANGOS_GIDto your user's UID and GID. The Docker Compose reference explains every setting.Copy the contents of your client directory into
storage/mangosd/client-data/, and extract the client data:docker compose run --rm extract-client-dataUse the client that matches your chosen client version. Extracting can take many hours, and the extracting the client data section describes the details.
Start VMaNGOS and follow its output:
docker compose up -d docker compose logs -f mangosdThe first start takes longer, because it creates the databases. Do not interrupt it, or you may have to remove the database volume and start over. The server is ready when it prints
World initialized..Create your first account. To do that, attach to the server console:
docker compose attach mangosdThen create the account:
account create <account-name> <password>If you want to give the account Game Master permissions, for example, the accounts section explains the account levels. To leave the console again, press Ctrl+P and then Ctrl+Q.
Adjust the
realmlist.wtfin the client directory to point the client at the local server:set realmlist 127.0.0.1Then start the client and log in with the account you created.
For the full instructions, see the usage documentation.
Using a coding agent
A coding agent such as Claude Code or Codex can walk you through the setup. Try a prompt like the following:
Help me install and set up https://github.com/mserajnik/vmangos-deploy.
First, clone the repository and read the README and every file under docs/
carefully.
Then guide me through the installation process step by step, following the
documentation closely.
Do as much of the setup yourself as you safely can so that I only have to step
in when a manual action or personal preference is required.
Ask me about my preferences whenever a choice has to be made, explain the
relevant options clearly, and tailor your instructions to the OS I am using.
Assume that I am not familiar with VMaNGOS or Docker and that I have not read
the documentation myself.
For steps that I need to perform manually, give me clear instructions and exact
commands where appropriate.
Do not assume user-facing choices such as the client version, optional
services, or networking-related preferences.
Ask me whenever the documentation presents a meaningful choice.
For settings and options that the documentation or the VMaNGOS example
configuration files indicate should generally be left alone, keep the defaults
unless I explicitly ask for something else.
Do not change settings and options that the documentation or the VMaNGOS
example configuration files indicate should not be changed.
The prompt that works best depends on the agent and the model.
[!CAUTION] You use coding agents at your own risk, and you are responsible for the access you give them. The maintainer of this project is not liable for any damage or data loss they cause. Take precautions such as sandboxed access and limited permissions, and do not run them with
--yoloor similar options that bypass their safety checks.
Documentation
- Usage: choosing images, the client data, running and updating VMaNGOS, backups, and database access.
- Docker Compose reference: every setting in your
compose.yaml. - Breaking changes: the changes you have to act on when you update.
Modifications
The images contain VMaNGOS with the patches from
docker/patches/. A patch exists for one or more of these
reasons:
- It corrects a problem that breaks the build or the running server.
- It adapts the code to how the images are built and run.
- It changes a VMaNGOS default to a value that gives objectively better results.
- It applies a fix from an open VMaNGOS pull request that the maintainer has reviewed and that does not conflict with VMaNGOS's goals.
Every patch adds a comment to the code it changes, which explains what the change does and why. A patch is removed once it is no longer needed, so the directory can be empty at times.
Similar Docker setups
- cmangos-deploy for CMaNGOS, a WoW server emulator that supports Vanilla (which CMaNGOS calls Classic), TBC, and WotLK.
- tortoise-deploy for Tortoise-WoW, a
community-driven restoration of Turtle WoW's
1.18.1.7272patch. - lost-city-rs-deploy for Lost City RS, an RS2 server emulator that aims to re-create the original game accurately.
Maintainer
Contribute
You are welcome to help out!
Open an issue or make a pull request.
Licenses
AGPL-3.0-or-later(Code)GPL-2.0-only(Database entrypoint script, based on MariaDB's)GPL-2.0-or-later(Patches, matching VMaNGOS source)CC-BY-SA-4.0(Documentation, graphic assets, and issue templates)CC0-1.0(Configuration files)
This project follows the REUSE specification.
Disclaimer
vmangos-deploy is an independent, community-made Docker setup for the open-source VMaNGOS project. It is not affiliated with, endorsed by, or sponsored by Blizzard Entertainment, Inc., and it is not an official VMaNGOS project.
This project includes no game client data or other copyrighted game assets. You must supply your own legitimate game client, from which the required data is extracted locally on your own machine. It is intended for private, non-commercial use only and comes with no warranty.