AnthonyAltieri / BlockStorage

Lightweight self-hosted alternative to cloud storage

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BlockStorage

An open source self-hosted cloud storage solution with fault tolerance and upload/download optimization

Why this was built

I began this project to familiarize myself with the Thrift framework but began to see the benefits of creating an open source solution to cloud storage so I began adding features as my personal use warranted them. Personally I run this storage server on a Rasberry Pi with a 128GB USB on my home network which allows me to keep an easy to manage distributed drive for all the computers in my home.

Advantages

  • Customizable -- You determine where your data is stored and by how many nodes
  • Open Source -- Work with the community to build a better block storage solution
  • Multi-platform -- Built with Python (with Thrift generating the RPC elements) so it runs almost everywhere

Notes

  • Block size is set to 4MB, but that can be changed within the BlockService.py
  • Has two modes based on how many metadata servers are found within the config file: ONE_METADATA_SERVER and MULTIPLE_METADATA_SERVER, where the former has no fault tolerance for the metadata servers but the later does.

Todos (features that need to be released):

  • End-to-end encryption
  • Electron User-Interface
  • Compression
  • Phone Client

Suggestions

If you think of a feature that would be helpful to have for this service please open a ticket on the Issues tab with a questions label on it and I'll promptly respond.

Fork and play around with it for yourself!

About

Lightweight self-hosted alternative to cloud storage

License:MIT License


Languages

Language:Python 88.7%Language:Thrift 5.9%Language:Shell 5.3%