71 lines
1.4 KiB
YAML
71 lines
1.4 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
# Production service
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: sakai-ng-prod
|
|
ports:
|
|
- "80:80"
|
|
environment:
|
|
- NODE_ENV=production
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test:
|
|
["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 3
|
|
start_period: 5s
|
|
networks:
|
|
- sakai-network
|
|
|
|
# Staging service
|
|
staging:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.staging
|
|
container_name: sakai-ng-staging
|
|
ports:
|
|
- "8080:80"
|
|
environment:
|
|
- NODE_ENV=staging
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test:
|
|
["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost/"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 3
|
|
start_period: 5s
|
|
profiles:
|
|
- staging
|
|
networks:
|
|
- sakai-network
|
|
|
|
# Development service with hot reload
|
|
dev:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.dev
|
|
container_name: sakai-ng-dev
|
|
working_dir: /app
|
|
volumes:
|
|
- .:/app
|
|
- /app/node_modules
|
|
ports:
|
|
- "4200:4200"
|
|
environment:
|
|
- NODE_ENV=development
|
|
restart: unless-stopped
|
|
profiles:
|
|
- dev
|
|
networks:
|
|
- sakai-network
|
|
|
|
networks:
|
|
sakai-network:
|
|
driver: bridge
|