Skip to content

Rizirfan/Teledrive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TeleDrive

TeleDrive is a production-ready cloud storage web application using:

  • Backend: Python FastAPI, SQLAlchemy, Alembic, Redis
  • Storage backend: Telegram via Telethon (single private channel per deployment)
  • Frontend: React + TypeScript + Tailwind CSS
  • Deployment: Docker Compose + Nginx

Note: Users never access Telegram directly. The backend uploads/downloads via the Telegram provider and persists only metadata/message IDs in PostgreSQL.


Architecture (high level)

  • Auth: Mobile number + OTP + JWT access/refresh tokens (refresh rotation), device tracking, login history
  • RBAC: Admin/User roles
  • Storage abstraction: StorageProvider interface (Telegram implemented first; S3-compatible later)
  • Background workers: upload jobs queued and processed asynchronously

Repo structure

  • backend/ FastAPI app
  • frontend/ React app
  • infra/ Docker, Nginx, env templates

Getting started (dev)

  1. Copy env templates:
    • cp infra/backend/.env.example infra/backend/.env
    • cp infra/frontend/.env.example infra/frontend/.env
  2. Start services:
    • docker compose up --build
  3. Visit:
    • Frontend: http://localhost/
    • API/Swagger: http://localhost/api/docs

Deployment

See infra/DEPLOYMENT.md.

Teledrive

About

TeleDrive TeleDrive is a production-ready cloud storage web application

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages