Add photo content-hash dedup and local↔S3 library sync.
Uploads skip per-gallery duplicates, checksums can be backfilled, and STORAGE_BACKEND plus sync tooling make switching storage backends safe.
This commit is contained in:
+11
-2
@@ -1,11 +1,11 @@
|
||||
.PHONY: start build test migrate clean help
|
||||
.PHONY: start build test migrate sync-to-s3 sync-to-local backfill-checksums clean help
|
||||
|
||||
BINARY := bin/photo-api
|
||||
CMD := ./cmd/photo-api
|
||||
|
||||
help: ## Show available targets
|
||||
@grep -E '^[a-zA-Z_-]+:.*?##' $(MAKEFILE_LIST) | \
|
||||
awk 'BEGIN {FS = ":.*?## "}; {printf " %-12s %s\n", $$1, $$2}'
|
||||
awk 'BEGIN {FS = ":.*?## "}; {printf " %-19s %s\n", $$1, $$2}'
|
||||
|
||||
start: ## Run the photo-api server (go run)
|
||||
go run $(CMD)
|
||||
@@ -19,5 +19,14 @@ test: ## Run all Go tests
|
||||
migrate: ## Apply pending photos_* migrations
|
||||
go run $(CMD) migrate
|
||||
|
||||
sync-to-s3: ## Copy the photo library from local disk to S3 (needs both in .env)
|
||||
go run $(CMD) sync to-s3
|
||||
|
||||
sync-to-local: ## Copy the photo library from S3 back to local disk
|
||||
go run $(CMD) sync to-local
|
||||
|
||||
backfill-checksums: ## Hash photos uploaded before duplicate detection existed
|
||||
go run $(CMD) backfill-checksums
|
||||
|
||||
clean: ## Remove built binary
|
||||
rm -rf bin
|
||||
|
||||
Reference in New Issue
Block a user