Add some info to the README.md about the local development docker containers (#1114)

This commit is contained in:
jbirddog 2024-02-27 18:03:37 -05:00 committed by GitHub
parent b0dbdfb192
commit 78be11d309
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 18 additions and 0 deletions

View File

@ -67,6 +67,24 @@ For full instructions, see [Running SpiffWorkflow Locally with Docker](https://w
The `docker-compose.yml` file is for running a full-fledged instance of spiff-arena while `editor.docker-compose.yml` provides BPMN graphical editor capability to libraries and projects that depend on SpiffWorkflow but have no built-in BPMN edit capabilities.
### Using Docker for Local Development
If you have `docker` and `docker compose`, as an alternative to locally installing the required dependencies, you can leverage the development docker containers and `Makefile` while working locally. To use, clone the repo and run `make`. This will build the required images, install all dependencies, start the servers and run the linting and tests. Once complete you can [open the app](http://localhost:8001) and code changes will be reflected while running.
After the containers are set up, you can run `make start-dev` and `make stop-dev` to start and stop the servers. If the frontend or backend lock file changes, `make dev-env` will recreate the containers with the new dependencies.
Please refer to the [Makefile](Makefile) as the source of truth, but for a summary of the available `make` targets.
| Target | Action |
|----|----|
| dev-env | Builds the images, sets up the backend db and installs `npm` and `poetry` dependencies |
| start-dev | Starts the frontend and backend servers, also stops them first if they were already running |
| stop-dev | Stops the frontend and backend servers |
| be-tests-par | Runs the backend unit tests in parallel |
| fe-lint-fix | Runs `npm lint:fix` in the frontend container |
| run-pyl | Runs all frontend and backend lints, backend unit tests |
## Contributing
To start understanding the system, you might: