fix: Gitea Traefik routing and connection pool optimization
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled

- Remove middleware reference from Gitea Traefik labels (caused routing issues)
- Optimize Gitea connection pool settings (MAX_IDLE_CONNS=30, authentication_timeout=180s)
- Add explicit service reference in Traefik labels
- Fix intermittent 504 timeouts by improving PostgreSQL connection handling

Fixes Gitea unreachability via git.michaelschiemer.de
This commit is contained in:
2025-11-09 14:46:15 +01:00
parent 85c369e846
commit 36ef2a1e2c
1366 changed files with 104925 additions and 28719 deletions

View File

@@ -0,0 +1,111 @@
#!/bin/bash
# Upload System Test Script
# Tests the complete JavaScript upload system with CSRF protection
echo "🧪 Testing Upload System with CSRF Protection"
echo "================================================"
BASE_URL="https://localhost"
USER_AGENT="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"
# Test 1: CSRF Token Generation
echo ""
echo "📋 Test 1: CSRF Token Generation"
echo "--------------------------------"
CSRF_RESPONSE=$(curl -k -s -H "User-Agent: $USER_AGENT" -H "Accept: application/json" \
"$BASE_URL/api/csrf/token?action=/api/images&method=post")
if [ $? -eq 0 ] && [[ $CSRF_RESPONSE == *"form_id"* ]]; then
echo "✅ CSRF API reachable and returns tokens"
echo "Response: $CSRF_RESPONSE"
# Extract tokens using simple text manipulation
FORM_ID=$(echo "$CSRF_RESPONSE" | sed -n 's/.*"form_id":"\([^"]*\)".*/\1/p')
TOKEN=$(echo "$CSRF_RESPONSE" | sed -n 's/.*"token":"\([^"]*\)".*/\1/p')
echo "Form ID: $FORM_ID"
echo "Token: ${TOKEN:0:20}..."
else
echo "❌ CSRF API test failed"
echo "Response: $CSRF_RESPONSE"
exit 1
fi
# Test 2: Test Page Accessibility
echo ""
echo "🌐 Test 2: Test Page Accessibility"
echo "----------------------------------"
HTTP_STATUS=$(curl -k -s -o /dev/null -w "%{http_code}" -H "User-Agent: $USER_AGENT" \
"$BASE_URL/admin/test/upload")
if [ "$HTTP_STATUS" = "200" ]; then
echo "✅ Test page accessible at /admin/test/upload"
else
echo "❌ Test page not accessible (HTTP $HTTP_STATUS)"
fi
# Test 3: Upload API Endpoint Check
echo ""
echo "📤 Test 3: Upload API Endpoint Check"
echo "------------------------------------"
# Test without file (should return error about missing file)
UPLOAD_RESPONSE=$(curl -k -s -H "User-Agent: $USER_AGENT" -H "Accept: application/json" \
-H "X-CSRF-Form-ID: $FORM_ID" -H "X-CSRF-Token: $TOKEN" \
-X POST "$BASE_URL/api/images")
if [[ $UPLOAD_RESPONSE == *"No image file uploaded"* ]]; then
echo "✅ Upload API reachable and CSRF validation working"
echo "Expected error: No image file uploaded"
else
echo "❌ Upload API test failed"
echo "Response: $UPLOAD_RESPONSE"
fi
# Test 4: JavaScript Files Accessibility
echo ""
echo "📜 Test 4: JavaScript Files Accessibility"
echo "-----------------------------------------"
JS_STATUS=$(curl -k -s -o /dev/null -w "%{http_code}" -H "User-Agent: $USER_AGENT" \
"$BASE_URL/js/test-upload.js")
if [ "$JS_STATUS" = "200" ]; then
echo "✅ JavaScript test file accessible"
else
echo "❌ JavaScript test file not accessible (HTTP $JS_STATUS)"
fi
UPLOAD_JS_STATUS=$(curl -k -s -o /dev/null -w "%{http_code}" -H "User-Agent: $USER_AGENT" \
"$BASE_URL/js/utils/upload.js")
if [ "$UPLOAD_JS_STATUS" = "200" ]; then
echo "✅ Upload utility accessible"
else
echo "❌ Upload utility not accessible (HTTP $UPLOAD_JS_STATUS)"
fi
# Summary
echo ""
echo "📊 Test Summary"
echo "==============="
echo "✅ CSRF token generation: Working"
echo "✅ Test page: Available at $BASE_URL/admin/test/upload"
echo "✅ Upload API: Ready for file uploads"
echo "✅ JavaScript modules: Accessible"
echo ""
echo "🎯 Next Steps:"
echo "1. Open browser: $BASE_URL/admin/test/upload"
echo "2. Select image files and test upload"
echo "3. Check browser console for debug info"
echo "4. Test console commands: await testCsrfTokens()"
echo ""
echo "🔧 Manual Browser Tests:"
echo "- Open DevTools Console"
echo "- Run: await uploadManager.getCsrfTokens('/api/images', 'post')"
echo "- Select image files in the form"
echo "- Click Upload Files button"
echo "- Watch progress and results"