An open API service indexing awesome lists of open source software.

https://github.com/djuuu/ansible-role-karakeep-docker

Install Karakeep (formerly Hoarder) Docker Compose project.
https://github.com/djuuu/ansible-role-karakeep-docker

ansible ansible-role bookmarks docker docker-compose hoarder karakeep

Last synced: about 2 months ago
JSON representation

Install Karakeep (formerly Hoarder) Docker Compose project.

Awesome Lists containing this project

README

        

Ansible Role: Karakeep-docker
=============================

Install Karakeep (formerly Hoarder) Docker Compose project.

- https://karakeep.app/
- https://github.com/karakeep-app/karakeep

Requirements
------------

Requires the following to be installed:
- docker
- docker compose

Role Variables
--------------

Common Docker projects variables:

```yaml
# Base directory for Docker projects
docker_projects_path: # /var/apps
```

Available role variables are listed below, along with default values (see `defaults/main.yml`):

```yaml
# Docker project variables

karakeep_project_name: karakeep

# Docker project dynamic vars (uses `docker_project_name` prefix, adapt if overridden)

karakeep_traefik_loadbalancer_server_port: 3000

# Main service additional docker-compose options (ex: cpu_shares, deploy, ...)
karakeep_compose_service_additional_options: |
#ports:
# - 3000:3000
```

```yaml
# Karakeep project variables

# ghcr.io/karakeep-app/karakeep image version
karakeep_docker_version: release

# gcr.io/zenika-hub/alpine-chrome image version
karakeep_chrome_version: 123

# getmeili/meilisearch image version
karakeep_meilisearch_version: v1.11.1
```

```yaml
# Public address of service
karakeep_nextauth_url: http://localhost:3000

# Random string used to sign the JWT tokens. Generate one with `openssl rand -base64 36`
karakeep_nextauth_secret: super_random_string
# Master key configured for meilisearch
karakeep_meili_master_key: another_random_string

# Sets the maximum allowed asset size (in MB) to be uploaded
karakeep_max_asset_size_mb: 4
# If set to true, latest release check will be disabled in the admin panel.
karakeep_disable_new_release_check: false
```

```yaml
# Authentication / Signup

# If enabled, no new signups will be allowed and the signup button will be disabled in the UI
karakeep_disable_signups: false
# If enabled, only signups and logins using OAuth are allowed and the signup button and login form for local accounts will be disabled in the UI
karakeep_disable_password_auth: false
# The "wellknown Url" for openid-configuration as provided by the OAuth provider
karakeep_oauth_wellknown_url:
# The "Client Secret" as provided by the OAuth provider
karakeep_oauth_client_secret:
# The "Client ID" as provided by the OAuth provider
karakeep_oauth_client_id:
# Full list of scopes to request (space delimited)
karakeep_oauth_scope: "openid email profile"
# The name of your provider. Will be shown on the signup page as "Sign in with "
karakeep_oauth_provider_name: "Custom Provider"
# Whether existing accounts in Karakeep stored in the database should automatically be linked with your OAuth account. Only enable it if you trust the OAuth provider!
karakeep_oauth_allow_dangerous_email_account_linking: false
```

```yaml
# Inference Configs (For automatic tagging)
karakeep_openai_api_key:
karakeep_openai_base_url:
karakeep_ollama_base_url:
karakeep_ollama_keep_alive:
karakeep_inference_text_model: gpt-4o-mini
karakeep_inference_image_model: gpt-4o-mini
karakeep_inference_context_length: 2048
karakeep_inference_lang: english
karakeep_inference_job_timeout_sec: 30
```

```yaml
# Crawler Configs
karakeep_crawler_num_workers: 1
karakeep_browser_web_url:
karakeep_browser_websocket_url:
karakeep_browser_connect_ondemand: false
karakeep_crawler_download_banner_image: true
karakeep_crawler_store_screenshot: true
karakeep_crawler_full_page_screenshot: false
karakeep_crawler_full_page_archive: false
karakeep_crawler_job_timeout_sec: 60
karakeep_crawler_navigate_timeout_sec: 30
karakeep_crawler_video_download: false
karakeep_crawler_video_download_max_size: 50
karakeep_crawler_video_download_timeout_sec: 600
```

```yaml
# OCR Configs
karakeep_ocr_cache_dir: /tmp
karakeep_ocr_langs: eng
karakeep_ocr_confidence_threshold: 50
```

Dependencies
------------

This role depends on :
- [djuuu.docker_project](https://github.com/Djuuu/ansible-role-docker-project)

Some variables allow integration with:
- [djuuu.traefik_docker](https://github.com/Djuuu/ansible-role-traefik-docker)

Example Playbook
----------------

```yaml
- hosts: all
gather_facts: false

roles:
- djuuu.karakeep_docker
```

License
-------

Beerware License