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,76 @@
/**
* Error Tracking Module
*
* Provides centralized error tracking and reporting.
*
* Usage:
* - Add data-module="error-tracking" to enable global error tracking
* - Or import and use directly: import { ErrorTracker } from './modules/error-tracking/index.js'
*
* Features:
* - Error collection and grouping
* - Error reporting to backend
* - Error analytics
* - Integration with ErrorBoundary
* - Source map support
*/
import { Logger } from '../../core/logger.js';
import { ErrorTracker, getGlobalErrorTracker } from './ErrorTracker.js';
const ErrorTrackingModule = {
name: 'error-tracking',
errorTracker: null,
init(config = {}, state = null) {
Logger.info('[ErrorTrackingModule] Module initialized');
// Create global error tracker
this.errorTracker = getGlobalErrorTracker(config);
// Expose globally for easy access
if (typeof window !== 'undefined') {
window.ErrorTracker = this.errorTracker;
}
return this;
},
/**
* Get error tracker instance
*/
getErrorTracker() {
return this.errorTracker || getGlobalErrorTracker();
},
/**
* Manually capture an error
*/
captureException(error, context = {}) {
const tracker = this.getErrorTracker();
tracker.captureException(error, context);
},
destroy() {
if (this.errorTracker) {
this.errorTracker.destroy();
this.errorTracker = null;
}
if (typeof window !== 'undefined' && window.ErrorTracker) {
delete window.ErrorTracker;
}
Logger.info('[ErrorTrackingModule] Module destroyed');
}
};
// Export for direct usage
export { ErrorTracker, getGlobalErrorTracker };
// Export as default for module system
export default ErrorTrackingModule;
// Export init function for module system
export const init = ErrorTrackingModule.init.bind(ErrorTrackingModule);