Kekkai/docker-compose.yaml

106 lines
2.1 KiB
YAML
Raw Normal View History

services:
nginx:
image: nginx:alpine
ports:
- '80:80'
- '443:443'
volumes:
- ./nginx/:/etc/nginx/
- ./CertSSL:/etc/nginx/ssl
- ./assets/logo.png:/etc/nginx/assets/logo.png
2025-02-26 15:29:01 +03:00
- ./docs/dist:/usr/share/
depends_on:
- server
- chart
- web
2025-02-26 15:29:01 +03:00
- docs
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 10s
retries: 5
start_period: 30s
timeout: 10s
server:
build:
context: ./
dockerfile: Dockerfile-server
restart: unless-stopped
ports:
- '3000:3000'
volumes:
- './CertSSL:/CertSSL'
- './config.yaml:/config.yaml'
depends_on:
- postgres
chart:
build:
context: ./chart
restart: unless-stopped
ports:
- '3030:3030'
volumes:
- './CertSSL:/CertSSL'
- './config.yaml:/config.yaml'
depends_on:
postgres:
condition: service_healthy
2025-02-26 15:29:01 +03:00
web:
build:
context: ./
dockerfile: Dockerfile-web
restart: unless-stopped
ports:
- '3050:3050'
volumes:
- './CertSSL:/CertSSL'
- './config.yaml:/config.yaml'
2025-02-26 15:29:01 +03:00
docs:
build:
context: ./docs
dockerfile: Dockerfile
restart: unless-stopped
volumes:
- ./docs/dist:/docs/dist # Bind mount for the dist folder
healthcheck:
test: ["CMD", "test", "-f", "/docs/dist/.built"] # Check if the build is complete
interval: 5s
timeout: 10s
retries: 5
collect-currency:
build:
context: ./
dockerfile: Dockerfile-collect-currency
restart: unless-stopped
volumes:
- './config.yaml:/config.yaml'
depends_on:
- postgres
postgres:
image: postgres:latest
restart: unless-stopped
env_file: .env
ports:
- '5432:5432'
volumes:
- ./postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $POSTGRES_USER"]
interval: 10s
timeout: 5s
retries: 5
volumes:
server:
driver: local
chart:
driver: local
collect-currency:
driver: local
postgres:
driver: local