Docker ​
All the required config files for docker are shipped with new Jesse projects.
🎥 Video Tutorial
If you are a visual learner, try watching this YouTube video that covers using Jesse with Docker.
The video also covers enabling code intellisense in VSCode which is a great tool for faster development.
Install Docker ​
If you are on macOS or Windows I suggest installing the Docker for Desktop app if you haven't already. If you are on Ubuntu, here are the steps:
# install docker
curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh
# install docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose
Starting containers ​
If you haven't created a Jesse project yet, make sure to do so. Next we can start the containers.
All the config files for Docker are present inside your project's docker
directory. If it's not, just copy it from this repository.
Then inside the terminal make sure you are in the project root, open the docker
directory and run the docker-compose command:
# open the `docker` directory
cd docker
# run without the "-d" flag to see the output
docker-compose up -d
The first time you do this, you have to wait until the images are downloaded. This can take a few minutes. Next times, will be much faster however, still it might take more than 10 seconds to start all the services.
That's it! Now open localhost:9000 in your browser to see the dashboard.
Stopping container ​
To stop the containers, if you started them with the -d
flag, you can just run the following command:
docker-compose stop
If you did it without the -d
flag (so you can see the outputs in the terminal), you stop containers by pressing Ctrl
+ c
on your keyboard.
Changing the port ​
If you want to change the default 9000
port, you can do it by modifying the APP_PORT
value in your project's .env
file.
Sharing the database across instances. ​
You can use the same database by sharing the volume of the postgres container. Just add external: true
to the docker-compose.yml
of the new instance you create, like shown below. This tells docker to not create a new volume, but use the external existing one.
volumes:
postgres-data:
external: true