Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Docker Compose with pre-built images from a container repository #13

Open
alobbs opened this issue Dec 19, 2024 · 3 comments

Comments

@alobbs
Copy link

alobbs commented Dec 19, 2024

Feature Request: Currently, the Docker Compose file relies on local sources to build and run Abbey. To improve ease of installation in certain environments, it would be beneficial to provide a Docker Compose configuration that uses pre-built images from a container repository (e.g., Docker Hub).

@gkamer8
Copy link
Contributor

gkamer8 commented Dec 19, 2024

Thanks, yeah this was definitely something I thought about doing before the recent release. The reason I didn't do it was to keep deploying easier while I'm fixing little bugs that are coming up. There's also a question of what to do with the various containers needed to support Abbey.

I could run a bunch of processes in one container, or split them up (so, you'd do docker compose with Redis, MySQL, plus a prebuilt Abbey backend, prebuilt frontend, then prebuilt backend with different commands to do Celery/db_pooler which share the same dockerfile) – not sure which is more preferable for people. Options would be:

  • Make all 6 different services using 2 Abbey prebuilt images, where each container is running 1 process
  • Make 4 different services using 2 Abbey prebuilt images where the backend container is running 3 processes
  • Make 3 different services using 1 Abbey prebuilt image where the backend / frontend / db_pooler / celery are all combined.
  • Make 2 different services, same as before but including Redis in the prebuilt image
  • Make 1 big service which includes the MySQL db as well

Thoughts?

@alobbs
Copy link
Author

alobbs commented Dec 19, 2024

I would use public base images for Redis (image: redis:latest) and MySQL (image: mysql:latest). In the case of Celery, it'd run in its own container based on the python:latest image (+ pip?).

I'm not sure about the Abbey services, though. You're the expert :)

@gkamer8
Copy link
Contributor

gkamer8 commented Dec 19, 2024

Thanks, I'll have to think about it some more. I think when I tackle this, I will also tackle the issue with the size of the images (way way too big right now).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants