Otaku
A simple jwt based image upload server that works off bunny CDN
Building for development
mix deps.get
iex -S mix
Building for production
docker build otaku .
docker run -it -p 4000:4000 --name otaku -e OTAKU_ACCESS_KEY=<your_access_key_here> -e OTAKU_STORAGE=<storage_name_here> otaku
Processing requests
POST /upload
-
Headers
- Authorization="Bearer $YOUR_GOOGLE_SIGNED_JWT"
- Content-Type="multipart/form-data"
-
Form-Data
- image: file binary
-
Response: { "url": "$OTAKU_CDN_URL/$USER_ID/$IMAGE_NAME" }
Todo
- Rate limiting
- Role checks using jwt claims
- Separate endpoints that accepts API keys for pre-approved users using ShareX and the like