From 73bac2bde205d04dbceb3e114b21d9252fd0197e Mon Sep 17 00:00:00 2001 From: Basil Bruhn Date: Fri, 26 Sep 2025 10:22:34 +0200 Subject: [PATCH] it dashboard Signed-off-by: Basil Bruhn --- conf.d/it-strategy-dashboard.conf | 21 ++++++++++++ docker-compose.yaml | 54 +++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 conf.d/it-strategy-dashboard.conf diff --git a/conf.d/it-strategy-dashboard.conf b/conf.d/it-strategy-dashboard.conf new file mode 100644 index 0000000..8791f55 --- /dev/null +++ b/conf.d/it-strategy-dashboard.conf @@ -0,0 +1,21 @@ +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; + + location / { + 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; + } +} diff --git a/docker-compose.yaml b/docker-compose.yaml index 3c7bee1..4fa25c9 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -187,8 +187,62 @@ services: networks: - backend +# Ritter Tom +# 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} + - 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: +