From 2e94507af49964d759b9ca28647d5aa43cc670d7 Mon Sep 17 00:00:00 2001 From: dimitar Date: Mon, 31 Mar 2025 08:36:17 +0200 Subject: [PATCH] postgres fix -mark2 --- backend/docker-compose.yml | 82 ++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 2 +- 2 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 backend/docker-compose.yml diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml new file mode 100644 index 0000000..73285d7 --- /dev/null +++ b/backend/docker-compose.yml @@ -0,0 +1,82 @@ +version: "3.8" + +services: + backend: + container_name: imk-backend + build: + context: ./backend + dockerfile: Dockerfile + args: + - NODE_ENV=${NODE_ENV} + - API_URL=${API_URL} + - CORS_ORIGIN=${CORS_ORIGIN} + - DATABASE_URL=${DATABASE_URL} + - JWT_SECRET=${JWT_SECRET} + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_USER=${SMTP_USER} + - SMTP_PASS=${SMTP_PASS} + - EMAIL_FROM=${EMAIL_FROM} + ports: + - "3000:3000" + environment: + - NODE_ENV=${NODE_ENV} + - API_URL=${API_URL} + - CORS_ORIGIN=${CORS_ORIGIN} + - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} + - JWT_SECRET=${JWT_SECRET} + - SMTP_HOST=${SMTP_HOST} + - SMTP_PORT=${SMTP_PORT} + - SMTP_USER=${SMTP_USER} + - SMTP_PASS=${SMTP_PASS} + - EMAIL_FROM=${EMAIL_FROM} + - CORS_ORIGINS=http://localhost:5173,https://www.placebo.mk,https://placebo.mk + - CORS_CREDENTIALS=true + depends_on: + postgres: + condition: service_healthy + redis: + condition: service_healthy + networks: + - app_network + + postgres: + container_name: imk-postgres + image: postgres:14-alpine + environment: + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_DB=${POSTGRES_DB} + volumes: + - postgres_data:/var/lib/postgresql/data + networks: + - app_network + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] + interval: 10s + timeout: 5s + retries: 5 + + redis: + container_name: imk-redis + image: redis:alpine + command: redis-server --requirepass ${REDIS_PASSWORD} + environment: + - REDIS_PASSWORD=${REDIS_PASSWORD} + volumes: + - redis_data:/data + networks: + - app_network + healthcheck: + test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"] + interval: 10s + timeout: 5s + retries: 3 + +networks: + app_network: + driver: bridge + +volumes: + postgres_data: + redis_data: diff --git a/docker-compose.yml b/docker-compose.yml index a3f78a4..73285d7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,7 +23,7 @@ services: - NODE_ENV=${NODE_ENV} - API_URL=${API_URL} - CORS_ORIGIN=${CORS_ORIGIN} - - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} + - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} - JWT_SECRET=${JWT_SECRET} - SMTP_HOST=${SMTP_HOST} - SMTP_PORT=${SMTP_PORT}