Getting Started

Follow these simple steps to get up and running.

1

Install the TCG Timer Server

Select your platform below to download and get installation instructions.

Download for Windows (.exe)
  1. Run the downloaded installer.
  2. Launch TCG Timer from your Start Menu or Desktop shortcut.
  1. Install Git:
    sudo apt-get update
    sudo apt-get install git-all
  2. Clone GitHub repo:
    git clone https://github.com/starg33kertcg/TCG_Timer.git
  3. Change directory to TCG_Timer/app_files/ and update app.py with your own secret key:
    cd TCG_Timer/app_files
    sudo nano app.py
    app.secret_key = 'YOUR_KEY_HERE'  # Replace with a stronger secret key for session management
  4. Go back to TCG_Timer/ and update setup.sh with execute permissions:
    cd ..
    sudo chmod +x setup.sh
  5. Run the setup script (Installs python, nginx, and gunicorn. Configures reverse proxy, firewall, permissions, services, and app parameters):
    sudo ./setup.sh
  6. When completed, access the viewer at http://SERVERIP and the admin panel at http://SERVERIP/admin
  1. Install Docker and Docker Compose (run docker-install.sh on my GitHub repository to automate this process):
    # Update package list and install prerequisites
                                                                                        
    sudo apt-get update
    sudo apt-get install -y ca-certificates curl
    # Add Docker's official GPG key
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc
    # Add the Docker repository to Apt sources
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
    $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
    # Install Docker Engine, CLI, and Compose
    sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Install Git:
    sudo apt-get install git-all
  3. Clone the Docker TCG Timer repository:
    git clone https://github.com/starg33kertcg/TCG_Timer_Docker.git
  4. Disable apache2 (installs with git):
    sudo systemctl stop apache2
    sudo systemctl disable apache2
  5. Update .env file with your own secret key and 5-digit numerical PIN:
    cd TCG_Timer_Docker
    sudo nano .env
    # Your secret credentials
                                                                                        
    # Generate a new one for production, e.g., by running: python3 -c 'import secrets; print(secrets.token_hex(24))'
    SECRET_KEY='YOUR_KEY_HERE' # Replace YOUR_KEY_HERE with your own secret key
    ADMIN_PIN='12345' # Replace with your 5-digit PIN
  6. Build the app image:
    sudo docker compose build
  7. Start the services:
    sudo docker compose up -d

The TCG Timer Server is required for core functionality. The Roku app is the Timer Viewer only. You may choose to install the Windows or Linux server using the tabs above.

Go to Roku Channel Store
  1. From the link above, add the TCG Timer channel to your Roku device (or search for TCG Timer).
  2. Launch it from your Roku home screen.
  3. Enter your TCG Timer server IP followed by a colon : and appropriate port number. (:5000 for Windows, :80 for Linux, and :8080 for Linux w/ Docker)
2

Configure the Timer

Once installed, access the Admin Dashboard.

From the Admin Dashboard, you can:

  1. Enable or disable the timers.
  2. Set the round time (e.g., 50 minutes).
  3. Start, pause, resume, or reset a timer.
  4. Set a Low Time Warning or disable it entirely.
  5. Set a background and font color.
  6. Upload logos of your favorite TCGs (e.g., "Pokémon™", "Yu-Gi-Oh!™", "Magic: The Gathering™")

That's it!

You're ready to host your first timed match.