Is your feature request related to a problem? Please describe.
Currently, if you run docker-compose up, two Docker containers are spawned: one for Fonduer and another for PostgreSQL.
This was easy for developer perspective, but it may not necessarily good for users.
For example, you want to deploy this tutorials on JupyterHub or Kubeflow, but it is not possible because they can only deploy a single Docker image. Maybe there is a way but it is not straight-forward.
Describe the solution you'd like
Install Fonduer and PostgreSQL in a single Docker image.
Describe alternatives you've considered
In the longer-term, we may be able to remove the PostgreSQL dependency from Fonduer, but it takes time and much more work.
Additional context
When I first created a Docker image for this tutorials, I made this architectural decision (ie two containers).
This is because it was a lot easier than installing both in a single image. Also partly because this architecture looked against the best practice:
It is generally recommended that you separate areas of concern by using one service per container.
https://docs.docker.com/config/containers/multi-service_container/
Now I see it the other way around. Postgres is tightly coupled by Fonduer, in fact Fonduer does not work without it. From user perspective, they provide a single service.
Is your feature request related to a problem? Please describe.
Currently, if you run
docker-compose up, two Docker containers are spawned: one for Fonduer and another for PostgreSQL.This was easy for developer perspective, but it may not necessarily good for users.
For example, you want to deploy this tutorials on JupyterHub or Kubeflow, but it is not possible because they can only deploy a single Docker image. Maybe there is a way but it is not straight-forward.
Describe the solution you'd like
Install Fonduer and PostgreSQL in a single Docker image.
Describe alternatives you've considered
In the longer-term, we may be able to remove the PostgreSQL dependency from Fonduer, but it takes time and much more work.
Additional context
When I first created a Docker image for this tutorials, I made this architectural decision (ie two containers).
This is because it was a lot easier than installing both in a single image. Also partly because this architecture looked against the best practice:
https://docs.docker.com/config/containers/multi-service_container/
Now I see it the other way around. Postgres is tightly coupled by Fonduer, in fact Fonduer does not work without it. From user perspective, they provide a single service.