Includes all necessary dependencies and configurations to quickly deploy and manage a TF2 server.
50K+
This repository uses Docker and SteamCMD to download and check for updates to the TF2 dedicated server. If there's an update, it pushes the latest Docker image to the GitHub Docker registry.
| Image Name | Image Tag | Image Size |
|---|---|---|
| ghcr.io/doctor-server/tf2-dedicated-server | latest | 12.53 GB |
| ghcr.io/doctor-server/tf2-dedicated-server | slim | 4.04 GB |
slimremoves unnecessary files like maps, which helps reduce the image size.
To install the TF2 dedicated server from the command line, use one of the following commands:
docker pull ghcr.io/doctor-server/tf2-dedicated-server:latest
or, use slim tag for smaller image size and faster deployment. (Recommended)
docker pull ghcr.io/doctor-server/tf2-dedicated-server:slim
latest)First, create a temporary container to copy the necessary server files to your local tf directory:
docker create --name tf2-temp-server ghcr.io/doctor-server/tf2-dedicated-server:latest sleep infinity
docker cp tf2-temp-server:/home/steam/serverfiles/tf/cfg ./tf
docker cp tf2-temp-server:/home/steam/serverfiles/tf/maps ./tf
docker cp tf2-temp-server:/home/steam/serverfiles/tf/materials ./tf
docker rm tf2-temp-server
To run the TF2 server using Docker Compose, add the following service configuration to your docker-compose.yml file:
services:
tf2-demo-server:
image: ghcr.io/doctor-server/tf2-dedicated-server:latest
command: ./srcds_run -console -game tf +sv_pure 1 +randommap +maxplayers 24
ports:
- "27015:27015/tcp"
- "27015:27015/udp"
volumes:
- ./tf/cfg:/tf/cfg
- ./tf/maps:/tf/maps
- ./tf/materials:/tf/materials
restart: always
tty: true
stdin_open: true
slim)First, create a temporary container to copy the necessary server files to your local tf directory:
docker create --name tf2-temp-server ghcr.io/doctor-server/tf2-dedicated-server:slim sleep infinity
docker cp tf2-temp-server:/home/steam/serverfiles/tf/cfg ./tf
docker cp tf2-temp-server:/home/steam/serverfiles/tf/maps ./tf
docker cp tf2-temp-server:/home/steam/serverfiles/tf/materials ./tf
docker rm tf2-temp-server
Ensure you add at least one map to the maps folder in your local tf directory.
To run the TF2 server using Docker Compose, add the following service configuration to your docker-compose.yml file:
services:
tf2-demo-server:
image: ghcr.io/doctor-server/tf2-dedicated-server:slim
command: ./srcds_run -console -game tf +sv_pure 1 +randommap +maxplayers 24
ports:
- "27015:27015/tcp"
- "27015:27015/udp"
volumes:
- ./tf/cfg:/tf/cfg
- ./tf/maps:/tf/maps
- ./tf/materials:/tf/materials
restart: always
tty: true
stdin_open: true
To start the TF2 dedicated server, run the following command:
docker compose up -d
To attach to the running container, use:
docker attach <container_name>
To detach from the container without stopping it, use the key combination:
Ctrl + P, Ctrl + Q
This section is for github developer
docker build -f Dockerfile.buildid -t remote-buildid:232250 --build-arg APP_ID=232250 .
Run the following command to get the build ID from the Docker container:
docker run --rm remote-buildid:232250 sh -c "cat buildid.txt"
16015580
To build the Docker image locally, run the following command:
docker build -t tf2-dedicated-server:latest --build-arg remote_buildid=<remote_buildid> --build-arg tag=latest .
docker build -t tf2-dedicated-server:slim --build-arg remote_buildid=<remote_buildid> --build-arg tag=slim .
To run the demo TF2 server locally, use Docker Compose:
docker compose up -d
To copy the server files to a local directory, use the following command:
docker cp tf2-demo-server:/home/steam/serverfiles/tf ./tf
Successfully copied 11.7GB to C:\GitHub\tf2-dedicated-server\tf
Content type
Image
Digest
sha256:86846c0cd…
Size
10.6 GB
Last updated
15 days ago
docker pull doctorserver/tf2-dedicated-serverPulls:
109
Last week