Project details
SeharaCloud is a self-hosted media cloud solution designed for music, videos, documents, and images without intrusive ads. With a powerful backend built in C++ and ASP.NET Core, files are auto-indexed and served via a REST API to various clients including mobile apps and web frontends.
SeharaCloud is a powerful self-hosted media cloud system designed for seamless management of music, videos, documents, and images, completely free from advertisements. This platform allows users to store, access, and organize their media without relying on third-party services.
staging/ directory through methods like scp, rsync, or yt-dlp.FileProcessor handles calculations such as SHA-256 for deduplication, metadata extraction, and thumbnail generation.flowchart LR
A["scp / rsync / yt-dlp"] -->|write| B[("staging/")]
B -->|"IN_CLOSE_WRITE / IN_MOVED_TO"| C["Watcher (inotify)"]
C --> D["FileProcessor\nSHA-256 · TagLib · ffprobe · Poppler · Magick++"]
D -->|INSERT metadata| E[("PostgreSQL")]
D -->|move file| F[("media/ — physical")]
G["ASP.NET Core API"] -->|SELECT| E
G -->|"PhysicalFile + Range"| F
H["Frontend / Mobile App"] -->|"REST"| G
| Layer | Technology |
|---|---|
| Indexer | C++17, libpqxx, TagLib, Magick++, poppler-cpp, OpenSSL, inotify |
| API | ASP.NET Core (.NET 9), Dapper, Npgsql |
| Database | PostgreSQL 16 (pgcrypto, pg_trgm) |
| Deployment | Docker Compose for managing services |
The native Android app, SeharaCloud.MobileApp, utilizes Kotlin and Jetpack Compose, providing a unique user experience for browsing and playing media directly from a mobile device. Key features include:
The app connects to the REST API, ensuring smooth communication and easy access to the powerful features of SeharaCloud, making media management on-the-go efficient and user-friendly.
For detailed documentation, including project structure, API endpoints, and customization options, refer to the project README. SeharaCloud aims to provide users with a comprehensive self-hosted solution for managing their media collections effectively.
Comments
0Start the conversation
Share the first comment.