48 lines
880 B
YAML
48 lines
880 B
YAML
services:
|
|
db:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
POSTGRES_DB: visitcount
|
|
POSTGRES_USER: app
|
|
POSTGRES_PASSWORD: secret
|
|
volumes:
|
|
- db-data:/var/lib/postgresql/data
|
|
networks:
|
|
- app-net
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U app -d visitcount"]
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 5
|
|
|
|
app:
|
|
build:
|
|
context: ./app
|
|
dockerfile: Containerfile
|
|
environment:
|
|
DB_HOST: db
|
|
DB_NAME: visitcount
|
|
DB_USER: app
|
|
DB_PASSWORD: secret
|
|
networks:
|
|
- app-net
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
proxy:
|
|
image: nginx:1.27-alpine
|
|
ports:
|
|
- "8080:80"
|
|
volumes:
|
|
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
|
|
networks:
|
|
- app-net
|
|
depends_on:
|
|
- app
|
|
|
|
volumes:
|
|
db-data:
|
|
|
|
networks:
|
|
app-net:
|