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

@@ -9,10 +9,12 @@ import { Separator } from "@/components/ui/separator";
import { Button } from "@/components/ui/button";
import { useAdminLogin } from "./login/useAdminLogin";
import { adminNavItems } from "./constants";
import { useI18n } from "@/lib/i18n";
export function AdminSidebar() {
const pathname = usePathname();
const { logout } = useAdminLogin();
const { t } = useI18n();
return (
<aside className="hidden w-56 shrink-0 border-r border-border bg-card lg:flex lg:flex-col">
@@ -38,7 +40,7 @@ export function AdminSidebar() {
const isActive = pathname === item.href;
return (
<Link
key={item.label}
key={item.href}
href={item.href}
className={cn(
"flex items-center gap-2.5 rounded-md px-2.5 py-1.5 text-xs font-medium transition-colors",
@@ -48,7 +50,7 @@ export function AdminSidebar() {
)}
>
<item.icon className="size-3.5 shrink-0" />
{item.label}
{t(item.labelKey)}
</Link>
);
})}