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
- for zero downtime, set preboot:
heroku features:enable preboot -a <app>