Sign inSign up

meowsers/deploycat

By meowsers

•Updated 4 days ago

Your Own server... Right Meow www.deploycat.app

Image
0

5.0K

meowsers/deploycat repository overview

⁠DeployCat

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⁠

⁠Quick Start

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.


⁠⚠️ Network Mode — READ THIS FIRST

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.


⁠Volume Mappings

Host PathContainer PathRequiredDescription
/path/to/your/data/dataYesWhere DeployCat stores ALL data — servers, config, backups, SteamCMD, Java runtimes, logs. This is the only required mount.
/path/to/drive2/mnt/drive2NoSecond drive for installing game servers. Useful if your primary drive is small or you want servers on an SSD.
/path/to/backups/mnt/backupdriveNoAnother location for backups. DeployCat can write backups here so they survive a drive failure.
/var/run/tailscale/var/run/tailscaleNoHost 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.
⁠Example with all mounts:
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

⁠Environment Variables

VariableDefaultRequiredDescription
PORT8732YesPort for the DeployCat web interface. Access the UI at http://your-ip:PORT.
TZUTCNoTimezone for scheduling (backup schedules, start/stop schedules). Use IANA format⁠ e.g. America/New_York, Europe/London. Without this, all schedules run in UTC.
PUID99YesUser 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.
PGID100YesGroup 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_RANGE25565-25575NoPort range for Java Edition Minecraft servers. Only change if you need more than 11 Minecraft servers.
BEDROCK_PORT19132NoPort for Bedrock Edition Minecraft servers (UDP).
HOST_IP(empty)NoYour 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.sockNoPath 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.
⁠Data Directory Overrides (Advanced)

These are set in the Dockerfile and rarely need changing. All point inside /data:

VariableDefaultDescription
DEPLOYCAT_DATA/data/serversWhere game servers are installed
DEPLOYCAT_CONFIG_DIR/data/configApp configuration and settings
DEPLOYCAT_BACKUP_DIR/data/backupsDefault backup location
DEPLOYCAT_IMPORT_DIR/data/importDrop server backups here to import
DEPLOYCAT_TMP_DIR/data/TempdlTemporary download staging
DEPLOYCAT_JAVAS_DIR/data/StoredJavasDownloaded Java runtimes
DEPLOYCAT_STEAMCMD_DIR/data/SteamCMDSteamCMD installation and cache
DEPLOYCAT_LOG_DIR/data/logsApplication logs

⁠Docker Run (Full Example)

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:

FlagWhy
--network hostCritical. Lets game servers use any port + enables UPnP auto port-forward. Without this you must manually map every game port.
--stop-timeout 40Gives game servers 40 seconds to save and shut down gracefully when the container stops. Prevents world corruption.
--device /dev/net/tunRequired for DeployCat Connect (Tailscale private networking for players). Harmless if never used.
--cap-add NET_ADMINRequired for DeployCat Connect to manage network routes. Harmless if never used.
--restart unless-stoppedAuto-restarts the container if it crashes or the host reboots.
-dDetached mode — runs in the background.

⁠Docker Compose

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

⁠Unraid (we applied... give it time)

DeployCat is available in the Unraid Community Applications store. The template pre-configures all volume mappings, ports, and environment variables. Key settings:

  • Network Type: Host
  • Repository: meowsers/deploycat
  • Data Location: /mnt/user/appdata/deploycat → /data
  • PUID: 99 / PGID: 100
  • Extra Parameters: --stop-timeout=40 --device=/dev/net/tun --cap-add=NET_ADMIN

⁠Hardware Requirements

MinimumRecommended
RAM4 GB16+ GB
Storage50 GB free200+ GB free
CPU2 cores4+ cores

Storage needs vary heavily by game — Minecraft needs ~2 GB, ARK needs ~alot of GB. The faster the IO the better.


⁠Troubleshooting

Web UI not loading?

  • Make sure you're using http:// not https://
  • Check that PORT (8732) is not blocked by a firewall
  • If using bridge mode, make sure you mapped -p 8732:8732 (switch to host...)

Game servers not accessible from the internet?

  • Use host networking mode — bridge mode blocks UPnP
  • Check that your router supports UPnP and it's enabled
  • Some ISPs block inbound connections (CGNAT) — contact your ISP

Permission errors on files?

  • Make sure PUID and PGID match your host user
  • Run id -u and id -g on your host to find the correct values
  • On Unraid, use PUID=99 and PGID=100

Container keeps restarting?

  • Check logs: docker logs deploycat
  • Make sure /data is mounted to a writable location
  • Make sure you have enough disk space (50+ GB recommended)

Proprietary 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.

Tag summary

Content type

Image

Digest

sha256:0a018e3cf…

Size

2.4 GB

Last updated

4 days ago

docker pull meowsers/deploycat