This pull request adds a Dockerfile and docker-compose.yml configuration for the bot. It builds against Python 3.9 for both dev-like and prod-like environments.
Of note in this Docker configuration:
Bind mounds are not provided by default through docker-compose.yml. This can be overridden by end developers if they so choose, but exists to provide easier compatibility and reproducibility in IDE-based development situations.
Poetry's venv components are disabled entirely, instead installing things to system directly. As this is happening within a Docker context, this should be fine.
Redis is ready at redis://redis:6379 with persistence enabled and stored to a volume. By default, Redis is also exposed on host port 6379.
An environment variable APP_ENV exists, which when set to production will disable the installation of dev-level dependencies as specified in pyproject.toml.
This pull request adds a
Dockerfile
anddocker-compose.yml
configuration for the bot. It builds against Python 3.9 for both dev-like and prod-like environments.Of note in this Docker configuration:
docker-compose.yml
. This can be overridden by end developers if they so choose, but exists to provide easier compatibility and reproducibility in IDE-based development situations.venv
components are disabled entirely, instead installing things to system directly. As this is happening within a Docker context, this should be fine.redis://redis:6379
with persistence enabled and stored to a volume. By default, Redis is also exposed on host port 6379.APP_ENV
exists, which when set toproduction
will disable the installation of dev-level dependencies as specified inpyproject.toml
.