DEV Community

Cover image for Deploying h5ai on heroku and using git as a storage
Chityanj
Chityanj

Posted on

Deploying h5ai on heroku and using git as a storage

heroku

h5ai!

h5ai
h5ai is a modern file indexer for HTTP web servers with focus on your files. Directories are displayed in a appealing way and browsing them is enhanced by different views, a breadcrumb and a tree overview. Initially h5ai was an acronym for HTML5 Apache Index but now it supports other web servers too.

Deploying h5ai

Fork h5ai on heroku using git as a storage!
The whole file structure for this app is like this:

your git repo folder
  ├─ .gitignore
  ├─ composer.json
  ├─ composer.lock
  ├─ Procfile
  └─ web
      ├─ _h5ai
      ├─ your files
      ├─ and folders
      ├─ more folder or files
      └─ .htaccess
Enter fullscreen mode Exit fullscreen mode

On Heroku - Uses heroku dyno shared storage

Deploy it using heroku cli

$ git remote set-url origin <your heroku app git url>
# Put your Files and Folders under web/ directory
$ git commit -m "update files"
$ git push heroku master
Enter fullscreen mode Exit fullscreen mode

On GitHub - 100 mb file size limit repo size limit 100gb

Open your heroku app and go to deployment and choose the forked repo
Upload files either using github web interface or cli

# Put your Files and Folders under web/ directory
$ git commit -m "update files"
$ git push 
Enter fullscreen mode Exit fullscreen mode

On Gitlab -1gb file size limit 10gb repo size limit

Import the project to your gitlab account and create a .gitlab-ci.yml inside the project repo
Copy the below code to .gitlab-ci.yml

heroku:
 stage: deploy

 script:
 - apt-get update -qy
 - apt-get install -y ruby-dev
 - gem install dpl
 - dpl --provider=heroku --app=$HEROKU_APP_PRODUCTION --api-key=$HEROKU_API_KEY

 only:
 - master
Enter fullscreen mode Exit fullscreen mode

You will need to create two CI/CD variables go to project setting> CI/CD> Variables

$HEROKU_APP_PRODUCTION #Name of your app
$HEROKU_API_KEY # heroku account api key get it from your heroku account settings
Enter fullscreen mode Exit fullscreen mode

Upload files either using github web interface or cli

# Put your Files and Folders under web/ directory
$ git commit -m "update files"
$ git push 
Enter fullscreen mode Exit fullscreen mode

Enjoy!

Top comments (0)