Currently the B2Share backend, Celery workers and Celery beat processes are running inside the same b2share container. We should enable them to run in different containers.
Why:
Celery workers and B2Share backends need to scale independently.
There should be only one Celery beat service as it does not support high availability yet. Thus it should run in only one container.
The suggested design:
Still have only one Dockerfile but with scripts running either B2Share backend, a Celery worker or Celery beat service depending on an environment variable.
That way we still release only one container type but it can be used in different ways.
Currently the B2Share backend, Celery workers and Celery beat processes are running inside the same b2share container. We should enable them to run in different containers.
Why:
The suggested design: Still have only one Dockerfile but with scripts running either B2Share backend, a Celery worker or Celery beat service depending on an environment variable. That way we still release only one container type but it can be used in different ways.