@@ -0,0 +1,62 @@
|
||||
# Docker suite for development
|
||||
|
||||
**NOTE**: This exists only for local development. If you are interested in using
|
||||
Docker for a production setup, see the installation page in the docs
|
||||
(`docs/docs/content/installation.md`) instead.
|
||||
|
||||
### Objective
|
||||
|
||||
The purpose of this Docker suite for local development is to isolate all the dev
|
||||
dependencies in a Docker environment. The containers have a host volume mounted
|
||||
inside for the entire app directory. This helps us to not do a full
|
||||
`docker build` for every single local change, only restarting the Docker
|
||||
environment is enough.
|
||||
|
||||
## Setting up a dev suite
|
||||
|
||||
To spin up a local suite of:
|
||||
|
||||
- PostgreSQL
|
||||
- Mailhog
|
||||
- Node.js frontend app
|
||||
- Golang backend app
|
||||
|
||||
### Verify your config file
|
||||
|
||||
The config file provided at `dev/config.toml` will be used when running the
|
||||
containerized development stack. Make sure the values set within are suitable
|
||||
for the feature you're trying to develop.
|
||||
|
||||
### Setup DB
|
||||
|
||||
Running this will build the appropriate images and initialize the database.
|
||||
|
||||
```bash
|
||||
make init-dev-docker
|
||||
```
|
||||
|
||||
### Start frontend and backend apps
|
||||
|
||||
Running this start your local development stack.
|
||||
|
||||
```bash
|
||||
make dev-docker
|
||||
```
|
||||
|
||||
Visit `http://localhost:8080` on your browser.
|
||||
|
||||
### Tear down
|
||||
|
||||
This will tear down all the data, including DB.
|
||||
|
||||
```bash
|
||||
make rm-dev-docker
|
||||
```
|
||||
|
||||
### See local changes in action
|
||||
|
||||
- Backend: Anytime you do a change to the Go app, it needs to be compiled. Just
|
||||
run `make dev-docker` again and that should automatically handle it for you.
|
||||
- Frontend: Anytime you change the frontend code, you don't need to do anything.
|
||||
Since `yarn` is watching for all the changes and we have mounted the code
|
||||
inside the docker container, `yarn` server automatically restarts.
|
||||
Reference in New Issue
Block a user