From fd6381084566a2b1da1aefdd3aaf1dea3ac55d9b Mon Sep 17 00:00:00 2001 From: Till Tomczak Date: Thu, 1 May 2025 16:29:57 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20update=20environment=20and?= =?UTF-8?q?=20scripts=20for=20improved=20functionality?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 8 ++--- __pycache__/app.cpython-313.pyc | Bin 69414 -> 69402 bytes start.sh | 54 ++++++++++++++++++++++---------- static/js/modules/mindmap.js | Bin 4660 -> 20772 bytes 4 files changed, 40 insertions(+), 22 deletions(-) diff --git a/.env b/.env index 5a99c87..f9fa19b 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -# MindMap Umgebungsvariablen +# MindMap Umgebungsvariablen # Flask FLASK_APP=app.py @@ -6,9 +6,7 @@ FLASK_ENV=development SECRET_KEY=systades-development-key-replace-in-production # OpenAI API -OPENAI_API_KEY=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 +OPENAI_API_KEY=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 # Datenbank -# Bei Bedarf kann hier eine andere Datenbank-URL angegeben werden -# Der Pfad wird relativ zum Projektverzeichnis angegeben -# SQLALCHEMY_DATABASE_URI=sqlite:////absoluter/pfad/zu/database/systades.db +# SQLALCHEMY_DATABASE_URI=sqlite:///database/systades.db \ No newline at end of file diff --git a/__pycache__/app.cpython-313.pyc b/__pycache__/app.cpython-313.pyc index 04e0084f8fe16e0ec88768a07b0ee3c13b4cc38c..1ffc7eaad8ca2530b61afa4d26d1d53d9159859c 100644 GIT binary patch delta 54 zcmZ2Bk7d?87Vgiyyj%=Gun&Ma3~8A^yJ3QI2}9zOIfjE~#ak J6~x$n0sz^#5qSUr delta 66 zcmbO=k7e0B7Vgiyyj%=Gpr0YMk^8-IQxj7w^9c1eCgjG>`n UjDJR6szOL+Novk!5iz!(0I|mv%>V!Z diff --git a/start.sh b/start.sh index 7564443..f4354a9 100644 --- a/start.sh +++ b/start.sh @@ -1,33 +1,53 @@ -#!/usr/bin/env bash -set -e +#!/usr/bin/env powershell +# Windows PowerShell-Version des Start-Skripts +# Datum: 01.05.2025 + +# Docker-Status prüfen +Write-Host "Prüfe Docker-Status..." -ForegroundColor Cyan +try { + $status = docker ps -q + if ($LASTEXITCODE -ne 0) { + Write-Host "Docker ist nicht gestartet. Bitte starten Sie Docker Desktop." -ForegroundColor Red + exit 1 + } +} catch { + Write-Host "Docker ist nicht verfügbar. Bitte installieren Sie Docker Desktop und starten Sie es." -ForegroundColor Red + Write-Host $_.Exception.Message + exit 1 +} # Alte Container stoppen und entfernen -if [ $(docker ps -aq --filter "name=systades_app" | wc -l) -gt 0 ]; then - echo "Stoppe und entferne alten Container..." - docker rm -f systades_app || true -fi +$containerExists = docker ps -a --filter "name=systades_app" -q +if ($containerExists) { + Write-Host "Stoppe und entferne alten Container..." -ForegroundColor Yellow + docker rm -f systades_app +} # Alte Images löschen -echo "Entferne altes Image..." -docker rmi -f systades_app:latest || true +Write-Host "Entferne altes Image..." -ForegroundColor Yellow +docker rmi -f systades_app:latest # Stelle sicher, dass das Datenbankverzeichnis existiert -mkdir -p database -chmod 777 database +if (-not (Test-Path "database")) { + New-Item -Path "database" -ItemType Directory -Force +} # Docker-Compose Setup neu bauen -echo "Baue Container neu..." +Write-Host "Baue Container neu..." -ForegroundColor Green docker-compose build --no-cache # Docker-Compose neu starten -echo "Starte Container..." +Write-Host "Starte Container..." -ForegroundColor Green docker-compose up -d --force-recreate # Warte kurz und prüfe, ob der Container läuft -echo "Prüfe Container-Status..." -sleep 3 -docker ps | grep systades_app +Write-Host "Prüfe Container-Status..." -ForegroundColor Cyan +Start-Sleep -Seconds 3 +docker ps | Select-String "systades_app" # Ausgabe -echo "Systades-Anwendung ist jetzt unter http://localhost:5000 erreichbar." -echo "Container-Logs können mit 'docker logs -f systades_app' angezeigt werden." \ No newline at end of file +Write-Host "`nSystemstatus:" -ForegroundColor Cyan +Write-Host "----------------------------------------" +Write-Host "Systades-Anwendung ist jetzt unter http://localhost:5000 erreichbar." -ForegroundColor Green +Write-Host "Container-Logs können mit 'docker logs -f systades_app' angezeigt werden." -ForegroundColor Green +Write-Host "----------------------------------------" \ No newline at end of file diff --git a/static/js/modules/mindmap.js b/static/js/modules/mindmap.js index 326a3b4d21b6764c4588d6a2153b7217520f53ee..34148fb0009ac791dfc7e793683f3ae4f8e858d7 100644 GIT binary patch literal 20772 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 X8dq}ObGfur(*irk+H!63pYHz$+d#o( literal 4660 zcmd5=?QR=Y5S`yhyu+m+#X;CfLmHBjpeDshgj_Xh03j-*I`P`xX6;zJcG6P$ZF!6e zIA_M!d-ubU5fVa?z3bUKbLZonnY;Px&n@{9f1k=H;&65HLSh+9Pe#&}i8SQ|*9@`@ zl3U1Uk_4+SWhxOQ39e2ClHxhF6G#X6@IJzmQ6`LL*uaL*EW=?)vFw64c;7g8+ zV%}eaAFTKgeC}&CSj|QtwK&N65#+2WaUa%>eUIoIsGZHi?sL@3$M3IoJnDcYJ?Mw* ziR2w5oMG%8w0k7q;X9uu9>-z#$O05t_aH{EQJWDgjbW*!DeItR#1OCabW-s&x5^mncG=U+gqh2AyeGT5hWmek{#r!CTz#7S1D{4(%bkKZ ze4h)wZY}(+b-U&r|Gbosj)` Ud)dS4n82R99!rP{|9^nL0TSrYkN^Mx