Public | Automated Build

Last pushed: 3 years ago
Short Description
A Quake 3 dedicated server container :)
Full Description

Quake 3 Dedicated Server Image

A fancy containerized quake3 dedicated server container. Get playing in no time!

The config I have here is fairly generic but somewhat specific to the overall stock way I play this game with my friends. Either way, it's a great example to get going with if you'd like. If not, read below for more on configuration.

Ideally, you would setup the config how you want, build, launch, and play. I sourced the Dockerfile and originally from the excellent jberrenberg/quake3 image. That image now doesn't build and so I've tagged and moved on creating my own debian based ioquake3 engine image.

I wanted to thank the Debian Games Team for this excellent package :)


The server.cfg way

There is an included docker-compose.yml.example that shows the best way to launch this container and how to take care of the core dependencies: the retail pak0.pk3, the port forward for 27960/udp, and optionally, your own server.cfg.

Note that the server.cfg must exist in the /usr/share/games/quake3/baseq3 directory!

If you decide to build and incorporate your own server.cfg, as is recommended, make sure you modify the image source or just use build: . in your docker-compose.yml :)

You could also just -v ./server.cfg:/use/share/games/quake3/baseq3/server.cfg on the command line.

The command way

You can also pass in configuration options via passing them as docker commands either on the command line or in your docker-compose.yml.

docker run -d -v ./pak0.pk3:/usr/share/games/quake3/baseq3/pak0.pk3 inanimate/quake3 +fraglimit 150

A comprehensive list of possibilities can be found here.


I've set a default launch map of q3dm19, which is Apocalypse Void, one of the more popular deathmatch maps. This means you can just run the container straight off with no options and be playing instantly.

Ideally, we like to cycle through maps, starting from the first. It would be even better if we could set random for all minus a few we don't like (q3dm19 is not favorable to my tastes). See my included example server.cfg for how I cycle through maps.

A great map breakdown can be seen here.


Please see this page for info on how to setup bots.

Basically, you need seta bot_enable 1 at the top of your config. After you define and start a map, you can then:

botadd Major 3
botadd Sorlag 2

Bot names must be one of the supported character names! They cannot be custom!


docker logs quake3

Yep, the server logs to stdout/stderr!


Here are some really helpful links for setting up the server.cfg and utilizing rcon.

Docker Pull Command
Source Repository