eikek / docspell

Assist in organizing your piles of documents, resulting from scanners, e-mails and other sources with miminal effort.
https://docspell.org
GNU Affero General Public License v3.0
1.66k stars 128 forks source link

[Kubernetes] Add Kubernetes Helm Chart for Docspell #2502

Open TheAnachronism opened 9 months ago

TheAnachronism commented 9 months ago

An often used strategy to deploy something to Kubernetes is per Helm chart. This way, people only have to specify their settings inside a values.yaml file and the chart will take care of generating the correct Kubernetes manifests and configs for the entire application and its dependencies.

Docspell already has somewhat of a Kubernetes deployment with Kustomize, where I've tried to fix some issues in #2498.

TheAnachronism commented 9 months ago

I've published a first version of the helm chart here: https://git.anachronis.dev/TheAnachronism/-/packages/helm/docspell/

Anyone's free to test around with this and suggest any improvements ^^

waldher commented 9 months ago

Thanks so much for submitting this. One concern I had about adding a helm chart: How would it be hosted? Usually helm charts need a separate HTTP server, which is why you added this to your own git host, I assume.

TheAnachronism commented 9 months ago

AFAIK, GitHub has a package registry for public repos, right? I thought Helm was included there. Otherwise, https://artifacthub.io/ would be an option too. Or using the OCI registry version, docker hub could be used as well.

I hosted it on my own git instance, for testing purposes. When I started this, I wasn't really concerned about what registry it would end up on, I just wanted to start the discussion and development of one.

eikek commented 9 months ago

Let me know if I can help with anything hosting related. There should be (i hope) some options.

TheAnachronism commented 9 months ago

Mhh I think it would be worth looking into artifact hub. If we want to make a helm chart available @eikek, we'll need some registry to host it.

pschichtel commented 9 months ago

btw I've been using my own chart for a couple of months now: https://github.com/pschichtel/helm-charts/tree/main/charts/docspell

TheAnachronism commented 9 months ago

Nice work! I see you went the route of just supplying the entire config as the docspell.conf file. I was thinking about that as well, but eventually, I thought I'd go for configuring everything purely by the values.yaml file and converting that into env variables.

eikek commented 9 months ago

Hi there, I had some thought about the k8s setup: I will sooner or later move the docker setup into a separate repo, because it becomes too tedious to maintain for me. I was thinking to also create a separate repo in the docspell org for the helm setup. Both of you could be committers there and do whatever, whenever you like. (it could also build the docker images) WDYT? For me, the repo becomes a bit too heavy. @waldher @TheAnachronism (and whoever else likes)

TheAnachronism commented 9 months ago

Mhhh, yeah why not. Do you want to separate docker and kubernetes stuff as well? Or just make the kubernetes stuff a subdirectory of the docker repo?

eikek commented 9 months ago

I don't care how to organize, tbh. Would leave that all to you 😄 We can as well have docker + kubernetes in one repo, perhaps not so bad an idea? I had the idea with the separate repo for the docker images for a while now. Now with the kubernetes setup, I thought that it could live next to each other, or be a separate repo as well.

TheAnachronism commented 9 months ago

For starters, I think it would be OK if we have one repo for all the containerization stuff. So docker and different Kubernetes deployment options (Helm and Kustomize, I'd say)

If we later need to pull out the helm chart, that shouldn't be much of a problem, I think.

TheAnachronism commented 4 months ago

I'm finally able to pick this topic up again. Like I said, it's going in a separate repo @eikek ?

eikek commented 4 months ago

Thanh you @TheAnachronism ! Yes, I think a separate repo would be great. I can create one in the docspell org and assign you to it. Or you can also do it under your account name? What do you prefer?

Also, the hard part, what name to choose :-)?

TheAnachronism commented 4 months ago

Lets just call it docker and have it under the Docspell org.

I'll look into how the helm chart can be properly hosted ^^

TheAnachronism commented 4 months ago

It looks like with a GitHub pages set up, the helm chart can be hosted on there. Maybe this page can then be published under helm.docspell.org or whatever.

pschichtel commented 4 months ago

I have a working setup with chart-releaser that I can contribute.

TheAnachronism commented 4 months ago

Also, @eikek, do you have an email I could reach you on? Had a look at your profile and wanted to ask you something directly ^^

eikek commented 4 months ago

Sorry for the delay, I'm currently away. I created the repo at docspell/docker and added both of you (@pschichtel + @TheAnachronism) as maintainers. You can reach me at info [at] docspell.org via E-Mail.