A docker container for ioq3 based on a debian 10 distroless image
Copy the *.pk3 files from your official q3 install into the pk3 directory. Create a Makefile.local. For convenience you can read the values from the parameters.json file as described in Running in Azure using the following
$ cat << "EOF" > Makefile.local
IOQ3_IMAGE := $(shell jq -r .docker_image_path parameters.json)
AZ_LOCATION := $(shell jq -r .az_location parameters.json)
EOF
Then run:
$ make docker-build
$ docker run --rm <your image name>:latest
Remember not to push the image containing ID's copyrighted pk3 files to a public Docker registry!
Edit the config files in cfg/ - I suggest you create a local branch you never push if you're going to do this.
Don't leave the server up, it (at time of writing) costs about £1 a day to run this server. At that cost long-term it'd be cheaper to use a dedicated server, this container is designed to be spun up and shut down when you just want a quick game of q3 dm.
- Install the tool jq the az commandline tools.
- Sign up for the free tier of Azure
- Sign up for a free Dockerhub account.
- Create a private repo called ioq3-server
- Generate a new access token - you'll use this as the value for dh_password
$ cp parameters.json.example parameters.json
- Fill in all the values in
parameters.json
:
Parameter | Description |
---|---|
dh_user | the username you registered with for docker-hub |
dh_password | The value of the access token you created |
docker_image_path | Usually <du_user>/ioq3-server:latest |
az_container_name | The name of the container to create in azure. |
az_region | The location in Azure to create the server in, choose one close to the players from the list output of az account list-locations |
- Then run
make az-deploy
and wait. - To tidy up the server run:
make az-destroy