docker-setup tmsDocker run ….. -p 80:8080 Spring Boot har stöd för https och certifikat så det går med ren konfiguration att få det att fungera utan någon extra proxy framför. Men det är många bitar som måste bli rätt så dokumentationen tar ett tag att skriva. Här finns ett exempel: https://paras301.medium.com/implementing-ssl-tls-in-springboot-standard-tls-part-1-0b8030cee1cc
docker pull ghcr.io/amprnet-sweden/tms:latest
mkdir /home/tms/test1 (eller annan valfri katalog där du vill att data ska lagras)
chmod 777 /home/tms/test1
docker run --rm -p 8080:8080 -v /home/tms/test1:/opt/tms/data -e JWT_KEY=abc123 -e ADMIN_USERNAME=admin -e ADMIN_PASSWORD=password -e TENANT=demo -it ghcr.io/amprnet-sweden/tms
Detaljer
Mer detaljer
Ännu mer detaljer
Nu fixat så att TMS går att starta på vilken nod som helst utan speciell konfiguration.
för att ladda ner senaste docker-bilden, kör:
docker pull ghcr.io/amprnet-sweden/tms:latest
Starta sedan docker tms på samma sätt som förut:
Det man måste göra är följande:
docker login funkade dock inte med token heller. fick beskedet att min token inte ger mig access nånstans
Så jag gissar/hoppas att stefans magiska fingrar öppnar dockervägen. Väntar med pajen tills dess.
Istället för lösenord vill de nu att man använder en ”Personal access token” som du kan generera här: https://github.com/settings/personal-access-tokens
Token används istället för lösenordet. Kanske är det det som var problemet med docker login?! Om du genererar en token så kanske både git clone och docker login fungerar.
Jag har testat på min Mac M1 och på en Raspberry Pi 4. På RPi tog det lång tid att installera docker och ladda ner allt första gången, men sedan går det ganska snabbt att starta och köra TMS.
Här är de kommandon jag körde på Raspberry Pi för att installera allting:
Med ovanstående docker-kommando används en in-memory databas vilken
gör att data man registrerat försvinner när man startar om
TMS-servern. Jag ska dokumentera hur man gör för att få en persistent
databas så att data ligger kvar mellan omstarter.
En stor fördel med Spring Boot (och Docker) är att det går att
konfigurera systemet på så många olika sätt. Vill man ha en in-memory
databas, enkel databas på fil, en lokal MySQL eller PostgreSQL eller
extern sådan? Det gäller att veta alla möjligheterna och sedan fundera
kring ”Hur vill jag ha det?”.
Den som händer när man kör ”docker run …” är att docker laddar ner
ett paket som jag skapat och laddat upp på GitHub som innehåller både
TMS frontend och backend. Paketet laddas ner från
https://github.com/amprnet-sweden/TMS/pkgs/container/tms. Därefter
startas backend (Spring Boot) och frontend (Vue.js) som ligger inbakad
i samma paket.
Förutsättningarna är:
Om man vill utveckla eller köra direkt från källkoden finns instruktioner på https://github.com/amprnet-sweden/TMS men det kräver att Java (JDK 21) och Node.js (20.x) är installerad på datorn.
|