feat: homelab deployment - NPM + IONOS DNS + monitoring + NAS backup

- Restructured docker-compose for Nginx Proxy Manager (no custom nginx)
- Added domain wordly.art configuration
- Added Prometheus + Grafana monitoring stack with pre-configured dashboards
- Added PostgreSQL backup script to NAS (daily/weekly/monthly rotation)
- Added alert rules for backend, system, and Docker metrics
- Updated deployment guide for NPM + IONOS DNS homelab setup
- Added marketing plan document
- PDF translator and watermark support
- Enhanced middleware, routes, and translator modules

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-10 11:43:28 +02:00
parent 16ac7ca2b9
commit ce8e150a61
110 changed files with 6935 additions and 4301 deletions

View File

@@ -62,6 +62,10 @@ export function useTranslationSubmit(): UseTranslationSubmitReturn {
setError('Translation job not found');
return;
}
// 429 (rate-limited) is not a real failure — just skip this poll
if (response.status === 429) {
return;
}
throw new Error(`HTTP error! status: ${response.status}`);
}
@@ -135,6 +139,10 @@ export function useTranslationSubmit(): UseTranslationSubmitReturn {
if (config.mode === 'llm' && config.provider) {
formData.append('provider', config.provider);
}
// PDF mode: layout (preserve layout) or text_only (clean text output)
if (config.pdfMode) {
formData.append('pdf_mode', config.pdfMode);
}
const token = localStorage.getItem('token');
const headers: Record<string, string> = {};