ideas
ideas copied to clipboard
"Forever" Github Storage 🌐💾
Project description
The fact that all of our code projects are safely hosted on git should not be taken for granted. But what if I want the same benifites for all my other (important or common) files. This project aims to create an easy way to set up a multi git repo sync to your computer(s).
Have a main folder that is watched and auto syncs subfolders as git repos. Creating new folders in this main directory should open a new repo with that name, file changes should be auto committed every few minutes or manually when chosen, as simple backups or important bookmarks. Every verified device could use it's own branch , and can be easily set as main branch while renaming previous main as mainBackupDatetime. In the main directory folder there could be two folders - public and private - opening a folder in each of them should mark the repo public/private automatically respectively
If we can achieve this will minimal recurring setup, then we can have sort of open source synced filesystem cloud drive. Making easy to transfer between computers, publishing pubic projects, and keeping important files safe "forever".
Could add an option to autoencrypt data before uploading for those who love for extra security - there will be a mirror of the main folder, but encrypted, and it is the one that will be synced on GitHub
Option to have easy migration from GitHub to another git platform
Relevant Technology
Git GitHub api Python for cross platform file watchdog rsync ?
Guessing that there are some well tested platforms that utiles git sync, need to understand how to wrap one up nicely, allowing easy setup, simple structure as described, and easy control options such as saving a labeled (not autobackup) commit for a project/entire main directory of repos, and changing repo settings.
Complexity and required time
I'm guessing the hardest parts are:
- Getting plugged in correctly to the github api and setting ups credentials automatically, allowing simple signin per user to their account in a way that is secure and also allows managing (at least some) repos
- Making a robust protocol for filewatching, branch coping, and git commiting based on the principles mentioned prior
Complexity
- [ ] Beginner - This project requires no or little prior knowledge of the technolog(y|ies) specified to contribute to the project
- [x] Intermediate - The user should have some prior knowledge of the technolog(y|ies) to the point where they know how to use it, but not necessarily all the nooks and crannies of the technology
- [x] Advanced - The project requires the user to have a good understanding of all components of the project to contribute
Required time (ETA)
- [ ] Little work - A couple of days
- [x] Medium work - A week or two
- [x] Much work - The project will take more than a couple of weeks and serious planning is required
Categories
- [ ] Mobile app
- [ ] IoT
- [ ] Web app
- [ ] Frontend/UI
- [ ] AI/ML
- [x] APIs/Backend
- [ ] Voice Assistant
- [x] Developer Tooling
- [ ] Extension/Plugin/Add-On
- [ ] Design/UX
- [ ] AR/VR
- [ ] Bots
- [ ] Security
- [ ] Blockchain
- [x] Futuristic Tech/Something Unique
To quote GitHub wiki
Git is not designed to serve as a backup tool.
This can quickly make GitHub take action (and I don't doubt they will if it becomes widespread enough)
We recommend repositories remain small, ideally less than 1 GB, and less than 5 GB is strongly recommended. Smaller repositories are faster to clone and easier to work with and maintain. If your repository excessively impacts our infrastructure, you might receive an email from GitHub Support asking you to take corrective action.
Thank you for the info :) I'm aware that the platform is not originally suted as an optional storage solution, but as I see it 1-5 gb per repo is a lot to play with
This is not meant to backup media or large files, it's like a pocket, like google drive. It has its capacity and limitations but if it's dead simple to use it could be quite handy