You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The unanchored ``storage/`` line in .gitignore was intended for the
top-level ./storage/ runtime data dir, but it silently matched
backend/app/storage/ too — the actual storage backend package. Result:
the whole package was never committed, every Docker build picked up a
tree without app/storage/, and the container crashed at boot with
``ModuleNotFoundError: No module named 'app.storage'`` (only visible
when STORAGE_BACKEND=s3 if a local ./backend/app/storage was lying
around from a previous run, otherwise it crashes regardless).
Fixes:
* Anchor data/, storage/, keystores/ to the repo root with leading
slashes — these are runtime mount points, never source folders.
* Bring backend/app/storage/{__init__,base,factory,local,s3}.py back
under version control. They were already in pyproject.toml's import
graph and referenced from app/api/fdroid.py + app/fdroid/repo_builder.py.
Rebuild + redeploy the backend image after pulling this — the cached
ghcr.io/dim145/fdroid-store-backend:latest may also have been built
from a tree missing this package.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>