En server representerar exakt en träff. Den äger klockan, linjerna och varje klartecken, pratar med boxar och terminaler över det lokala nätet och fortsätter fungera när internet försvinner. Cloud publicerar, servern hämtar. Inget synkas tillbaka. Det räcker med en Raspberry Pi för några hundralappar, eller datorn som redan står i klubblokalen.
Öppna sedan http://127.0.0.1:8787. En ny server är helt tom: ingen demoträff, inga exempelstationer, inget förvalt konto. Guiden frågar efter administratör, servernamn, konfigurationsserver och träffens sexsiffriga kod.
Allt Drift visar syns samtidigt: nyckeltal, banöversikt, stationer och boxar, nästa händelser och tågdiagram. Ett tåg valt någonstans är valt överallt, rutten tänds och en panel visar tåget. Mörkt grundläge, ljust om du vill.
| Station | Box | Status | Vänster · höger | Tåg inne |
|---|---|---|---|---|
| Alpby | TBX-4F7A2C | ● Online | — · BJS | 2 |
| Björkstad | TKL-terminal | ● Online | ALP · CDH | 3 |
| Cederholm | IOS-91B2E0 | ● Online | BJS · DSJ | 1 |
| Dalsjö | TBX-A0C113 | ● Ingen kontakt | CDH · EKB | 3 |
| Ekeby | Obemannad | Automat | DSJ · FRD | 0 |
Starttid, 1× till 10× realtid, start och stopp med orsak. Intern klocka som fungerar offline, eller extern FastClock. Fryser under planerad omstart.
Räls med sliprar, enkel- och dubbelspår, stationer med antal tåg inne. Tågmärken som glider i takt med klockan. Vänster- eller högertrafik per träff.
Grafisk tidtabell: tid mot sträcka med gul nu-linje. Fönster på 2, 3 eller 6 timmar eller hela dygnet. Rör sig med klockan.
Begär, ge klart, neka, återta, avgå, ta emot. En kanal per sträcka på enkelspår, en per riktning på dubbelspår. Klareringar överlever omstart.
Begär två spelminuter före avgång, ger klart om spåret är fritt, avgår på tidtabellen. Första box som ansluter tar över stationen.
Spela upp hela tidtabellen: tidtabellstroget, normal trafik eller störd trafik med förseningar. Anslutna boxar och terminaler deltar.
Klocka, banöversikt, tågdiagram och översikt på en fast duk 1920×1080 för TV. Egen ljus- eller mörkinställning per skärm. Verktygsraden gömmer sig i helskärm.
QR-koden på TV:n leder till klockan, "På banan nu", nästa händelser och hela tidtabellen i mobilen. Ingen inloggning, inget att ändra.
Vilken telefon, surfplatta eller dator som helst blir en box, pixel för pixel som den fysiska. Provbänken är en isolerad sandlåda med tre demoboxar.
Clouds datavy inbyggd i servern. Rätta celler lokalt, se vad som skiljer, och välj "Behåll mina ändringar" eller "Ta Cloud-versionen" när en ny publicering kommer.
Svenska, danska, norska, engelska och tyska i hela servern, på boxarnas 16 tecken och i TKL. Språk per box sätts av trafikledningen.
Söker, hämtar, verifierar, installerar, startar om, kontrollerar, klart. Säkerhetskopierar databasen först och återställer själv om något går fel.
Webben på port 8787, MQTT på 1883. Driftsdata överlever både uppdateringar och omstarter. Enradarna installerar direkt på maskinen och får uppdateringsknappen i webbgränssnittet. Docker och Kubernetes uppdateras med ny image.
| Plattform | Rekommenderad metod | När den passar |
|---|---|---|
| Raspberry Pi OS 64-bit | Enradaren | Normal lokal drift på en träff. Med skrivbord startar Chromium i kioskläge med servern på Pi:ns egen skärm. |
| Mac | Enradaren, utan sudo | Lokal server på en Mac. Mosquitto installeras automatiskt med Homebrew om det saknas. |
| Ubuntu/Debian-server | Enradaren | VPS eller fristående Linuxserver, för webbklienter utanför klubblokalen. |
| Windows 10/11 | Docker Desktop | Lokal testserver på en vanlig PC. Skriv datorns IP i .env så boxarna hittar rätt. |
| Linux eller Pi med Docker | Docker Compose | När all lokal drift ska vara containerbaserad. Image för amd64 och arm64. |
| Kubernetes/K3s | Helm | Klustermiljö. StatefulSet med Mosquitto som sidecar. |
Servern annonserar sig som trainmeet.local och tjänsten _tmbox._tcp på det lokala nätet. En box utan Wi-Fi öppnar ett eget nät, TrainMeet-XXXX, där du väljer träffens nät. Sedan dyker den upp i Drift med sin kod och får en station.
När configen är hämtad behövs inget internet. Typsnitt, QR-koder och gränssnitt serveras lokalt, utan CDN. Klareringar sparas i SQLite och överlever en omstart. Tappad nätkontakt låser aldrig upp redigering och ändrar inget i den pågående träffen.
Nya publiceringar från Cloud aktiveras bara när driftkontrollerna tillåter det. Annars väntar de, och orsaken står på skärmen.
Namn, e-post och lösenord. Ägaren kan dessutom uppdatera programvaran och lägga till eller ta bort användare. Inbjudningar och lösenordsåterställning går via Cloud.
Dispatcher och conductor, warrant från utkast till "in effect" och "clear of limits". Ett modelljärnvägsprofil, inte GCOR. Separat flöde från EU-träffarna, kan inte köras samtidigt.
En TrainMeet Server i molnet för webbklienter, virtuella boxar, iPhone-appen och provbänken. Prova systemet innan du installerar något.
Öppna provbänken →Servern kostar inget. Bygg träffen i Cloud, eller hosta Cloud själv med Docker. Behöver klubben hjälp finns support som tillval.