Merge pull request 'IT Strategy Dashboard' (#9) from it_strategy into main

Reviewed-on: linux/WebHosting#9
Reviewed-by: buchel_k <konrad.bucheli@psi.ch>
Reviewed-by: ritter_t <tom.ritter@psi.ch>
This commit is contained in:
2025-09-26 14:12:03 +02:00
2 changed files with 84 additions and 0 deletions

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

@@ -187,8 +187,64 @@ 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"
networks:
- it_strategy_dashboard_backend
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}
- ADMIN_PW_HASH=${ADMIN_PW_HASH}
depends_on:
it-strategy-dashboard-db:
condition: service_healthy
networks:
- it_strategy_dashboard_backend
- 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: 2s
timeout: 5s
retries: 5
networks:
public:
backend:
hedgedoc_backend:
woodpecker_backend:
it_strategy_dashboard_backend: