<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.rabbibob.com/index.php?action=history&amp;feed=atom&amp;title=F1_Replay_Timing</id>
	<title>F1 Replay Timing - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.rabbibob.com/index.php?action=history&amp;feed=atom&amp;title=F1_Replay_Timing"/>
	<link rel="alternate" type="text/html" href="https://www.rabbibob.com/index.php?title=F1_Replay_Timing&amp;action=history"/>
	<updated>2026-05-15T15:04:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://www.rabbibob.com/index.php?title=F1_Replay_Timing&amp;diff=1903&amp;oldid=prev</id>
		<title>Rabbi Bob: /* My Setup */</title>
		<link rel="alternate" type="text/html" href="https://www.rabbibob.com/index.php?title=F1_Replay_Timing&amp;diff=1903&amp;oldid=prev"/>
		<updated>2026-03-29T14:27:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;My Setup&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:27, 29 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You can trigger a race stats download by tagging the URL &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ala /replay/2026/3?type=Q&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;You can trigger a race stats download by tagging the URL &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;from the drop down selectors.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Format:&amp;#039;&amp;#039;&amp;#039; /replay/YYYY/EVENT#/?type=EventCode&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Format:&amp;#039;&amp;#039;&amp;#039; /replay/YYYY/EVENT#/?type=EventCode&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot;&gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=Feature Request=&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Window dressing requests that really aren&#039;t that important:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Cached Marker==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It would be really nice if the front end event selector highlighted Green (or something) if the race was locally cached already.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Caching Status==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;When I was dealing with the slow NAS, I was watching the backend terminal queue go by and it was neat to see how the info was being downloaded.  At the time it was much longer than the 60 second warning on the screen, so I started thinking &quot;wouldn&#039;t if be nice if...&quot; and I thought that dividing one race track (or create a fictional track) with segments equal to the download stages (drivers, RC, etc) and having the section change to a highlighted color (like the Yellow Safety Car for example) as it downloads.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Results=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Results=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mw_RabbiBob_139-wiki_:diff::1.12:old-1902:rev-1903 --&gt;
&lt;/table&gt;</summary>
		<author><name>Rabbi Bob</name></author>
	</entry>
	<entry>
		<id>https://www.rabbibob.com/index.php?title=F1_Replay_Timing&amp;diff=1902&amp;oldid=prev</id>
		<title>Rabbi Bob: Created page with &quot;800px &lt;HR&gt; =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...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.rabbibob.com/index.php?title=F1_Replay_Timing&amp;diff=1902&amp;oldid=prev"/>
		<updated>2026-03-29T14:16:25Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;a href=&quot;/index.php/File:F1ReplayTiming-001.png&quot; title=&quot;File:F1ReplayTiming-001.png&quot;&gt;800px&lt;/a&gt; &amp;lt;HR&amp;gt; =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...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:F1ReplayTiming-001.png|800px]]&lt;br /&gt;
&amp;lt;HR&amp;gt;&lt;br /&gt;
=Background=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
=My Setup=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You can trigger a race stats download by tagging the URL ala /replay/2026/3?type=Q&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Format:&amp;#039;&amp;#039;&amp;#039; /replay/YYYY/EVENT#/?type=EventCode&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;#039;wikitable&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
!Event&lt;br /&gt;
!Code&lt;br /&gt;
|- &lt;br /&gt;
|Practice 1&lt;br /&gt;
|FP1&lt;br /&gt;
|- &lt;br /&gt;
|Practice 2&lt;br /&gt;
|FP2&lt;br /&gt;
|- &lt;br /&gt;
|Practice 3&lt;br /&gt;
|FP3&lt;br /&gt;
|- &lt;br /&gt;
|Qualifying&lt;br /&gt;
|Q&lt;br /&gt;
|- &lt;br /&gt;
|Sprint&lt;br /&gt;
|S&lt;br /&gt;
|- &lt;br /&gt;
|Sprint Qualifying&lt;br /&gt;
|SQ&lt;br /&gt;
|- &lt;br /&gt;
|Race&lt;br /&gt;
|R&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Results=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=Docker Compose=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  backend:&lt;br /&gt;
    image: ghcr.io/adn8naiagent/f1replaytiming-backend:latest&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;quot;8000:8000&amp;quot;&lt;br /&gt;
    environment:&lt;br /&gt;
      - FRONTEND_URL=http://192.168.1.80:3000&lt;br /&gt;
      - DATA_DIR=/data&lt;br /&gt;
    volumes:&lt;br /&gt;
      - f1data:/data&lt;br /&gt;
      - f1cache:/data/fastf1-cache&lt;br /&gt;
    # Allows terminal attachment&lt;br /&gt;
    stdin_open: true&lt;br /&gt;
    tty: true&lt;br /&gt;
    # DNS Settings&lt;br /&gt;
    dns:&lt;br /&gt;
      - 8.8.8.8&lt;br /&gt;
      - 1.1.1.1&lt;br /&gt;
  frontend:&lt;br /&gt;
    image: ghcr.io/adn8naiagent/f1replaytiming-frontend:latest&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;quot;3000:3000&amp;quot;&lt;br /&gt;
    environment:&lt;br /&gt;
      - NEXT_PUBLIC_API_URL=http://192.168.1.81:8000  # Change to your backend URL if not using localhost&lt;br /&gt;
    depends_on:&lt;br /&gt;
      - backend&lt;br /&gt;
    # Allows terminal attachment&lt;br /&gt;
    stdin_open: true&lt;br /&gt;
    tty: true&lt;br /&gt;
    # DNS Settings&lt;br /&gt;
    dns:&lt;br /&gt;
      - 8.8.8.8&lt;br /&gt;
      - 1.1.1.1&lt;br /&gt;
volumes:&lt;br /&gt;
  f1data:&lt;br /&gt;
  f1cache:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:F1]]&lt;br /&gt;
[[Category:Docker]]&lt;/div&gt;</summary>
		<author><name>Rabbi Bob</name></author>
	</entry>
</feed>