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.
This commit is contained in:
2026-07-13 16:48:36 +02:00
parent 0bde9ef7c9
commit e66f3a0360
3 changed files with 6 additions and 13 deletions
+2 -1
View File
@@ -2,4 +2,5 @@
.project .project
.idea .idea
.DS_Store .DS_Store
.env .env
/data/
+2 -6
View File
@@ -35,7 +35,7 @@ services:
qrforge-db: qrforge-db:
condition: service_healthy condition: service_healthy
volumes: volumes:
- qrforge_qrcode_storage:/var/www/qrcode-storage - ./data/qrcode-storage:/var/www/qrcode-storage
networks: networks:
- qrforge-network - qrforge-network
@@ -43,7 +43,7 @@ services:
image: "mysql:8.0" image: "mysql:8.0"
restart: "unless-stopped" restart: "unless-stopped"
volumes: volumes:
- qrforge_db_data:/var/lib/mysql - ./data/mysql:/var/lib/mysql
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql:ro - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
environment: environment:
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:?set MYSQL_ROOT_PASSWORD in .env}" MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:?set MYSQL_ROOT_PASSWORD in .env}"
@@ -58,10 +58,6 @@ services:
networks: networks:
- qrforge-network - qrforge-network
volumes:
qrforge_db_data:
qrforge_qrcode_storage:
networks: networks:
qrforge-network: qrforge-network:
driver: bridge driver: bridge
+2 -6
View File
@@ -21,7 +21,7 @@ services:
qrforge-db: qrforge-db:
condition: service_healthy condition: service_healthy
volumes: volumes:
- qrforge_qrcode_storage:/var/www/qrcode-storage - ./data/qrcode-storage:/var/www/qrcode-storage
networks: networks:
- qrforge-network - qrforge-network
@@ -29,7 +29,7 @@ services:
image: "mysql:8.0" image: "mysql:8.0"
restart: "unless-stopped" restart: "unless-stopped"
volumes: volumes:
- qrforge_db_data:/var/lib/mysql - ./data/mysql:/var/lib/mysql
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql:ro - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
environment: environment:
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:?zet MYSQL_ROOT_PASSWORD in .env}" MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD:?zet MYSQL_ROOT_PASSWORD in .env}"
@@ -44,10 +44,6 @@ services:
networks: networks:
- qrforge-network - qrforge-network
volumes:
qrforge_db_data:
qrforge_qrcode_storage:
networks: networks:
qrforge-network: qrforge-network:
driver: bridge driver: bridge