Fix DB DNS with vpn_internal compose network
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -45,9 +45,9 @@ POSTGRES_PASSWORD=надежный-пароль-бд
|
|||||||
1. В Dokploy Domain укажите сервис **`panel`**, порт **`8000`** (не `postgres`).
|
1. В Dokploy Domain укажите сервис **`panel`**, порт **`8000`** (не `postgres`).
|
||||||
2. Откройте логи сервиса `panel` — должны быть строки `Database is ready` и `Starting uvicorn`.
|
2. Откройте логи сервиса `panel` — должны быть строки `Database is ready` и `Starting uvicorn`.
|
||||||
3. Ошибка `Name or service not known` значит `panel` не видит хост БД:
|
3. Ошибка `Name or service not known` значит `panel` не видит хост БД:
|
||||||
- оба сервиса должны быть в сети `dokploy-network` (уже в compose);
|
- `panel` и `postgres` связаны через внутреннюю сеть `vpn_internal`;
|
||||||
- на сервере один раз: `docker network create dokploy-network` (Dokploy обычно создаёт сам);
|
- `panel` также в `dokploy-network` для домена;
|
||||||
- если сервис БД называется иначе — задайте `POSTGRES_HOST=<имя сервиса>`.
|
- если БД внешняя (Dokploy Postgres) — задайте `POSTGRES_HOST` на её хост.
|
||||||
4. Redeploy после правок.
|
4. Redeploy после правок.
|
||||||
|
|
||||||
Админ при каждом старте **синхронизируется из ENV**.
|
Админ при каждом старте **синхронизируется из ENV**.
|
||||||
|
|||||||
+10
-1
@@ -22,6 +22,7 @@ services:
|
|||||||
ADMIN_PASSWORD: ${ADMIN_PASSWORD:-change-me-strong-password}
|
ADMIN_PASSWORD: ${ADMIN_PASSWORD:-change-me-strong-password}
|
||||||
ADMIN_EMAIL: ${ADMIN_EMAIL:-admin@example.com}
|
ADMIN_EMAIL: ${ADMIN_EMAIL:-admin@example.com}
|
||||||
|
|
||||||
|
# hostname of the compose service below
|
||||||
POSTGRES_HOST: ${POSTGRES_HOST:-postgres}
|
POSTGRES_HOST: ${POSTGRES_HOST:-postgres}
|
||||||
POSTGRES_USER: ${POSTGRES_USER:-vpn}
|
POSTGRES_USER: ${POSTGRES_USER:-vpn}
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-vpn}
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-vpn}
|
||||||
@@ -44,6 +45,7 @@ services:
|
|||||||
- wg_data:/data/wireguard
|
- wg_data:/data/wireguard
|
||||||
- awg_data:/data/amneziawg
|
- awg_data:/data/amneziawg
|
||||||
networks:
|
networks:
|
||||||
|
- vpn_internal
|
||||||
- dokploy-network
|
- dokploy-network
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:8000/health"]
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:8000/health"]
|
||||||
@@ -62,7 +64,10 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- postgres_data:/var/lib/postgresql/data
|
- postgres_data:/var/lib/postgresql/data
|
||||||
networks:
|
networks:
|
||||||
- dokploy-network
|
vpn_internal:
|
||||||
|
aliases:
|
||||||
|
- postgres
|
||||||
|
- db
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
|
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
|
||||||
interval: 5s
|
interval: 5s
|
||||||
@@ -71,6 +76,10 @@ services:
|
|||||||
start_period: 10s
|
start_period: 10s
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
# Compose DNS (panel -> postgres) works on this project network
|
||||||
|
vpn_internal:
|
||||||
|
driver: bridge
|
||||||
|
# Traefik / Dokploy public routing
|
||||||
dokploy-network:
|
dokploy-network:
|
||||||
external: true
|
external: true
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user