Discord user app for personal random image/GIF buckets.
apps/server: Rust Axum server, Discord interactions endpoint, OAuth/session routes, SQLite persistence.apps/web: Next.js static dashboard using shadcn/ui.- Production: one Docker container, one Rust process, static web assets served by Rust.
cargo test
cargo run -p memebucket-servercd apps/web
npm install
npm run builddocker build -t memebucket .
docker run --env-file .env -p 8080:8080 -v "$PWD/data:/app/data" memebucketConfigure the Discord Interactions Endpoint URL to:
https://your-cloudflare-tunnel-domain.example/discord/interactions
The app does not persist raw Discord user IDs. It stores an HMAC-SHA256 user key derived from the Discord user ID and APP_USER_KEY_SECRET.