Uploads skip per-gallery duplicates, checksums can be backfilled, and STORAGE_BACKEND plus sync tooling make switching storage backends safe.
33 lines
896 B
Makefile
33 lines
896 B
Makefile
.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 " %-19s %s\n", $$1, $$2}'
|
|
|
|
start: ## Run the photo-api server (go run)
|
|
go run $(CMD)
|
|
|
|
build: ## Build binary to bin/photo-api
|
|
go build -o $(BINARY) $(CMD)
|
|
|
|
test: ## Run all Go tests
|
|
go test ./...
|
|
|
|
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
|