Skip to content

DebadityaHait/OnyxBin

Repository files navigation

OnyxBin

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.

Monorepo Layout

  • apps/web: Next.js frontend with Stack Auth integration
  • apps/api: FastAPI backend for storage, sharing, and Telegram chunk orchestration
  • infra: Docker Compose and reverse-proxy configuration for VPS deployment

Local Development

  1. Copy apps/web/.env.example to apps/web/.env.local.
  2. Copy apps/api/.env.example to apps/api/.env.
  3. Install web dependencies with npm install from the repository root.
  4. Create a Python virtual environment inside apps/api and install the package in editable mode.
  5. Run the web app with npm run dev:web.
  6. Run the API with uvicorn app.main:app --reload from apps/api.

Notes

  • 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.

About

OnyxBin is a self-hosted cloud storage and file sharing platform built with Next.js and FastAPI. It uniquely leverages Telegram as a binary object store, Neon Postgres for metadata, and Stack Auth for user identity.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages