by MasterSJit

GitHub 💼 Build Status

Create your own free unlimited cloud storage! Our tool uses GitHub-as-a-storage to save there the uploaded files. You can use our deployed tool or run it by yourself - see below for instructions.

How to deploy

Deploy to Heroku

TL;DR: you need to create a GitHub token and add it to deployed repo as GITHUB_TOKEN environment variable.

Or just watch a video:

Morejust storage installation demo

Step-by-step guide

1️⃣ Create GitHub token

  1. Register on GitHub and go to Settings -> Developer Settings -> Personal Access Tokens -> Generate new token
  2. Give it a random name, select public repo and scroll below and smash Generate. You don't have to add any additional rights if you want to store your files on public repositories.

3. Copy generated GitHub token and go to the next part: deployment.

2️⃣ Deploy to Heroku

Heroku allows to create free small machines and deploy from GitHub in one click. You will need to have a Heroku account to proceed, so please register.

  1. Press the button below to deploy with one click

Deploy to Heroku

  1. Choose any app name you like

  1. Click the 'Manage App' at the bottom of the page

  2. Click 'Settings' and 'Reveal Config Vars'

  3. Set the key to GITHUB_TOKEN and the value to the generated on the previous steps GitHub token.

  1. Smash 'Open app' and enjoy!

Run Client & Server locally

If you don't like . Heroku, you can deploy manually.

git clone

Start server:

npm run dev

Start client:

cd client
npm start

All Environment Variables

Here is the list of all possible config variables that can be changed (except GITHUB_TOKEN that is required and was set earlier). If you decide to use this config variables, you should specify them as environment variables.

  1. BLOCK_SIZE_MB - max block (github repo) size. Default value = 1000
  2. MAX_FILE_SIZE_MB - max file size that can be uploaded. Default value = 100
  3. GITHUB_ORGANIZATION - used to create blocks in the organization Github account, not in your private account. Default value - not set.

Technical details


To use this heroku-deploy branch:

git checkout heroku-deploy
git fetch
git reset --hard origin/master
npm run build-front
git add client/build
git commit --allow-empty -m "build heroku"
git push --force
git checkout master

or simply

npm run deploy

How to use script

From any folder you can launch:


Keep in mind that you should have a push access to the repository. If you want to create a new repo for files (we call it 'block'), you should have the rights to create a new repo.