OnyxBin is a self-hosted file sharing platform that uses Telegram as the binary storage backend, Neon Postgres for metadata, and Neon Auth for signed-in users.
apps/web: Next.js frontend with Stack Auth integrationapps/api: FastAPI backend for storage, sharing, and Telegram chunk orchestrationinfra: Docker Compose and reverse-proxy configuration for VPS deployment
- Copy
apps/web/.env.exampletoapps/web/.env.local. - Copy
apps/api/.env.exampletoapps/api/.env. - Install web dependencies with
npm installfrom the repository root. - Create a Python virtual environment inside
apps/apiand install the package in editable mode. - Run the web app with
npm run dev:web. - Run the API with
uvicorn app.main:app --reloadfromapps/api.
- Telegram credentials must remain server-side only.
- Share links are generated by the API and never expose raw Telegram identifiers.
- Anonymous uploads are stored as guest-owned records and can later be claimed by a signed-in user.