Proposal: Replace local build with volume-based system #347
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This proposed change replaces the on-demand builds introduced in 97198dc with a volume-based system. Local builds take considerably longer to perform and are more cumbersome for end users - not to mention they would make an entire step in our CI workflow, publishing the main image to Docker Hub, pointless. The new docker-compose configuration mounts the WildBeast install directory to the main container (wildbeast_wildbeast_1). As a result, changes made to the source code will be reflected in the Docker container immediately (WYSIWYG behaviour) and are available on the public facing side of the bot after a process restart.
This should in my opinion, however, not replace the decoupling process. There are still cases where the decoupling process can be useful, such as when live reloading with programs like Nodemon is warranted - something this volume setup has no answer for. I suggest that the decoupling guide is kept in place as an alternative running mode as a result of this.
In addition, to reflect this change, the decoupling guide has been updated with a notice to reconsider if the process is necessary for the purposes of the reader, in light of already being able to make changes as a result of the volume setup.