68 lines
2.1 KiB
Markdown
68 lines
2.1 KiB
Markdown
# Depanare 502 în Dokploy (LXC 103)
|
|
|
|
## Acces direct
|
|
|
|
Dokploy rulează în LXC 103. Nu e nevoie de login web — accesul direct via SSH pe nodul Proxmox.
|
|
|
|
```bash
|
|
ssh root@10.0.20.201
|
|
pct exec 103 -- <comanda>
|
|
```
|
|
|
|
## Pași de depanare 502
|
|
|
|
### 1. Identifică containerul
|
|
|
|
```bash
|
|
ssh root@10.0.20.201 "pct exec 103 -- docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}'"
|
|
```
|
|
|
|
### 2. Verifică logs container
|
|
|
|
```bash
|
|
ssh root@10.0.20.201 "pct exec 103 -- docker logs <container-name> --tail 50"
|
|
```
|
|
|
|
### 3. Verifică config Traefik dinamic
|
|
|
|
Traefik folosește fișiere YAML din `/etc/dokploy/traefik/dynamic/` — câte unul per serviciu.
|
|
|
|
```bash
|
|
ssh root@10.0.20.201 "pct exec 103 -- cat /etc/dokploy/traefik/dynamic/<service-name>.yml"
|
|
```
|
|
|
|
### 4. Fix port greșit (cauza cea mai comună)
|
|
|
|
Dacă `url:` din YAML are portul greșit față de ce ascultă containerul:
|
|
|
|
```bash
|
|
ssh root@10.0.20.201 "pct exec 103 -- python3 -c \"
|
|
content = open('/etc/dokploy/traefik/dynamic/<service>.yml').read()
|
|
content = content.replace(':<port-gresit>', ':<port-corect>')
|
|
open('/etc/dokploy/traefik/dynamic/<service>.yml', 'w').write(content)
|
|
\""
|
|
```
|
|
|
|
Traefik reîncarcă automat (hot-reload) — nu e nevoie de restart.
|
|
|
|
### 5. Fix permanent
|
|
|
|
Portul din fișierul YAML e generat de Dokploy din configurarea domeniului. La redeploy se suprascrie.
|
|
|
|
Fix permanent: **Dokploy UI → tab Domains → editează domeniul → schimbă portul → Save → Redeploy**.
|
|
|
|
## Structura rețelei
|
|
|
|
- Traefik container: `dokploy-traefik` (porturi 80/443)
|
|
- Toate serviciile sunt în rețeaua `dokploy-network`
|
|
- Traefik ajunge la containere via hostname = numele serviciului Swarm
|
|
|
|
## Cauze frecvente 502
|
|
|
|
| Simptom | Cauză | Fix |
|
|
|---------|-------|-----|
|
|
| Config YAML există, port greșit | Port în Domains config ≠ port container | Schimbă portul în UI + redeploy |
|
|
| Container pornit, fără erori | Aplicația ascultă pe alt port | Vezi `docker ps` coloana PORTS |
|
|
| Container în crash loop | Eroare aplicație | `docker logs` |
|
|
| Config YAML lipsă | Domeniu neconfigurat în Dokploy | Adaugă domeniu în UI |
|