diff --git a/stacks/resume/docker-compose.yml b/stacks/resume/docker-compose.yml index 8352856..00a02d6 100644 --- a/stacks/resume/docker-compose.yml +++ b/stacks/resume/docker-compose.yml @@ -3,6 +3,7 @@ # Volume -> bind-mount conversions (tiered per density policy): # postgres data -> /config/resume/postgres (SSD; DB, low density) # minio data -> /storage1/labdata/resume/minio (ZFS; object store, blobs) +# app uploads -> /storage1/labdata/resume/data (ZFS; blobs, see app below) # The Chrome service is stateless. app + resume-minio join edge (resume.ginnoir.com, # storage.j-costa.com, minio.ginnoir.com); postgres stays private. @@ -75,6 +76,13 @@ services: networks: [resume, edge] ports: - "3000:3000" + volumes: + # The v5 rewrite stores uploads on the local filesystem + # (LOCAL_STORAGE_PATH=/app/data is baked into the image) and ignores the + # STORAGE_*/MinIO vars below — /api/health reports storage type "local". + # Without this bind, avatars and exports sit in the container's writable + # layer and are lost on every recreate, including Watchtower's. + - /storage1/labdata/resume/data:/app/data depends_on: postgres: condition: service_healthy