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

@@ -0,0 +1,31 @@
"""Fix tier CHECK constraint to allow all plan tiers
Revision ID: 006
Revises: cb71a958ad92
"""
from alembic import op
revision = "006"
down_revision = "a1b2c3d4e5f6"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.execute(
"ALTER TABLE users DROP CONSTRAINT IF EXISTS ck_users_tier"
)
op.execute(
"ALTER TABLE users ADD CONSTRAINT ck_users_tier "
"CHECK (tier IN ('free', 'starter', 'pro', 'business', 'enterprise'))"
)
def downgrade() -> None:
op.execute(
"ALTER TABLE users DROP CONSTRAINT IF EXISTS ck_users_tier"
)
op.execute(
"ALTER TABLE users ADD CONSTRAINT ck_users_tier "
"CHECK (tier IN ('free', 'pro'))"
)