More reliable docker-compose.yml

This commit is contained in:
Ahmed Al-Taiar
2024-11-10 14:48:43 -05:00
parent 58b44dddad
commit 8d75849c55
2 changed files with 20 additions and 6 deletions

View File

@ -16,6 +16,7 @@ services:
portfolio: portfolio:
container_name: portfolio container_name: portfolio
image: git.altaiar.dev/ahmed/portfolio:latest image: git.altaiar.dev/ahmed/portfolio:latest
restart: unless-stopped
environment: environment:
- NODE_ENV=production - NODE_ENV=production
- API_PROXY_TARGET=http://localhost:8911 - API_PROXY_TARGET=http://localhost:8911
@ -44,7 +45,8 @@ services:
- 8910:8910 # Web - 8910:8910 # Web
- 8911:8911 # API - 8911:8911 # API
depends_on: depends_on:
- db db:
condition: service_healthy
volumes: volumes:
- files:/home/node/app/api/files_prod - files:/home/node/app/api/files_prod
command: > command: >
@ -54,14 +56,19 @@ services:
yarn rw prisma db seed && yarn rw prisma db seed &&
yarn rw serve" yarn rw serve"
db: db:
container_name: portfolio-db container_name: portfolio-db
image: postgres:16-bookworm image: postgres:16-bookworm
environment: environment:
- POSTGRES_USER=redwood - POSTGRES_USER=redwood
- POSTGRES_PASSWORD=changeme - POSTGRES_PASSWORD=changeme # Change to a more secure password
- POSTGRES_DB=portfolio - POSTGRES_DB=portfolio
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -d DATABASE_URL"] # Replace DATABASE_URL with the database URL from the portfolio container
interval: 10s
timeout: 5s
retries: 5
volumes: volumes:
- postgres:/var/lib/postgresql/data - postgres:/var/lib/postgresql/data

View File

@ -4,6 +4,7 @@ services:
portfolio: portfolio:
container_name: portfolio container_name: portfolio
image: git.altaiar.dev/ahmed/portfolio:latest image: git.altaiar.dev/ahmed/portfolio:latest
restart: unless-stopped
environment: environment:
- NODE_ENV=production - NODE_ENV=production
- API_PROXY_TARGET=http://localhost:8911 - API_PROXY_TARGET=http://localhost:8911
@ -32,7 +33,8 @@ services:
- 8910:8910 # Web - 8910:8910 # Web
- 8911:8911 # API - 8911:8911 # API
depends_on: depends_on:
- db db:
condition: service_healthy
volumes: volumes:
- files:/home/node/app/api/files_prod - files:/home/node/app/api/files_prod
command: > command: >
@ -42,14 +44,19 @@ services:
yarn rw prisma db seed && yarn rw prisma db seed &&
yarn rw serve" yarn rw serve"
db: db:
container_name: portfolio-db container_name: portfolio-db
image: postgres:16-bookworm image: postgres:16-bookworm
environment: environment:
- POSTGRES_USER=redwood - POSTGRES_USER=redwood
- POSTGRES_PASSWORD=changeme - POSTGRES_PASSWORD=changeme # Change to a more secure password
- POSTGRES_DB=portfolio - POSTGRES_DB=portfolio
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -d DATABASE_URL"] # Replace DATABASE_URL with the database URL from the portfolio container
interval: 10s
timeout: 5s
retries: 5
volumes: volumes:
- postgres:/var/lib/postgresql/data - postgres:/var/lib/postgresql/data