Your Own server... Right Meow www.deploycat.app
5.0K
Your Own server... Right Meow www.deploycat.app
DeployCat is a game server manager that makes it easy to create, configure, and manage multiple game servers from a web interface. Supports Minecraft (Java + Bedrock + Modded), Steam games (ARK, Rust, Palworld, Satisfactory, CS2, Valheim, V Rising, and 25+ more)
--- Terms of Service: deploycat.app/terms
docker run -d \
--name deploycat \
--network host \
--stop-timeout 40 \
--device /dev/net/tun \
--cap-add NET_ADMIN \
-v /path/to/your/data:/data \
-e PORT=8732 \
-e TZ=America/New_York \
-e PUID=1000 \
-e PGID=1000 \
meowsers/deploycat:latest
Then open http://your-server-ip:8732 in your browser.
DeployCat works best with Host networking. (actually this is a MUST) Host mode lets game servers use any port without manual port mapping, and enables UPnP auto port-forwarding to your router.
--network host
If you must use Bridge mode, you need to manually map every port for every game server you create. UPnP will NOT work in bridge mode. See the Bridge Mode section below.
| Host Path | Container Path | Required | Description |
|---|---|---|---|
/path/to/your/data | /data | Yes | Where DeployCat stores ALL data — servers, config, backups, SteamCMD, Java runtimes, logs. This is the only required mount. |
/path/to/drive2 | /mnt/drive2 | No | Second drive for installing game servers. Useful if your primary drive is small or you want servers on an SSD. |
/path/to/backups | /mnt/backupdrive | No | Another location for backups. DeployCat can write backups here so they survive a drive failure. |
/var/run/tailscale | /var/run/tailscale | No | Host Tailscale socket. Only needed if your HOST runs Tailscale AND you use host networking. Lets DeployCat use the host's Tailscale daemon instead of spawning a conflicting one. |
docker run -d \
--name deploycat \
--network host \
--stop-timeout 40 \
--device /dev/net/tun \
--cap-add NET_ADMIN \
-v /mnt/user/appdata/deploycat:/data \
-v /mnt/user/appdata2/ssdservers:/mnt/drive2 \
-v /mnt/remotes/backups/dcbackups:/mnt/backupdrive \
-v /var/run/tailscale:/var/run/tailscale \
-e PORT=8732 \
-e TZ=America/Chicago \
-e PUID=99 \
-e PGID=100 \
-e TS_SOCKET=/var/run/tailscale/tailscaled.sock \
meowsers/deploycat:latest
| Variable | Default | Required | Description |
|---|---|---|---|
PORT | 8732 | Yes | Port for the DeployCat web interface. Access the UI at http://your-ip:PORT. |
TZ | UTC | No | Timezone for scheduling (backup schedules, start/stop schedules). Use IANA format e.g. America/New_York, Europe/London. Without this, all schedules run in UTC. |
PUID | 99 | Yes | User ID for file ownership. Set to match your host user's UID. On Unraid use 99 (nobody). On Ubuntu/Debian use 1000. Run id -u on your host to find yours. |
PGID | 100 | Yes | Group ID for file ownership. Set to match your host user's GID. On Unraid use 100 (users). On Ubuntu/Debian use 1000. Run id -g on your host to find yours. |
SERVER_PORT_RANGE | 25565-25575 | No | Port range for Java Edition Minecraft servers. Only change if you need more than 11 Minecraft servers. |
BEDROCK_PORT | 19132 | No | Port for Bedrock Edition Minecraft servers (UDP). |
HOST_IP | (empty) | No | Your server's LAN IP (e.g. 192.168.1.100). Shown in DeployCat so you know what IP players use to connect. Auto-detected if not set. |
TS_SOCKET | /var/run/tailscale/tailscaled.sock | No | Path to the host's Tailscale daemon socket. Only used when the Host Tailscale Socket volume is mapped. Lets DeployCat control the host's Tailscale (auth, status, connect) without running a duplicate daemon. |
These are set in the Dockerfile and rarely need changing. All point inside /data:
| Variable | Default | Description |
|---|---|---|
DEPLOYCAT_DATA | /data/servers | Where game servers are installed |
DEPLOYCAT_CONFIG_DIR | /data/config | App configuration and settings |
DEPLOYCAT_BACKUP_DIR | /data/backups | Default backup location |
DEPLOYCAT_IMPORT_DIR | /data/import | Drop server backups here to import |
DEPLOYCAT_TMP_DIR | /data/Tempdl | Temporary download staging |
DEPLOYCAT_JAVAS_DIR | /data/StoredJavas | Downloaded Java runtimes |
DEPLOYCAT_STEAMCMD_DIR | /data/SteamCMD | SteamCMD installation and cache |
DEPLOYCAT_LOG_DIR | /data/logs | Application logs |
This is the recommended configuration with all common options:
docker run -d \
--name deploycat \
--restart unless-stopped \
--network host \
--stop-timeout 40 \
--device /dev/net/tun \
--cap-add NET_ADMIN \
-v /path/to/your/data:/data \
-e PORT=8732 \
-e TZ=America/New_York \
-e PUID=1000 \
-e PGID=1000 \
meowsers/deploycat:latest
Flag explanations:
| Flag | Why |
|---|---|
--network host | Critical. Lets game servers use any port + enables UPnP auto port-forward. Without this you must manually map every game port. |
--stop-timeout 40 | Gives game servers 40 seconds to save and shut down gracefully when the container stops. Prevents world corruption. |
--device /dev/net/tun | Required for DeployCat Connect (Tailscale private networking for players). Harmless if never used. |
--cap-add NET_ADMIN | Required for DeployCat Connect to manage network routes. Harmless if never used. |
--restart unless-stopped | Auto-restarts the container if it crashes or the host reboots. |
-d | Detached mode — runs in the background. |
version: '3.8'
services:
deploycat:
image: meowsers/deploycat:latest
container_name: deploycat
restart: unless-stopped
network_mode: host
stop_grace_period: 40s
devices:
- /dev/net/tun:/dev/net/tun
cap_add:
- NET_ADMIN
volumes:
- /path/to/your/data:/data
# Optional: second drive for game servers
# - /path/to/drive2:/mnt/drive2
# Optional: separate backup location
# - /path/to/backups:/mnt/backupdrive
# Optional: host Tailscale socket
# - /var/run/tailscale:/var/run/tailscale
environment:
- PORT=8732
- TZ=America/New_York
- PUID=1000
- PGID=1000
# Optional: host Tailscale socket path
# - TS_SOCKET=/var/run/tailscale/tailscaled.sock
Start with:
docker compose up -d
If you can't use host networking, use bridge mode and map ports manually. UPnP will NOT work. You must add a port mapping for every game server port you create.
docker run -d \
--name deploycat \
--restart unless-stopped \
--stop-timeout 40 \
--device /dev/net/tun \
--cap-add NET_ADMIN \
-p 8732:8732 \
-p 25565-25575:25565-25575 \
-p 19132:19132/udp \
-p 7777:7777/udp \
-p 7778:7778/udp \
-p 8211:8211/udp \
-p 27015:27015/udp \
-p 27016:27016/udp \
-p 16261:16261/udp \
-p 16262:16262/udp \
-p 8888:8888/tcp \
-p 25575:25575/tcp \
-v /path/to/your/data:/data \
-e PORT=8732 \
-e TZ=America/New_York \
-e PUID=99 \
-e PGID=100 \
meowsers/deploycat:latest
DeployCat is available in the Unraid Community Applications store. The template pre-configures all volume mappings, ports, and environment variables. Key settings:
meowsers/deploycat/mnt/user/appdata/deploycat → /data99 / PGID: 100--stop-timeout=40 --device=/dev/net/tun --cap-add=NET_ADMIN| Minimum | Recommended | |
|---|---|---|
| RAM | 4 GB | 16+ GB |
| Storage | 50 GB free | 200+ GB free |
| CPU | 2 cores | 4+ cores |
Storage needs vary heavily by game — Minecraft needs ~2 GB, ARK needs ~alot of GB. The faster the IO the better.
Web UI not loading?
http:// not https://-p 8732:8732 (switch to host...)Game servers not accessible from the internet?
Permission errors on files?
id -u and id -g on your host to find the correct valuesContainer keeps restarting?
docker logs deploycat/data is mounted to a writable locationProprietary software, all rights reserved No copying, modifying, distributing, or reverse engineering without written permission Subject to the EULA at deploycat.app/terms Requires a valid subscription to function
Free trial: Fully unlocked 3-day trial, no payment info required. After the trial, a paid subscription (monthly or annual) is required to continue.
You may NOT: resell, redistribute, reverse engineer, or offer DeployCat as a hosted service without written permission.
Content type
Image
Digest
sha256:0a018e3cf…
Size
2.4 GB
Last updated
4 days ago
docker pull meowsers/deploycat