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.
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.
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.
4. 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.
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.
- 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:llama3.1
) - 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. - You might want to tune the
INFERENCE_CONTEXT_LENGTH
as the default is quite small. The larger the value, the better the quality of the tags, but the more expensive the inference will be.
5. Start the service
Start the service by running:
docker compose up -d
Then visit http://localhost:3000
and you should be greeted with the Sign In page.
[Optional] 6. Enable optional features
Check the configuration docs for extra features to enable such as full page archival, full page screenshots, inference languages, etc.
[Optional] 7. 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
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 runningdocker compose up --pull always -d
.