Skip to main content
Version: Next

Kubernetes

Requirements​

  • A kubernetes cluster
  • kubectl
  • kustomize

1. Get the deployment manifests​

You can clone the repository and copy the /kubernetes directory into another directory of your choice.

2. Populate the environment variables​

To configure the app, edit the configuration in .env.

You should change the random strings. You can use openssl rand -base64 36 to generate the random strings. You should also change the NEXTAUTH_URL variable to point to your server address.

Using HOARDER_VERSION=release will pull the latest stable version. You might want to pin the version instead to control the upgrades (e.g. HOARDER_VERSION=0.10.0). Check the latest versions here.

3. Setup OpenAI​

To enable automatic tagging, you'll need to configure OpenAI. This is optional though but hightly recommended.

  • Follow OpenAI's help to get an API key.
  • Add the OpenAI API key to the .env file:
OPENAI_API_KEY=<key>

Learn more about the costs of using openai here.

[EXPERIMENTAL] If you want to use Ollama (https://ollama.com/) instead for local inference.

Note: The quality of the tags you'll get will depend on the quality of the model you choose. Running local models is a recent addition and not as battle tested as using openai, so proceed with care (and potentially expect a bunch of inference failures).

  • Make sure ollama is running.
  • Set the OLLAMA_BASE_URL env variable to the address of the ollama API.
  • Set INFERENCE_TEXT_MODEL to the model you want to use for text inference in ollama (for example: mistral)
  • Set INFERENCE_IMAGE_MODEL to the model you want to use for image inference in ollama (for example: llava)
  • Make sure that you ollama pull-ed the models that you want to use.

4. Deploy the service​

Deploy the service by running:

make deploy

5. Access the service​

By default, these manifests expose the application as a LoadBalancer Service. You can run kubectl get services to identify the IP of the loadbalancer for your service.

Then visit http://<loadbalancer-ip>:3000 and you should be greated with the Sign In page.

Note: Depending on your setup you might want to expose the service via an Ingress, or have a different means to access it.

[Optional] 6. Setup quick sharing extensions​

Go to the quick sharing page to install the mobile apps and the browser extensions. Those will help you hoard things faster!

Updating​

Edit the HOARDER_VERSION variable in the kustomization.yaml file and run make clean deploy.