From 8d75849c55b27f9b340c55ecd2ec32c8be28a9d9 Mon Sep 17 00:00:00 2001 From: Ahmed Al-Taiar Date: Sun, 10 Nov 2024 14:48:43 -0500 Subject: [PATCH] More reliable docker-compose.yml --- README.md | 13 ++++++++++--- docker-compose.yml | 13 ++++++++++--- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3eb8579..ff12645 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ services: portfolio: container_name: portfolio image: git.altaiar.dev/ahmed/portfolio:latest + restart: unless-stopped environment: - NODE_ENV=production - API_PROXY_TARGET=http://localhost:8911 @@ -44,7 +45,8 @@ services: - 8910:8910 # Web - 8911:8911 # API depends_on: - - db + db: + condition: service_healthy volumes: - files:/home/node/app/api/files_prod command: > @@ -54,14 +56,19 @@ services: yarn rw prisma db seed && yarn rw serve" - db: container_name: portfolio-db image: postgres:16-bookworm environment: - POSTGRES_USER=redwood - - POSTGRES_PASSWORD=changeme + - POSTGRES_PASSWORD=changeme # Change to a more secure password - 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: - postgres:/var/lib/postgresql/data diff --git a/docker-compose.yml b/docker-compose.yml index 4fd6000..d46ca35 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,6 +4,7 @@ services: portfolio: container_name: portfolio image: git.altaiar.dev/ahmed/portfolio:latest + restart: unless-stopped environment: - NODE_ENV=production - API_PROXY_TARGET=http://localhost:8911 @@ -32,7 +33,8 @@ services: - 8910:8910 # Web - 8911:8911 # API depends_on: - - db + db: + condition: service_healthy volumes: - files:/home/node/app/api/files_prod command: > @@ -42,14 +44,19 @@ services: yarn rw prisma db seed && yarn rw serve" - db: container_name: portfolio-db image: postgres:16-bookworm environment: - POSTGRES_USER=redwood - - POSTGRES_PASSWORD=changeme + - POSTGRES_PASSWORD=changeme # Change to a more secure password - 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: - postgres:/var/lib/postgresql/data