Personal media storage — Go serverless API on AWS + CLI client with automatic compression.
cp server/infra/.env.example server/infra/.env
# Edit .env with your AWS profile and region
make install # Install dependenciesmake local # Start LocalStack
make local-bootstrap # Bootstrap CDK (first time only)
make local-deploy # Deploy stack to LocalStack
make dev # Run API server on http://localhost:8080make build # Build Lambda binaries
make deploy # Deploy to AWSmake local-down # Stop LocalStack
make clean # Clean build artifactsCLI tool to upload files to GoAttic with automatic compression.
make fetch-ffmpeg # Download ffmpeg binary for your platform
make -C client build # Build the goattic binary → client/build/goatticAdd client/build/ to your PATH or copy the binary somewhere convenient.
goattic configurePrompts for your API URL and API key, saved to your platform config directory.
goattic config # Show current configgoattic <file>Images (.jpg, .jpeg, .png) and videos (.mov, .mp4) are automatically compressed before upload. The public URL is printed on success and a desktop notification is shown.
| Format | Compression |
|---|---|
.jpg / .jpeg |
Re-encoded at quality 80 |
.png |
Best compression |
.mp4 / .mov |
H.264 CRF 28, AAC 128k (requires ffmpeg) |