Simple skeleton in order to quickly start a new project with the following technologies:
Each technology is containerized for easy development
* Backend: Adonis.js
* Frontend: vue client
* Data: database (mysql or mariadb)
While the containers are running, the backend and frontend will auto refresh when making changes to the application code. No need to rebuild the containers.
make build
make dev
make migrate
ref: https://www.youtube.com/watch?v=4axmcEZTE7M
- Create (if not there) a
heroku.yml
file at the root of the project with:
build:
docker:
web: adonis.deploy.dockerfile
- Create a pipeline on heroku.
- Modify the stack to
container
for the pipeline:
heroku stack:set container --app <app-name>
-
Create a staging application
-
Add a config var for
APP_KEY
-
Deploy with branch
-
You will need to map all env vars from the heroku dashboard manually to the
build/.env
file in the dockerfile or pre-deploy scripts
- for zero downtime, set preboot:
heroku features:enable preboot -a <app>