Spiffy up the continerized dev README
- Fold lines at 80 chars - Add more instructions to help bootstrap the stack
This commit is contained in:
parent
64d2c5aeb9
commit
4ecd044788
1 changed files with 24 additions and 5 deletions
|
@ -1,28 +1,44 @@
|
||||||
# Docker suite for development
|
# Docker suite for development
|
||||||
|
|
||||||
**NOTE**: This exists only for local development. If you're interested in using Docker for a production setup, visit the [docs](https://listmonk.app/docs/installation/#docker) instead.
|
**NOTE**: This exists only for local development. If you're interested in using
|
||||||
|
Docker for a production setup, visit the
|
||||||
|
[docs](https://listmonk.app/docs/installation/#docker) instead.
|
||||||
|
|
||||||
### Objective
|
### 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.
|
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
|
## Setting up a dev suite
|
||||||
|
|
||||||
To spin up a local suite of
|
To spin up a local suite of:
|
||||||
|
|
||||||
- PostgreSQL
|
- PostgreSQL
|
||||||
- Mailhog
|
- Mailhog
|
||||||
- Node.js frontend app
|
- Node.js frontend app
|
||||||
- Golang backend 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
|
### Setup DB
|
||||||
|
|
||||||
|
Running this will build the appropriate images and initialize the database.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make init-dev-docker
|
make init-dev-docker
|
||||||
```
|
```
|
||||||
|
|
||||||
### Start frontend and backend apps
|
### Start frontend and backend apps
|
||||||
|
|
||||||
|
Running this start your local development stack.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make dev-docker
|
make dev-docker
|
||||||
```
|
```
|
||||||
|
@ -39,5 +55,8 @@ make rm-dev-docker
|
||||||
|
|
||||||
### See local changes in action
|
### 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.
|
- Backend: Anytime you do a change to the Go app, it needs to be compiled. Just
|
||||||
- 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.
|
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.
|
||||||
|
|
Loading…
Reference in a new issue