From e66f3a0360f6b6a45d4098b07ad2c6d3474b0855 Mon Sep 17 00:00:00 2001 From: Dillard Blom Date: Mon, 13 Jul 2026 16:48:36 +0200 Subject: [PATCH] Switch DB and qr-storage from named volumes to bind mounts docker compose down -v silently deletes named volumes with no confirmation - not acceptable now that this holds real user/customer data. Bind mounts under ./data/ are never touched by down -v, and give a fixed host path that's simple to include in a backup routine later. --- .gitignore | 3 ++- docker-compose.prod.yml | 8 ++------ docker-compose.yml | 8 ++------ 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index e56fac6..7ee2b09 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ .project .idea .DS_Store -.env \ No newline at end of file +.env +/data/ \ No newline at end of file diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index ffa7dac..9059728 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -35,7 +35,7 @@ services: qrforge-db: condition: service_healthy volumes: - - qrforge_qrcode_storage:/var/www/qrcode-storage + - ./data/qrcode-storage:/var/www/qrcode-storage networks: - qrforge-network @@ -43,7 +43,7 @@ services: image: "mysql:8.0" restart: "unless-stopped" volumes: - - qrforge_db_data:/var/lib/mysql + - ./data/mysql:/var/lib/mysql - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql:ro environment: MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:?set MYSQL_ROOT_PASSWORD in .env}" @@ -58,10 +58,6 @@ services: networks: - qrforge-network -volumes: - qrforge_db_data: - qrforge_qrcode_storage: - networks: qrforge-network: driver: bridge diff --git a/docker-compose.yml b/docker-compose.yml index 1c4ec47..7b9876a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,7 +21,7 @@ services: qrforge-db: condition: service_healthy volumes: - - qrforge_qrcode_storage:/var/www/qrcode-storage + - ./data/qrcode-storage:/var/www/qrcode-storage networks: - qrforge-network @@ -29,7 +29,7 @@ services: image: "mysql:8.0" restart: "unless-stopped" volumes: - - qrforge_db_data:/var/lib/mysql + - ./data/mysql:/var/lib/mysql - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql:ro environment: MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:?zet MYSQL_ROOT_PASSWORD in .env}" @@ -44,10 +44,6 @@ services: networks: - qrforge-network -volumes: - qrforge_db_data: - qrforge_qrcode_storage: - networks: qrforge-network: driver: bridge