diff options
Diffstat (limited to 'docs/versioned_docs/version-v0.15.0/02-Installation')
3 files changed, 155 insertions, 0 deletions
diff --git a/docs/versioned_docs/version-v0.15.0/02-Installation/01-docker.md b/docs/versioned_docs/version-v0.15.0/02-Installation/01-docker.md new file mode 100644 index 00000000..89fa6538 --- /dev/null +++ b/docs/versioned_docs/version-v0.15.0/02-Installation/01-docker.md @@ -0,0 +1,86 @@ +# Docker Compose [Recommended] + +### Requirements + +- Docker +- Docker Compose + +### 1. Create a new directory + +Create a new directory to host the compose file and env variables. + +### 2. Download the compose file + +Download the docker compose file provided [here](https://github.com/hoarder-app/hoarder/blob/main/docker/docker-compose.yml). + +``` +wget https://raw.githubusercontent.com/hoarder-app/hoarder/main/docker/docker-compose.yml +``` + +### 3. Populate the environment variables + +To configure the app, create a `.env` file in the directory and add this minimal env file: + +``` +HOARDER_VERSION=release +NEXTAUTH_SECRET=super_random_string +MEILI_MASTER_KEY=another_random_string +NEXTAUTH_URL=http://localhost:3000 +``` + +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](https://github.com/hoarder-app/hoarder/pkgs/container/hoarder-web). + +Persistent storage and the wiring between the different services is already taken care of in the docker compose file. + +Keep in mind that every time you change the `.env` file, you'll need to re-run `docker compose up`. + +If you want more config params, check the config documentation [here](/configuration). + +### 4. Setup OpenAI + +To enable automatic tagging, you'll need to configure OpenAI. This is optional though but hightly recommended. + +- Follow [OpenAI's help](https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key) 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](/openai). + +<details> + <summary>[EXPERIMENTAL] If you want to use Ollama (https://ollama.com/) instead for local inference.</summary> + + **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. + + +</details> + +### 5. Start the service + +Start the service by running: + +``` +docker compose up -d +``` + +Then visit `http://localhost:3000` and you should be greated with the Sign In page. + +### [Optional] 6. Setup quick sharing extensions + +Go to the [quick sharing page](/quick-sharing) to install the mobile apps and the browser extensions. Those will help you hoard things faster! + +## Updating + +Updating hoarder will depend on what you used for the `HOARDER_VERSION` env variable. +- If you pinned the app to a specific version, bump the version and re-run `docker compose up -d`. This should pull the new version for you. +- If you used `HOARDER_VERSION=release`, you'll need to force docker to pull the latest version by running `docker compose up --pull always -d`. diff --git a/docs/versioned_docs/version-v0.15.0/02-Installation/02-unraid.md b/docs/versioned_docs/version-v0.15.0/02-Installation/02-unraid.md new file mode 100644 index 00000000..b879f900 --- /dev/null +++ b/docs/versioned_docs/version-v0.15.0/02-Installation/02-unraid.md @@ -0,0 +1,21 @@ +# Unraid + +## Docker Compose Manager Plugin (Recommended) + +You can use [Docker Compose Manager](https://forums.unraid.net/topic/114415-plugin-docker-compose-manager/) plugin to deploy Hoarder using the official docker compose file provided [here](https://github.com/hoarder-app/hoarder/blob/main/docker/docker-compose.yml). After creating the stack, you'll need to setup some env variables similar to that from the docker compose installation docs [here](/Installation/docker#3-populate-the-environment-variables). + +## Community Apps + +:::info +The community application template is maintained by the community. +::: + +Hoarder can be installed on Unraid using the community application plugins. Hoarder is a multi-container service, and because unraid doesn't natively support that, you'll have to install the different pieces as separate applications and wire them manually together. + +Here's a high level overview of the services you'll need: + +- **Hoarder** ([Support post](https://forums.unraid.net/topic/165108-support-collectathon-hoarder/)): Hoarder's main web app. +- **hoarder-worker** ([Support post](https://forums.unraid.net/topic/165108-support-collectathon-hoarder/)): Hoarder's background workers (for running the AI tagging, fetching the content, etc). +- **Redis**: Currently used for communication between the web app and the background workers. +- **Browserless** ([Support post](https://forums.unraid.net/topic/130163-support-template-masterwishxbrowserless/)): The chrome headless service used for fetching the content. Hoarder's official docker compose doesn't use browserless, but it's currently the only headless chrome service available on unraid, so you'll have to use it. +- **MeiliSearch** ([Support post](https://forums.unraid.net/topic/164847-support-collectathon-meilisearch/)): The search engine used by Hoarder. It's optional but highly recommended. If you don't have it set up, search will be disabled. diff --git a/docs/versioned_docs/version-v0.15.0/02-Installation/03-archlinux.md b/docs/versioned_docs/version-v0.15.0/02-Installation/03-archlinux.md new file mode 100644 index 00000000..37ada2fa --- /dev/null +++ b/docs/versioned_docs/version-v0.15.0/02-Installation/03-archlinux.md @@ -0,0 +1,48 @@ +# Arch Linux + +## Installation + +> [Hoarder on AUR](https://aur.archlinux.org/packages/hoarder) is not maintained by the hoarder official. + +1. Install hoarder + + ```shell + paru -S hoarder + ``` + +2. (**Optional**) Install optional dependencies + + ```shell + # meilisearch: for full text search + paru -S meilisearch + + # ollama: for automatic tagging + paru -S ollama + + # hoarder-cli: hoarder cli tool + paru -S hoarder-cli + ``` + + You can use Open-AI instead of `ollama`. If you use `ollama`, you need to download the ollama model. Please refer to: [https://ollama.com/library](https://ollama.com/library). + +3. Set up + + Environment variables can be set in `/etc/hoarder/hoarder.env` according to [configuration page](/configuration). **The environment variables that are not specified in `/etc/hoarder/hoarder.env` need to be added by yourself.** + +4. Enable service + + ```shell + sudo systemctl enable --now hoarder.target + ``` + + Then visit `http://localhost:3000` and you should be greated with the Sign In page. + +## Services and Ports + +`hoarder.target` include 3 services: `hoarder-web.service`, `hoarder-works.service`, `hoarder-browser.service`. + +- `hoarder-web.service`: Provide hoarder WebUI service, use `3000` port default. + +- `hoarder-works.service`: Provide hoarder works service, no port. + +- `hoarder-browser.service`: Provide browser headless service, use `9222` port default. |
