From 223f8b01ab130e486e14a2f4ca30eb70a1a924f8 Mon Sep 17 00:00:00 2001 From: Sergio Nicolas Lavaise Date: Mon, 10 Aug 2026 08:07:23 +0000 Subject: [PATCH] feat: add persistent database volume to Dockerfile and docker-compose.yml --- Dockerfile | 3 +++ docker-compose.yml | 8 ++++++++ docker-entrypoint.sh | 4 ++++ 3 files changed, 15 insertions(+) diff --git a/Dockerfile b/Dockerfile index c683854..658cc54 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,6 +58,9 @@ COPY nginx.conf /etc/nginx/conf.d/default.conf RUN mkdir -p /data/db /var/log/mongodb /var/run/mongodb && \ chown -R mongodb:mongodb /data/db /var/log/mongodb /var/run/mongodb +# Expose volume for persistent database storage +VOLUME ["/data/db"] + # Copy entrypoint COPY docker-entrypoint.sh /docker-entrypoint.sh RUN chmod +x /docker-entrypoint.sh diff --git a/docker-compose.yml b/docker-compose.yml index 629d0d0..43b474a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,8 +6,16 @@ services: - VITE_API_URL=/api ports: - "8084:80" + volumes: + - mongodb_data:/data/db environment: DB_NAME: hospital ADMIN_DNI: "35242633" ADMIN_PASSWORD: admin123 + ADMIN_NOMBRE: "Sistema" + ADMIN_APELLIDO: "Administrador" + ADMIN_EMAIL: "admin@hospital.local" restart: unless-stopped + +volumes: + mongodb_data: diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index d5c565b..5335d80 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -1,6 +1,10 @@ #!/usr/bin/env bash set -e +# Ensure permissions on volume and logs directory +mkdir -p /data/db /var/log/mongodb /var/run/mongodb +chown -R mongodb:mongodb /data/db /var/log/mongodb /var/run/mongodb + echo "Starting local MongoDB server (only accessible from inside container)..." # Start mongod as the default mongodb user, bound to localhost (127.0.0.1) for internal access only su -s /bin/bash -c "mongod --dbpath /data/db --bind_ip 127.0.0.1 --fork --logpath /var/log/mongodb/mongod.log" mongodb