From adfabaf0cc58b237196b0b36e20b427cbd04fabd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kr=C3=BCmel=20Branko?= Date: Wed, 24 Dec 2025 18:26:59 +0100 Subject: [PATCH] server fixes --- app/requirements.txt | 2 ++ native_crumbcore_v1/DEPLOYMENT_GUIDE.md | 2 +- native_crumbcore_v1/native-install.sh | 33 ++++++++++++++++++++++--- native_crumbcore_v1/native-update.sh | 8 ++++-- 4 files changed, 38 insertions(+), 7 deletions(-) diff --git a/app/requirements.txt b/app/requirements.txt index 7e3b156..94ebd95 100644 --- a/app/requirements.txt +++ b/app/requirements.txt @@ -2,6 +2,8 @@ fastapi==0.115.0 uvicorn[standard]==0.30.6 jinja2==3.1.4 pymysql==1.1.0 +sqlalchemy>=2.0.0 +alembic>=1.13.0 python-multipart==0.0.9 itsdangerous==2.2.0 passlib==1.7.4 diff --git a/native_crumbcore_v1/DEPLOYMENT_GUIDE.md b/native_crumbcore_v1/DEPLOYMENT_GUIDE.md index 7a310e6..f336b6a 100644 --- a/native_crumbcore_v1/DEPLOYMENT_GUIDE.md +++ b/native_crumbcore_v1/DEPLOYMENT_GUIDE.md @@ -46,7 +46,7 @@ sudo mysql -u root -p # In MySQL Shell: CREATE DATABASE IF NOT EXISTS crumbforest CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -CREATE USER IF NOT EXISTS 'crumb_prod'@'localhost' IDENTIFIED BY 'SICHERES_PASSWORT'; +CREATE USER IF NOT EXISTS 'crumb_prod'@'localhost' IDENTIFIED BY 'codexkruemel2025!'; GRANT ALL PRIVILEGES ON crumbforest.* TO 'crumb_prod'@'localhost'; FLUSH PRIVILEGES; EXIT; diff --git a/native_crumbcore_v1/native-install.sh b/native_crumbcore_v1/native-install.sh index 4cc2a75..87fb141 100755 --- a/native_crumbcore_v1/native-install.sh +++ b/native_crumbcore_v1/native-install.sh @@ -154,11 +154,29 @@ cp -r "$PROJECT_ROOT/app"/* "$INSTALL_DIR/app/" print_success "App Code kopiert" print_info "Kopiere Dokumentation..." -if [ -d "$PROJECT_ROOT/docs" ]; then - cp -r "$PROJECT_ROOT/docs"/* "$INSTALL_DIR/docs/" || true - print_success "Docs kopiert" +# Check for docs_git (preferred source) or docs +DOCS_SOURCE="" +if [ -d "$PROJECT_ROOT/docs_git" ]; then + DOCS_SOURCE="$PROJECT_ROOT/docs_git" + print_info "Nutze docs_git als Quelle" +elif [ -d "$PROJECT_ROOT/docs" ]; then + DOCS_SOURCE="$PROJECT_ROOT/docs" + print_info "Nutze docs als Quelle" +fi + +if [ -n "$DOCS_SOURCE" ]; then + cp -r "$DOCS_SOURCE"/* "$INSTALL_DIR/docs/" || true + + # Fix: Create symlink in app/docs so hardcoded paths work (mimics Docker volume) + if [ ! -L "$INSTALL_DIR/app/docs" ]; then + # Remove empty dir if it exists + if [ -d "$INSTALL_DIR/app/docs" ]; then rmdir "$INSTALL_DIR/app/docs" 2>/dev/null || true; fi + ln -sf "$INSTALL_DIR/docs" "$INSTALL_DIR/app/docs" + print_success "Docs Symlink erstellt (app/docs -> ../docs)" + fi + print_success "Docs kopiert von $(basename "$DOCS_SOURCE")" else - print_warning "Docs Verzeichnis nicht gefunden" + print_warning "Kein Dokumentations-Verzeichnis (docs_git oder docs) gefunden" fi print_info "Kopiere Root Dokumentation..." @@ -225,6 +243,13 @@ chmod 750 "$INSTALL_DIR/app" chmod 600 "$INSTALL_DIR/.env" # Sensitive data! chmod -R 755 "$INSTALL_DIR/app/static" 2>/dev/null || true +# Fix: Symlink .env to app directory for Pydantic Settings +if [ ! -L "$INSTALL_DIR/app/.env" ]; then + print_info "Erstelle Symlink für .env in App-Verzeichnis..." + ln -sf "$INSTALL_DIR/.env" "$INSTALL_DIR/app/.env" +fi +chown -h $APP_USER:$APP_GROUP "$INSTALL_DIR/app/.env" + print_success "Permissions gesetzt" echo "" diff --git a/native_crumbcore_v1/native-update.sh b/native_crumbcore_v1/native-update.sh index 2f478c1..3c06b5b 100755 --- a/native_crumbcore_v1/native-update.sh +++ b/native_crumbcore_v1/native-update.sh @@ -97,8 +97,12 @@ if [ -f "$PROJECT_ROOT/crumbforest_config.json" ]; then fi # Update docs if needed -if [ -d "$PROJECT_ROOT/docs" ]; then - print_info "Aktualisiere Dokumentation..." +if [ -d "$PROJECT_ROOT/docs_git" ]; then + print_info "Aktualisiere Dokumentation aus docs_git..." + cp -r "$PROJECT_ROOT/docs_git"/* "$INSTALL_DIR/docs/" 2>/dev/null || true + print_success "Docs aktualisiert" +elif [ -d "$PROJECT_ROOT/docs" ]; then + print_info "Aktualisiere Dokumentation aus docs..." cp -r "$PROJECT_ROOT/docs"/* "$INSTALL_DIR/docs/" 2>/dev/null || true print_success "Docs aktualisiert" fi