Files
ROMFASTSQL/proxmox/lxc103-dokploy/README.md
Claude Agent fcf1e06c66 feat(infra): add Dokploy LXC 103 and new IIS web domains
- Add LXC 103 Dokploy infrastructure (v0.28.2) with Traefik
- Deploy pdf-qr-app and qr-generator via Dokploy from GitHub
- Configure IIS VM 201: roa-qr and *.roa.romfast.ro wildcard sites
- Add SSL certificates (Let's Encrypt + wildcard DNS challenge)
- Fix Docker Swarm VIP DNS issue with dnsrr endpoint mode
- Document architecture: IIS → Traefik → Dokploy containers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 15:44:53 +00:00

4.6 KiB

LXC 103 - Dokploy + Traefik (Control Plane Public)

Informații Generale

  • CTID: 103
  • IP: 10.0.20.167
  • Rol: Dokploy Control Plane + Traefik routing public
  • Host Proxmox: pvemini (10.0.20.201)
  • Status: Running (onboot: enabled)

Arhitectura

LXC 103 este nodul central pentru deployment-ul aplicațiilor publice ROMFAST.

Internet → 188.26.14.103 → VM 201 IIS (SSL termination)
                                │
                    *.roa.romfast.ro, roa-qr, dokploy
                                │
                          LXC 103 :443 (Traefik)
                          ├── dokploy.romfast.ro  → Dokploy UI :3000
                          ├── roa-qr.romfast.ro   → pdf-qr-app container
                          ├── app1.roa.romfast.ro → app1 container
                          └── app2.roa.romfast.ro → app2 container

De ce app-urile publice stau pe LXC 103

Dokploy instalează Traefik SEPARAT pe fiecare server. Traefik LXC 103 și Traefik LXC 100 nu comunică între ele. Wildcadul *.roa.romfast.ro poate fi conectat doar la UN singur Traefik — LXC 103.

LXC 100 se folosește pentru:

  • Backend-uri consumate intern (fără DNS public)
  • Job-uri cron, workers, servicii administrative

Servicii Instalate

Serviciu Port Descriere
Dokploy UI 3000 Management deployment, CI/CD
Traefik 443 Routing HTTPS pentru toate app-urile publice
Traefik Dashboard 8080 Monitoring routelor (intern)

Domenii Gestionate

Domeniu Destinație
dokploy.romfast.ro Dokploy UI (port 3000)
roa-qr.romfast.ro pdf-qr-app container
*.roa.romfast.ro Orice app deployată prin Dokploy

Setup Inițial

Pasul 1 — Oprire nginx existent pe LXC 100

Executat pe LXC 100 (10.0.20.170) via Portainer terminal sau Proxmox console:

docker stop docker-nginx-1
docker rm docker-nginx-1

# Verifică porturile sunt libere
ss -tlnp | grep -E ':80|:443'

Pasul 2 — Generare SSH Key în Dokploy + Adăugare LXC 100

În Dokploy UI (https://dokploy.romfast.ro):

  1. Settings → SSH Keys → Create SSH Key
  2. Copiază public key-ul generat

Pe LXC 100 (10.0.20.170):

echo "ssh-ed25519 AAAA...[cheia copiată din Dokploy]" >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

În Dokploy UI:

  1. Servers → Add Server
  2. IP: 10.0.20.170, User: root
  3. Test ConnectionSetup Server
  4. Verificare: pe LXC 100, docker ps → trebuie container Traefik

Pasul 3 — Deploy pdf-qr-app pe LXC 103

În Dokploy UI:

  1. Services → Create Service → Docker Compose
  2. Server: LXC 103 (local)
  3. Docker Compose: conținutul app-ului pdf-qr (vezi docs/pdf-qr-app.md)
  4. Domain: roa-qr.romfast.ro
  5. Deploy

Workflow: Adăugare App Nouă

1. Dokploy UI → New Service → docker-compose → domain: numeapp.roa.romfast.ro
2. DNS: adaugă numeapp.roa.romfast.ro A 188.26.14.103
   (dacă e sub *.roa.romfast.ro, wildcard DNS acoperă automat)
3. SSL: Win-ACME pe VM 201 generează cert dacă nu există wildcard
4. Gata — Traefik pe LXC 103 routează automat

Verificare

# Traefik funcționează (din LAN)
curl -I https://10.0.20.167/

# Dokploy UI accesibil
curl -I https://dokploy.romfast.ro/

# pdf-qr-app accesibil
curl -I https://roa-qr.romfast.ro/

# Test wildcard (după deploy app cu hostname)
curl -I https://app1.roa.romfast.ro/

# LXC 100 Portainer funcționează în continuare
curl -sk https://10.0.20.170:9443/api/status

Configurare Traefik (gestionat automat de Dokploy)

Traefik pe LXC 103 este configurat și actualizat automat de Dokploy la fiecare deploy. Nu modificați manual configurația Traefik fără să înțelegeți impactul.

# Status containere pe LXC 103
docker ps

# Logs Traefik
docker logs traefik -f

# Verificare routere Traefik
curl http://localhost:8080/api/http/routers | jq .

Documentație Asociată

  • Arhitectură completă IIS: ../vm201-windows/docs/vm201-dokploy-infrastructure.md
  • Setup IIS VM 201: ../vm201-windows/scripts/setup-new-iis-sites.ps1
  • Web.config IIS proxy: ../vm201-windows/iis-configs/
  • LXC 100 (Remote Node): ../lxc100-portainer/README.md (de creat)

Ultima actualizare: 2026-03-02 Autor: Marius Mutu Proiect: ROMFASTSQL - LXC 103 Dokploy