Sign inSign up

sonikro/tf2-quickserver

By sonikro

Updated 8 days ago

Discord bot that enables Team Fortress 2 players to spin up game servers in multiple AWS regions

Image
0

10K+

sonikro/tf2-quickserver repository overview

sonikro/tf2-quickserver Docker Image

The sonikro/tf2-quickserver Docker image is designed to simplify the deployment of Team Fortress 2 servers.


🐳 Running the Docker Image

To run the sonikro/tf2-quickserver image, you can use the following docker-compose.yml example:

services:
  tf2-quickserver:
    image: sonikro/tf2-quickserver:latest
    container_name: tf2-quickserver
    env_file:
      - .env
    volumes:
      - ./db:/app/db
      - ./config:/app/config
Steps to Run
  1. Create a .env File
    Add the required environment variables to a .env file in the same directory as your docker-compose.yml file. See the Environment Variables section for details.

  2. Run the Container
    Use the following command to start the container:

    docker-compose up -d
    

📂 Mount Points

The Docker container provides the following mount points for customization and persistence:

  • /app/db
    This volume is used to store persistent server data. This is where the SQLite database is created. The application manages running all databases migrations and creating everything from scratch.

  • /app/config
    This directory is used to store configuration files for the server. You can mount your own configuration files here to customize server behavior. The image ships with a default.json in the image, so providing this is only required if you want to change the default values. See default.json


🔑 Environment Variables

The following environment variables are required to run the container:

  • DISCORD_TOKEN
    The bot token for authenticating with Discord. This is required for the bot to function.

  • DISCORD_CLIENT_ID
    The client ID of the Discord bot.

  • AWS_ACCESS_KEY_ID
    The AWS access key ID for deploying and managing ECS containers.

  • AWS_SECRET_ACCESS_KEY
    The AWS secret access key for deploying and managing ECS containers.

  • AWS_ACCOUNT_ID
    The AWS account ID where the infrastructure is deployed.

  • DEMOS_TF_APIKEY
    API key for integrating with demos.tf to upload and manage match demos.

  • LOGS_TF_APIKEY
    API key for integrating with logs.tf to upload and manage match logs.

Example .env File
DISCORD_TOKEN=your_discord_token
DISCORD_CLIENT_ID=your_discord_client_id

AWS_ACCESS_KEY_ID=your_aws_access_key_id
AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key
AWS_ACCOUNT_ID=your_aws_account_id

DEMOS_TF_APIKEY=your_demos_tf_apikey
LOGS_TF_APIKEY=your_logs_tf_apikey

📜 License

This Docker image is part of the TF2-QuickServer project and is licensed under the MIT License.

Tag summary

Content type

Image

Digest

sha256:75d3bf0d4

Size

208.9 MB

Last updated

8 days ago

docker pull sonikro/tf2-quickserver