Skip to content
Deployment package for Masonite
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
masonite_heroku
.gitignore
README.md
setup.py

README.md

deploy

Deployment package for Masonite

Instructions

Heroku CLI Tool

Make sure you have the Heroku CLI tool. This package is simply a wrapper about several commands

Installation

install the package:

$ pip install masonite_deploy

Then add the Service Provider to your PROVIDERS list:

from masonite_heroku.providers import DeployProvider

...

PROVIDERS = [
    # Framework Providers
    AppProvider,
    SessionProvider,
    RouteProvider,
    # 'entry.providers.ApiProvider.ApiProvider',
    StatusCodeProvider,
    
    ...
    # Third Party Providers
    DeployProvider, # Here
    ...
]

You now have access to several new commands. You can see your command by running craft and looking under the heroku namespace.

Setting Up

First you will need to create Procfile in the root of your project (where wsgi.py is located) and put this into it:

web: gunicorn -w 2 wsgi:application

Then add masonite-cli and gunicorn and psycopg2 (or psycopg2-binary) and this package (masonite_deploy) to your requirements.txt:

waitress==1.1.0
masonite==2.0.11

...
masonite_cli
gunicorn
psycopg2-binary
masonite_deploy==0.0.1

Lastly, commit to your origin master branch.

Usage

This package is still in development and you may experience bugs

Deployment

If you have everything above configured then we can deploy with a single command:

craft heroku:deploy --app nameofapp

Let the command run and provision your app

Configs

It's a little annoying to handle configuration files with Heroku if you are used to them being local so you can grab all the configuration variables in Heroku and add them to a local environment file:

$ craft heroku:config --get

This will add all the variables of your heroku app to a .env.production file.

You can do the opposite by using:

$ craft heroku:config --set

This will take all the environment variables and set them into Heroku

You can’t perform that action at this time.