Actions

F1 Replay Timing

From Rabbi Blog

Revision as of 14:16, 29 March 2026 by Rabbi Bob (talk | contribs) (Created page with "800px <HR> =Background= This weekend while boiling maple syrup, I decided to set up [https://github.com/adn8naiagent/F1ReplayTiming F1 Replay Timing] in a container to see how it went. It took a couple of attempts, some of it was coming up to speed on apps that referenced other apps and eventually I ended up with the following for docker compose. It got passed the name resolution issue that plagued the first attempts. =My Setup= I am usi...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

F1ReplayTiming-001.png


Background

This weekend while boiling maple syrup, I decided to set up F1 Replay Timing in a container to see how it went.

It took a couple of attempts, some of it was coming up to speed on apps that referenced other apps and eventually I ended up with the following for docker compose. It got passed the name resolution issue that plagued the first attempts.

My Setup

I am using Container Station on a QNAP NAS. My older NAS was extremely slow in all phases of the setup and usage (so much so that I am considering offloading everything and burning it down to rebuild it). Another beefier NAS with a fresh OS build handled this very well. The download and setup times for each race is 60-120 seconds in my experience.

You can trigger a race stats download by tagging the URL ala /replay/2026/3?type=Q

Format: /replay/YYYY/EVENT#/?type=EventCode

Event Code
Practice 1 FP1
Practice 2 FP2
Practice 3 FP3
Qualifying Q
Sprint S
Sprint Qualifying SQ
Race R


Results

It worked pretty well. I was able to watch the Suzuka race (Japan, 2026) in replay this morning and had the replay going on a computer screen. It was very interesting to watch what happens beyond the eye of the broadcast camera.

Docker Compose

services:
  backend:
    image: ghcr.io/adn8naiagent/f1replaytiming-backend:latest
    ports:
      - "8000:8000"
    environment:
      - FRONTEND_URL=http://192.168.1.80:3000
      - DATA_DIR=/data
    volumes:
      - f1data:/data
      - f1cache:/data/fastf1-cache
    # Allows terminal attachment
    stdin_open: true
    tty: true
    # DNS Settings
    dns:
      - 8.8.8.8
      - 1.1.1.1
  frontend:
    image: ghcr.io/adn8naiagent/f1replaytiming-frontend:latest
    ports:
      - "3000:3000"
    environment:
      - NEXT_PUBLIC_API_URL=http://192.168.1.81:8000  # Change to your backend URL if not using localhost
    depends_on:
      - backend
    # Allows terminal attachment
    stdin_open: true
    tty: true
    # DNS Settings
    dns:
      - 8.8.8.8
      - 1.1.1.1
volumes:
  f1data:
  f1cache: