To host an Arma 3 x64 server with an existing Arma 3 Server install in subfolder `arma3` with persisted profiles in `profiles` and shared network with host,
```sh
mkdir -p arma3 profiles
touch servers.json
docker run \
--network=host \
--env GAME_TYPE=arma3_x64 \
--env GAME_PATH=/arma3 \
--volume $PWD/arma3:/arma3 \
--volume $PWD/servers.json:/app/servers.json \
--volume $PWD/profiles:"/root/.local/share/Arma 3 - Other Profiles" \
dahlgren/arma-server-web-admin
```
### Required setup
Mount a preinstalled Arma server folder to the container, currently only the linux server is supported.
Set GAME_TYPE to your desired arma server, for example `--env GAME_TYPE=arma3` or `--env GAME_TYPE=arma3_x64`.
Set GAME_PATH to your mounted volume, for example `--env GAME_PATH=/arma3` and `--volume $PWD/arma3:/arma3`.
### Networking
Host preferably needs to share network with the container or all game ports used will need to be forwarded to the container.
Use `--network=host` to use same network as the host machine.
Web Admin UI is available at port 3000.
If you use `--network=host` you can reach the web ui at `http://localhost:3000` by default.
### Persistence
#### Servers
Mount a file at `/app/servers.json` to persist the servers config.
For example `--volume $PWD/servers.json:/app/servers.json` to use a file named `servers.json` in current folder as persistent servers config file.
#### Profiles
If you need to persist the server profiles such as vars file make sure to mount a volume.
For Arma 3 the default profiles directory will be located at `/root/.local/share/Arma 3 - Other Profiles`
### Environment Variables
Key | Description
--- | ---
GAME_PATH | Required. Absolute folder path to game server in docker container
GAME_TYPE | Required. Type of game server, see above
AUTH_USERNAME | Username used for HTTP Basic Auth
AUTH_PASSWORD | Password used for HTTP Basic Auth
SERVER_ADMINS | Steam IDs that should be set as admins
SERVER_ADDITIONAL_CONFIG | Additional content to add into server.cfg
SERVER_MODS | Mods to be loaded as server side only mods
SERVER_PARAMETERS | Additional parameters to pass on server launch