Requirements
Two hosts, two lists. They can be the same machine, but they are separate deployments and have nothing in common except the four values you will paste between them.
The website host
Section titled “The website host”| Requirement | Detail |
|---|---|
| Docker with Compose v2 | docker compose version should print v2.x. The site ships as prebuilt images and pulls them; nothing is built on your host. |
Outbound HTTPS to gitea.whitlocktech.com |
To pull the images, and later to install a module. Nothing inbound is required for the install itself. |
| ~2 GB of disk to start | Two images, a MariaDB volume, and an uploads volume. Uploads grow with what your community posts. |
| A hostname and TLS, eventually | Not needed to boot — you can reach it on http://localhost:3000 first. Needed before anyone else uses it: see Maintenance and upgrades for the reverse-proxy notes. |
There is no separate database to install: MariaDB comes up as a container beside the app, and the schema is created on first boot.
The game server host
Section titled “The game server host”Only if you are connecting a game server. Today that means a ServUO shard, which is what
the uo module and the installer support.
| Requirement | Detail |
|---|---|
| A working ServUO install | It must currently boot and compile scripts cleanly. The installer deploys onto a healthy shard; it does not repair a broken one. |
| ServUO 57.4 (patch tier only) | The base install works on any reasonably current ServUO. The optional patch tier is written and tested against stock 57.4; on any other version it is unsupported, and skipping it still leaves you with a working bridge. |
| The shard stopped | ServUO.exe locks Scripts.dll and rewrites Saves/ on exit. The installer refuses to deploy under a running shard. |
| Administrator / root | It writes into system directories and registers a service. |
| Outbound HTTPS | To fetch the bundle and its two artifacts. No Gitea account and no git client are needed. |
| The sidecar on the same host as the shard | The shard connects to 127.0.0.1:7788. Splitting them is not supported — that loopback socket is the trust boundary for inbound commands. |
What you do not need
Section titled “What you do not need”- A Gitea account. Everything the installers fetch is a public release asset.
- A build toolchain. Not on either host. The site pulls images; the module arrives as a verified tarball; the shard plugin is C# source that ServUO itself compiles at boot.
- An inbound port on the game host — for the game. The shard never listens for the website. If the website runs on a different machine from the shard, the sidecar needs to be reachable by the website, and that is the one hole you will open deliberately.
Next: Install the site.