feat: replace Docker named volumes with local bind mounts and add backup script

- docker-compose.yml: sostituisce pgdata/uploads/caddy_data/caddy_config con bind mount su ./data/
- app/public/.gitkeep: crea cartella richiesta dal Dockerfile durante il build
- scripts/backup.sh: backup automatico di DB (pg_dump) e uploads con rotazione 30 giorni
- docs/BACKUP.md: guida completa backup, ripristino e setup cron
- .gitignore: aggiorna con data/ e backups/
This commit is contained in:
2026-05-19 08:49:02 +02:00
parent b62c02adc1
commit 2c6c847d76
5 changed files with 134 additions and 18 deletions
+5 -11
View File
@@ -7,7 +7,7 @@ services:
POSTGRES_PASSWORD: ecommerce_password
POSTGRES_DB: ecommerce
volumes:
- pgdata:/var/lib/postgresql/data
- ./data/db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ecommerce"]
interval: 5s
@@ -28,7 +28,7 @@ services:
expose:
- "3000"
volumes:
- uploads:/app/public/uploads
- ./data/uploads:/app/public/uploads
mailpit:
image: axllent/mailpit:latest
@@ -44,14 +44,8 @@ services:
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
- uploads:/srv/uploads
- ./data/caddy/data:/data
- ./data/caddy/config:/config
- ./data/uploads:/srv/uploads
depends_on:
- app
volumes:
pgdata:
caddy_data:
caddy_config:
uploads: