Skapa websidor att presentera på smartsign-skärmarna
Startas i en Dockercontainer
Deploy via github actions som anropar en webhook
Hitta lokaler/object https://cloud.timeedit.net/kth/web/public01/ri1Q8.html https://cloud.timeedit.net/kth/web/public01/ri1Y8X80Q8fZ90Qv58081665yXY88Z3XY5655X2Q20898Y8530YY08XY4703677X86Y39578X896995087QY.html
- Salongen = 392851.4
- Ångdomen = 417156.4
- Hjärne = 420804.4
- Laviosier = 417154.4
- Lallerstedt = 420802.4
- Maxwell = 353552.4
- Rinman = 420801.4
sudo apt-get install chromium-browser
Node 16.13.2
- Skapa folder på server med namnet på repot: "/local/docker/smartsigntools"
- Skapa och anpassa docker-compose.yml i foldern
version: "3.6"
services:
smartsigntools:
container_name: "smartsigntools"
image: ghcr.io/kth-biblioteket/smartsigntools:${REPO_TYPE}
##För att puppeteer inte ska lämna en massa zombie processer
init: true
depends_on:
- smartsigntools-db
restart: "always"
environment:
TZ: ${TZ}
env_file:
- ./smartsigntools.env
labels:
- "traefik.enable=true"
- "traefik.http.routers.smartsigntools.rule=Host(`${DOMAIN_NAME}`) && PathPrefix(`${PATHPREFIX}`)"
- "traefik.http.routers.smartsigntools.middlewares=smartsigntools-stripprefix"
- "traefik.http.middlewares.smartsigntools-stripprefix.stripprefix.prefixes=${PATHPREFIX}"
- "traefik.http.routers.smartsigntools.entrypoints=websecure"
- "traefik.http.routers.smartsigntools.tls=true"
- "traefik.http.routers.smartsigntools.tls.certresolver=myresolver"
volumes:
- "/local/docker/smartsigntools/imagebank:/app/imagebank"
- "/local/docker/smartsigntools/publishedevents:/app/publishedevents"
networks:
- "apps-net"
smartsigntools-db:
container_name: smartsigntools-db
image: mysql:8.0
restart: unless-stopped
command: --default-authentication-plugin=mysql_native_password
environment:
TZ: ${TZ}
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
volumes:
- persistent-smartsigntools-db:/var/lib/mysql
- ./dbinit:/docker-entrypoint-initdb.d
networks:
- "apps-net"
volumes:
persistent-smartsigntools-db:
networks:
apps-net:
external: true
- Skapa och anpassa .env(för composefilen) i foldern
DATABASEHOST=smartsigntools-db
DB_DATABASE=smartsigntools
DB_USER=smartsigntools
DB_PASSWORD=xxxxxxxxx
DB_ROOT_PASSWORD=xxxxxxxxx
GITHUBTOKEN=xxxxxxxxxxxxxxxxxx
PATHPREFIX=/smartsign
DOMAIN_NAME=apps-ref.lib.kth.se
REPO_TYPE=ref
TZ=Europe/Stockholm
- Skapa och anpassa smartsigntools.env (för applikationen) i foldern
PORT=80
APIKEY=xxxxxxxxxxxxx
SECRET=xxxxxxxxxxxxxxx
LDAPAPIKEYREAD=xxxxxxxxxxxxxxxxxx
RSSFEED=https://apps.lib.kth.se/smartsign/calendar/calendar_feed.php
RSSFEED_SV=https://apps.lib.kth.se/smartsign/calendar/calendar_feed_sv.php
SMARTSIGNLINK=https://apps-ref.lib.kth.se/smartsign/api/v1/calendar/event/
QRCODELINK=https://apps-ref.lib.kth.se/smartsign/api/v1/qrcode/
SERVERURL=http://localhost/
APIROUTESPATH=/api/v1
SOCKETIOPATH=/api/v1/socket.io
DATABASEHOST=smartsigntools-db
DB_DATABASE=smartsigntools
DB_USER=smartsigntools
DB_PASSWORD=xxxxxxxx
DB_ROOT_PASSWORD=xxxxxxxx
NODE_ENV=development
IMAGE_FORMAT=jpg
AUTHORIZEDGROUPS=pa.anstallda.T.TR;pa.anstallda.M.MOE
IMAGEBANKPATH=imagebank
- Skapa folder "local/docker/smartsigntools/imagesbank"
- Skapa folder "local/docker/smartsigntools/publishedevents/images"
- Skapa folder "local/docker/smartsigntools/publishedevents/html"
- Skapa folder "local/docker/smartsigntools/publishedevents/pdf"
- Skapa folder "local/docker/smartsigntools/dbinit"
- Skapa init.sql från repots dbinit/init.sql
- Skapa deploy_ref.yml i github actions
- Skapa deploy_prod.yml i github actions
- Github Actions bygger en dockerimage i github packages
- Starta applikationen med docker compose up -d --build i "local/docker/smartsigntools"