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