From bd662d447ba0b0816012e322aa2f2e8f569acf92 Mon Sep 17 00:00:00 2001 From: JawherKl Date: Thu, 29 Jan 2026 21:40:21 +0100 Subject: [PATCH] update docker composer and integrate postgres --- Dockerfile | 2 +- docker-compose.yml | 35 ++++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8493e08..94fe059 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,4 +17,4 @@ COPY . . EXPOSE 3000 # Command to run the application -CMD ["node", "src/index.js"] +CMD ["node", "index.js"] diff --git a/docker-compose.yml b/docker-compose.yml index 3d51cac..0e411c6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,35 @@ version: "3.3" services: + db: + image: postgres:15 + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: node_api_db + ports: + - "5400:5432" + volumes: + - postgres-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 10s + timeout: 5s + retries: 5 + + pgadmin: + image: dpage/pgadmin4 + environment: + PGADMIN_DEFAULT_EMAIL: admin@admin.com + PGADMIN_DEFAULT_PASSWORD: admin + ports: + - "5404:80" + depends_on: + - db + volumes: + - pgadmin-data:/var/lib/pgadmin + restart: always + node-api: build: context: . @@ -9,9 +38,11 @@ services: - "3000:3000" environment: NODE_ENV: development - DATABASE_URL: postgresql://postgres:postgres@host.docker.internal:5450/node_api_db + DATABASE_URL: postgresql://postgres:postgres@db:5432/node_api_db extra_hosts: - "host.docker.internal:host-gateway" + depends_on: + - db prometheus: image: prom/prometheus @@ -31,4 +62,6 @@ services: - grafana-storage:/var/lib/grafana volumes: + postgres-data: + pgadmin-data: grafana-storage: