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

Support for separate workers #105

Closed
wants to merge 2 commits into from

Conversation

0x0013
Copy link

@0x0013 0x0013 commented Jun 30, 2024

This PR enables running microservices in a separate container again.

With defaults, this should render the same as in previous version v0.7.0.

When .Values.microservices.enable is set to true:

  • separate microservices deployment will be created, with IMMICH_WORKERS_INCLUDE variable set to microservices
  • default api server deployment will have environment variable IMMICH_WOKERS_EXCLUDE set to microservices
  • if .Values.immich.metrics.enabled is true, the microservices metrics port and relevant serviceMonitor port will only be exposed on main api server if separate microservices deployment is disabled - otherwise it will be exposed in its own service

fixes #94

@bo0tzz
Copy link
Member

bo0tzz commented Jun 30, 2024

Thanks for the PR! The plan is to make the workers configuration more granular, so there's separate entries for tasks like transcoding etc etc. My goal with #94 is to have the option to configure any amount of containers with arbitrary workers enabled. This PR essentially ends up just reverting #99, which is not the intent. As such I'll unfortunately need to close it, but thank you for the effort!

@bo0tzz bo0tzz closed this Jun 30, 2024
@0x0013
Copy link
Author

0x0013 commented Jun 30, 2024

@bo0tzz thanks for the clarification. It makes sense and I did consider if this could be made more granular - the IMMICH_WORKERS_EXCLUDE variable to the api server could be dynamically constructed to exclude any workers that are specifically enabled, which is why I opted for that variable instead of just setting IMMICH_WORKERS_INCLUDE to api - to ensure all (future) possible workers are covered. However, since immich currently only supports api and microservices, I didn't see the point of a more complex implementation at this point in time.

Looking forward to a more generic implementation for this. I will continue using my fork in the meantime, since I need to use some elevated permissions to the microservices container to be able to utilize HW encoding, and I would not want to do that on the more exposed web access container.

@bo0tzz
Copy link
Member

bo0tzz commented Jun 30, 2024

Thanks for the effort, and sorry to close this!

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

Successfully merging this pull request may close these issues.

Add support for running separate workers
2 participants