Replace the Node prototype (server.mjs) with the stack the merge plan calls for: Go 1.25, Gin for routing, GORM + MariaDB for persistence. Same wire contract on /api/sidecar/* so the SvelteKit client doesn't change. - Marks move from a JSON file on disk to mule_sidecar.marks (auto- migrated by GORM on first boot). The Node prototype's marks.json was dev-only; not migrated. - Folder/rename/heap-convert/duplicates handlers reproduce the prototype's behaviour, including the path-traversal defence (resolveUnderRoot + EvalSymlinks), the size-bucket prefilter for the duplicate hasher, and the background reindex fire-and-forget pattern. - Auth model unchanged: requireSession middleware proxies the caller's X-Auth-Token to PhotoPrism's /api/v1/photos?count=1 before any destructive op. - Expose pp-mariadb on 127.0.0.1:3306 in docker-compose so the host Go process can reach mule_sidecar.* without joining the container network. - Archive the Node prototype under sidecar/legacy/server.mjs for one cycle as reference. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
84 lines
965 B
Plaintext
84 lines
965 B
Plaintext
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.so
|
|
.Python
|
|
env/
|
|
venv/
|
|
ENV/
|
|
env.bak/
|
|
venv.bak/
|
|
*.egg-info/
|
|
.pytest_cache/
|
|
.coverage
|
|
htmlcov/
|
|
.mypy_cache/
|
|
.ruff_cache/
|
|
|
|
# Node
|
|
node_modules/
|
|
dist/
|
|
dist-ssr/
|
|
*.local
|
|
.npm
|
|
.pnp.*
|
|
.yarn/*
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
.DS_Store
|
|
|
|
# Environment
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
.env.photoprism
|
|
|
|
# Database
|
|
*.db
|
|
*.sqlite
|
|
*.sqlite3
|
|
/data/
|
|
|
|
# Logs
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
pnpm-debug.log*
|
|
lerna-debug.log*
|
|
|
|
# Build
|
|
build/
|
|
*.pid
|
|
*.seed
|
|
*.pid.lock
|
|
|
|
# Docker
|
|
docker-compose.override.yml
|
|
|
|
# PhotoPrism state (sidecars, cache, thumbs, db backups) — regenerable.
|
|
/pp/storage/
|
|
/pp/import/
|
|
|
|
# Local-dev sample photo library used for M0 PhotoPrism validation.
|
|
/photos-sample/
|
|
|
|
# Sidecar runtime state (per-user marks etc.) — generated, not seed data.
|
|
/sidecar/data/
|
|
|
|
# Sidecar Go build output.
|
|
/sidecar/mule-sidecar
|
|
|
|
# Photos (for development)
|
|
/photos/
|
|
|
|
# Thumbnails
|
|
/thumbs/
|
|
/trash/backend/yolov8n.pt
|