Цифровой бренд бук клиники. Описание элементов сайта: цвета, шрифты, блоки, формы, страницы
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

65 lines
1.5 KiB

# Полный стек: docker compose up --build -d → web :3000, api :3001, postgres :5434 (хост)
# Только БД: docker compose up -d postgres
services:
postgres:
image: postgres:16-alpine
container_name: brandbook_postgres
restart: unless-stopped
environment:
POSTGRES_USER: brandbook
POSTGRES_PASSWORD: brandbook
POSTGRES_DB: brandbook
ports:
- "5434:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U brandbook -d brandbook"]
interval: 5s
timeout: 5s
retries: 10
api:
build:
context: .
dockerfile: docker/Dockerfile.api
container_name: brandbook_api
restart: unless-stopped
ports:
- "3001:3001"
environment:
DATABASE_URL: postgresql://brandbook:brandbook@postgres:5432/brandbook
PORT: "3001"
depends_on:
postgres:
condition: service_healthy
healthcheck:
test:
[
"CMD-SHELL",
"wget -qO- http://127.0.0.1:3001/ >/dev/null || exit 1",
]
interval: 10s
timeout: 5s
retries: 5
start_period: 40s
web:
build:
context: .
dockerfile: docker/Dockerfile.web
args:
NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL:-http://localhost:3001}
container_name: brandbook_web
restart: unless-stopped
ports:
- "3000:3000"
environment:
PORT: "3000"
depends_on:
api:
condition: service_healthy
volumes:
postgres_data: