Expose a lightweight /healthz route on the main aiohttp server and wire docker-compose healthcheck so orchestrators can detect failures.
48 lines
1.1 KiB
YAML
48 lines
1.1 KiB
YAML
services:
|
|
remnawave-tg-shop:
|
|
build: .
|
|
container_name: remnawave-tg-shop
|
|
hostname: remnawave-tg-shop
|
|
env_file:
|
|
- .env
|
|
networks:
|
|
- remnawave-network
|
|
restart: unless-stopped
|
|
depends_on:
|
|
remnawave-tg-shop-db:
|
|
condition: service_healthy
|
|
ports:
|
|
- 127.0.0.1:8080:8080
|
|
- 127.0.0.1:${WEBAPP_SERVER_PORT:-8081}:${WEBAPP_SERVER_PORT:-8081}
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8080/healthz >/dev/null || exit 1"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 30s
|
|
|
|
remnawave-tg-shop-db:
|
|
image: postgres:17
|
|
container_name: remnawave-tg-shop-db
|
|
hostname: remnawave-tg-shop-db
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- remnawave-tg-shop-db-data:/var/lib/postgresql/data
|
|
networks:
|
|
- remnawave-network
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 20
|
|
|
|
networks:
|
|
remnawave-network:
|
|
external: true
|
|
|
|
volumes:
|
|
remnawave-tg-shop-db-data:
|
|
name: remnawave-tg-shop-db-data
|