Arma 3 Dedicated Server containerized for Docker or Podman.
-
Copy the example environment file and fill in your credentials:
cp .env.example .env # Edit .env with your Steam credentials and server settings -
Configure your mods in
arma/mods.json. -
Configure your server settings in
arma/server.cfg.template. The following environment variables are expanded at runtime:SERVER_NAMESERVER_PASSWORDSERVER_ADMIN_PASSWORDSERVER_COMMAND_PASSWORD
-
Start the server:
./serverctl.sh start --mode update
-
For subsequent quick starts (skip downloads):
./serverctl.sh start --mode quick
| Command | Description |
|---|---|
start |
Start the server (default: update) |
stop |
Stop and remove the container |
restart |
Restart the server |
status |
Show running containers |
logs |
Tail server logs |
arma/mods.json— Workshop mod list with load orderarma/server.cfg.template— Server configuration templatearma/mpmissions/— Mission filesarma/logs/— Server logs (mounted from container).env— Secrets and settings (do not commit)
| Variable | Description | Default |
|---|---|---|
STEAM_USER |
Steam username | (required) |
STEAM_PASS |
Steam password | (required) |
SERVER_NAME |
Server hostname | Arma 3 Server |
SERVER_PASSWORD |
Server join password | changeme |
SERVER_ADMIN_PASSWORD |
Admin password | changeme |
SERVER_COMMAND_PASSWORD |
Server command password | changeme |
N_DOWNLOAD_THREADS |
Concurrent mod downloads | 4 |
LOG_LEVEL |
Python log level | INFO |
UPDATE_ON_START |
0 for quick start, 1 for update |
1 |
The server exposes the following ports:
| Port | Protocol | Purpose |
|---|---|---|
| 2302-2306 | UDP | Game traffic |
| 2302-2306 | TCP | Steam query / RCON |