It-strategy-dashboard v2.0

This commit is contained in:
ritter_t
2025-09-17 09:14:34 +02:00
parent c22c2d5dcb
commit 24de11e1c2
2 changed files with 109 additions and 7 deletions

28
conf.d/it-dashboard.conf Normal file
View File

@@ -0,0 +1,28 @@
server {
listen 80;
server_name it-strategy-dashboard.psi.ch;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name it-strategy-dashboard.psi.ch;
ssl_certificate /etc/nginx/certs/it-strategy-dashboard.psi.ch.crt;
ssl_certificate_key /etc/nginx/private/it-strategy-dashboard.psi.ch.key;
root /opt/webcontent/it-strategy-dashboard;
index index.html;
location / {
try_files $uri /index.html;
}
location /api/ {
proxy_pass http://it-strategy-dashboard-backend:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

View File

@@ -16,10 +16,11 @@ services:
- /etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- /etc/nginx/conf.d:/etc/nginx/conf.d:ro
- /opt/webcontent/sinqstatus-test:/opt/webcontent/sinqstatus-test:ro
- /opt/webcontent/it-strategy-dashboard/frontend/:/opt/webcontent/it-strategy-dashboard/:ro
networks:
- public
- backend
# linux-eng@psi.ch
# Test app
excalidraw:
@@ -35,19 +36,19 @@ services:
pif-elog:
image: gitea.psi.ch/images/elog:3.1.5
container_name: pif-elog
restart: always
restart: always
volumes:
- /opt/logbooks/pif:/usr/local/elog/logbooks
- /opt/webcontent/pif/elog.cfg:/usr/local/elog/elogd.cfg
networks:
- backend
- backend
# Krieger Jonas Andreas <jonas.krieger@psi.ch>, Raselli Andrea-Raeto <andrea.raselli@psi.ch>
# Elog as a Service PoC mit musr-elog.psi.ch? linux-eng@psi.ch
lmu-elog:
image: gitea.psi.ch/images/elog:3.1.5
container_name: lmu-elog
restart: always
restart: always
volumes:
- /opt/logbooks/LMU:/usr/local/elog/logbooks
- /opt/webcontent/LMU/elog.cfg:/usr/local/elog/elogd.cfg
@@ -61,7 +62,7 @@ services:
image: gitea.psi.ch/images/mcda-calculator:1.0.3
container_name: mcda-calculator
restart: always
networks:
networks:
- backend
# Romain Sacchi <romain.sacchi@psi.ch>
@@ -99,7 +100,7 @@ services:
- /opt/webcontent/sf-hedgedoc/uploads:/hedgedoc/public/uploads
restart: always
depends_on:
- hedgedoc_db
- hedgedoc_db
networks:
- backend
- hedgedoc_backend
@@ -123,7 +124,7 @@ services:
gfa-status-test:
image: php:8.2-apache
container_name: gfa-status-test
volumes:
volumes:
- /opt/webcontent/gfa-status/web:/var/www/html
restart: always
networks:
@@ -187,8 +188,81 @@ services:
networks:
- backend
# Ritter Tom <tom.ritter@psi.ch>
# It-Strategy monitoring dashboard
it-strategy-dashboard-frontend:
image: gitea.psi.ch/9501/it-strategy-dashboard-frontend:2.0
container_name: it-strategy-dashboard-frontend
command: ["sh","-c","/usr/local/bin/copyData.sh"]
volumes:
- /opt/webcontent/it-strategy-dashboard/frontend:/opt/webcontent/it-strategy-dashboard/frontend
restart: "no"
it-strategy-dashboard-backend:
image: gitea.psi.ch/9501/it-strategy-dashboard-backend:2.0
container_name: it-strategy-dashboard-backend
restart: always
environment:
- DB_HOST=it-strategy-dashboard-db
- DB_PORT=3306
- DB_NAME=itstrategy
- DB_USER=${IT_DASHBOARD_DB_USER}
- DB_PASS=${IT_DASHBOARD_DB_PW}
- JWT_SECRET=${JWT_SECRET}
depends_on:
it-strategy-dashboard-db:
condition: service_started
it-strategy-dashboard-liquibase:
condition: service_completed_successfully
networks:
- it_strategy_dashboard_backend
- backend
it-strategy-dashboard-liquibase:
image: gitea.psi.ch/9501/it-strategy-dashboard-liquibase:2.0
container_name: it-strategy-dashboard-liquibase
restart: "no"
environment:
- ADMIN_PW_HASH=${ADMIN_PW_HASH}
command:
- "--url=jdbc:mariadb://it-strategy-dashboard-db:3306/itstrategy"
- "--username=${IT_DASHBOARD_DB_USER}"
- "--password=${IT_DASHBOARD_DB_PW}"
- "--changelog-file=changelog/master.yaml"
- "update"
depends_on:
it-strategy-dashboard-db:
condition: service_healthy
networks:
- it_strategy_dashboard_backend
it-strategy-dashboard-db:
image: mariadb:12
container_name: it-strategy-dashboard-db
restart: always
environment:
- MYSQL_ROOT_PASSWORD=${IT_DASHBOARD_DB_ROOT_PW}
- MYSQL_DATABASE=itstrategy
- MYSQL_USER=${IT_DASHBOARD_DB_USER}
- MYSQL_PASSWORD=${IT_DASHBOARD_DB_PW}
volumes:
- /opt/webcontent/it-strategy-dashboard/mysql/data:/var/lib/mysql
depends_on:
it-strategy-dashboard-frontend:
condition: service_completed_successfully
networks:
- it_strategy_dashboard_backend
healthcheck:
test: ["CMD", "mariadb-admin", "ping", "-h", "localhost", "-u${IT_DASHBOARD_DB_USER}", "-p${IT_DASHBOARD_DB_PW}"]
interval: 10s
timeout: 5s
retries: 5
networks:
public:
backend:
hedgedoc_backend:
woodpecker_backend:
it_strategy_dashboard_backend: