docker-adonis-vue

Simple skeleton in order to quickly start a new project with the following technologies:



Structure

Each technology is containerized for easy development

* Backend: Adonis.js
* Frontend: vue client
* Data: database (mysql or mariadb)

Auto refresh

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.

Getting Started

Build the containers
make build
Start developing
make dev
While the containers are running, migrate the database
make migrate

Deploying to heroku

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

Under a paid plan

heroku features:enable preboot -a <app>