🌐
Domény a subdomény
26 celkem| Doména | Směřuje na | Typ | Popis |
|---|---|---|---|
webdo24.cz | /opt/apps/webdo24 | Statika | Hlavní web |
api.webdo24.cz | localhost:3003 | API | Next.js backend API |
web.webdo24.cz | localhost:3003 | App | Web frontend + projekty |
login.webdo24.cz | localhost:3003 | Auth | Autentizace |
dashboard.webdo24.cz | localhost:8765 | App | Dashboard aplikace |
pipeline.webdo24.cz | localhost:3003 | Tool | Pipeline nástroj (basic auth) |
preview.webdo24.cz | Statické soubory | Statika | Náhledy testů |
tests.webdo24.cz | Statika + API | Dev | Testovací reporty |
market.webdo24.cz | Statika | Tool | Market Watch + reporty |
ninja.webdo24.cz | Statika (SPA) | App | Ninja aplikace |
ninja-tyden.webdo24.cz | Statika (SPA) | App | Ninja týdenní edice |
hub.webdo24.cz | Statika | App | Hub aplikace |
ppc.webdo24.cz | Statika | Tool | PPC dashboard |
billing.webdo24.cz | localhost:3011 | App | Fakturační systém (Next.js) |
ops.webdo24.cz | localhost:4242 | Tool | Ops nástroj (basic auth) |
commander.webdo24.cz | localhost:4343 | Tool | Commander panel |
dev.webdo24.cz | Statika | Dev | Vývojové prostředí |
stage.webdo24.cz | Statika | Stage | Stage prostředí |
n8n.webdo24.cz | localhost:5678 | Tool | n8n automatizace |
cloud.webdo24.cz | localhost:8080 | Tool | CloudCMD file manager |
grafana.webdo24.cz | localhost:3000 | Monit | Grafana dashboard |
overview.webdo24.cz | localhost:3000 | Monit | Přehledový dashboard |
ai.majlajf.cz | localhost:8000 | API | AI Gateway (FastAPI) |
paddleboardy-milada.cz | Statika | Zákazník | Pronájem paddleboardů |
dousa-elektro.cz | Statika | Zákazník | Elektroinstalační firma |
🏗️
Backend architektura — webdo24.cz
Multi-tier⚛️ Next.js Backend
- Next.js 16.2.4 + React 19
- TypeScript 5 + Tailwind v4
- Port 3003
- Standalone build
- PM2 cluster (512 MB max)
📦 Express AI API
- Express.js 4.19.2
- BullMQ 5.x + Redis
- Port 3001
- 4 LLM providery
- Prometheus metrics
🗄️ Databáze
- Supabase (PostgreSQL)
- RLS policies
- Auth + Service role
- 7 hlavních tabulek
🔗 Integrace
- Stripe (platby)
- n8n (automatizace)
- AI Gateway (FastAPI)
- Nodemailer (emaily)
Flow: Klient → Caddy (HTTPS) → Next.js (CRM/auth) / Express (AI generování) → Supabase (data) / Redis (fronty) → n8n (automatizace)
⚛️
Next.js Backend — detaily
Port 3003Cesta
/opt/apps/webdo24-backend/
Framework
Next.js 16.2.4, React 19.2.4, TypeScript 5
Styling
Tailwind CSS v4
Build
Standalone output (pro VPS)
PM2
instances: 1, max_memory_restart: 512M
Klíčové deps
@supabase/ssr, @supabase/supabase-js,
stripe, react-hook-form, zod,
lucide-react, tailwind-merge
Auth
Supabase Auth (JWT cookies), role: admin | customer
CORS
webdo24.cz, www.webdo24.cz, billing.webdo24.cz
Struktura
/admin/* — admin dashboard |
/customer/* — zákaznický portál |
/(app)/* — interní app (dashboard, pipeline)
📦
Express AI API — detaily
Port 3001Cesta
/opt/apps/webdo24-api/server.js
Framework
Express.js 4.19.2, BullMQ 5.x, prom-client
Port
3001 (bind 0.0.0.0)
Redis
webdo24-redis (Docker, port 6379)
AI Providery
OpenAI GPT-4o, o1, o3
Anthropic Claude
DeepSeek deepseek-chat
Moonshot Kimi
Pipeline
NewEra Pipeline v2 — chunked generování, checkpointing, validační brány
Storage
/opt/apps/webdo24-api/data/
Klient workspace
/opt/data/clients/<slug>/
🗄️
Databáze — Supabase (PostgreSQL)
RLS + Auth| Tabulka | Účel |
|---|---|
webdo24_customers | Zákazníci (jméno, IČO, DIČ, telefon, adresa) |
webdo24_projects | Projekty (status, pipeline, cena, doména, URL) |
webdo24_project_briefs | Zadání/brief (popis, služby, barvy, konkurence, SEO) |
webdo24_project_files | Nahrané soubory (loga, fotografie) |
webdo24_pipeline_runs | Běhy AI pipeline (vstup/výstup JSON, chyby, čas) |
webdo24_project_events | Audit log (pipeline_started, deployed, …) |
webdo24_invoices | Faktury (částka, měna, status, splatnost) |
Životní cyklus projektu:
draft→
submitted→
waiting_for_materials→
ready_for_generation→
generating→
generated→
qa_check→
needs_revision→
approved→
deployed→
archived
🔁
API Routes
Next.js + ExpressNext.js (Port 3003)
| Method | Route | Role | Popis |
|---|---|---|---|
| POST | /api/customer/profile | Customer | Úprava profilu |
| POST | /api/customer/projects/[id]/approve | Customer | Schválení webu |
| POST | /api/customer/projects/[id]/revision | Customer | Žádost o revizi |
| POST | /api/deploy/project | Admin | Označit jako nasazený |
| POST | /api/pipeline/run | Admin | Spustit AI pipeline (volá n8n) |
| POST | /api/pipeline/callback | n8n | Callback z n8n |
| POST | /api/qa/run | Admin | Spustit QA kontrolu |
| POST | /api/upload | Auth | Upload souborů |
| POST | /api/stripe/webhook | Stripe | Webhook potvrzení plateb |
| POST | /api/stripe/create-checkout-session | Auth | Vytvořit platbu |
| POST | /api/leads | Public | Ukládání leadů |
| POST | /api/marketing/visit | Public | Tracking návštěv |
Express AI API (Port 3001)
| Method | Route | Popis |
|---|---|---|
| POST | /generate-html | Generování HTML stránky |
| POST | /generate-final-prompt | Finální prompt |
| POST | /generate-brief | Brief ze zadání |
| POST | /generate-site-prompt | Prompt pro celý web |
| POST | /polish-content | Doladění obsahu |
| POST | /generate-seo | SEO meta tagy, klíčová slova |
| POST | /intake | Hlavní intake formulář |
| POST | /intake-x, /intake-w | Varianty formulářů |
| GET/POST | /brief/:token | Veřejné zobrazení/úprava briefu |
| POST | /revize/:token | Odeslání revize |
| POST | /payment/confirm | Potvrzení platby |
| POST | /ops/pipeline-test | Spustit test pipeline |
| GET | /ops/pipeline-tests | Seznam testů |
| GET | /ops/queue | Stav Redis fronty |
| GET | /health | Health check |
| GET | /metrics | Prometheus metriky |
🔗
Externí integrace
| Služba | Doména / Port | Použití |
|---|---|---|
| Stripe | API + webhook | Platby, fakturace, upsell, zákaznický portál |
| n8n | n8n.webdo24.cz (5678) | Automatizační workflow, volá se z /api/pipeline/run |
| AI Gateway | ai.majlajf.cz (8000) | Proxy pro AI providery (FastAPI, oddělený service) |
| Nodemailer | SMTP | Emailové notifikace z Express API |
| Supabase | PostgreSQL | Hlavní databáze + Auth |
⚙️
Hlavní služby
| Služba | Popis |
|---|---|
| Caddy | Reverzní proxy / web server, HTTPS na všech doménách |
| Docker | Kontejnerizace (n8n, Redis, monitoring stack, Nextcloud DB) |
🐳
Docker kontejnery
9 běžících| Kontejner | Obraz | Porty |
|---|---|---|
n8n | n8nio/n8n | 127.0.0.1:5678 |
nextcloud-db | mariadb:10.11 | interní 3306 (172.19.0.2) |
webdo24-grafana | grafana/grafana | 0.0.0.0:3000 |
webdo24-prometheus | prom/prometheus | 0.0.0.0:9090 |
webdo24-loki | grafana/loki:2.9.0 | 0.0.0.0:3100 |
webdo24-promtail | grafana/promtail:2.9.0 | interní |
webdo24-node-exporter | prom/node-exporter | 0.0.0.0:9100 |
webdo24-cadvisor | gcr.io/cadvisor/cadvisor:v0.47.2 | 0.0.0.0:8081 |
webdo24-redis | redis:7-alpine | interní 6379 |
⚠️ Nextcloud kontejner je momentálně vypnutý (Exited). Běží pouze jeho MariaDB databáze.
🚀
PM2 procesy
5 online| Název | Port | PID | Uptime | Status | Popis |
|---|---|---|---|---|---|
cloudcmd | 4000 | 404539 | 4 dny | online | Webový file manager |
code-server | 8082 | 2036987 | 24 dní | online | VS Code Server |
file-manager | 3002 | 2322204 | 22 dní | online | File manager API |
server-command-center | 9000 | 2123332 | 23 dní | online | Command center |
webdo24-backend | 3001 / 3003 | 2152847 | 23 dní | online | Hlavní backend (cluster) |
🔌
Systemd služby
26 aktivníchWeb / Proxy
caddy.service — Reverzní proxy, HTTPS
Kontejnery
docker.service, containerd.service
Interní aplikace
ai-gateway.service — AI Gateway proxy (FastAPI, port 8000)
webdo24-ops-commander.service — Commander panel (port 4343)
webdo24-ops-dashboard.service — Ops dashboard
market-watch.service — Market Watch služba
webdo24-ops-commander.service — Commander panel (port 4343)
webdo24-ops-dashboard.service — Ops dashboard
market-watch.service — Market Watch služba
Bezpečnost
fail2ban.service — Ochrana proti útokům
Systém
ssh, cron, rsyslog, snapd, qemu-guest-agent, unattended-upgrades,
systemd-networkd, systemd-resolved, systemd-timesyncd, dbus, polkit, multipathd
Speciální
xvfb.service — Virtuální framebuffer (headless browser / Playwright)
📡
Otevřené porty
22
SSH
53
DNS (systemd)
80
HTTP (Caddy)
443
HTTPS (Caddy)
3000
Grafana
3001
Express AI API
3002
File manager API
3003
Next.js backend
3011
Billing (Next.js)
3100
Loki
4000
CloudCMD
4242
Ops nástroj
4343
Commander
5678
n8n
8000
AI Gateway
8080
CloudCMD web
8081
cAdvisor
8082
Code Server
8765
Dashboard
9090
Prometheus
9100
Node Exporter
7788
Python služba
8767
Python služba
9876
Python služba