Install Karakeep (formerly Hoarder) Docker Compose project.
Requires the following to be installed:
- docker
- docker compose
Common Docker projects variables:
# Base directory for Docker projects
docker_projects_path: # /var/apps
Available role variables are listed below, along with default values (see defaults/main.yml
):
# 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_service_additional_options: |
#ports:
# - 3000:3000
# 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
# 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
# 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 <name>"
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
# 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
# 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
# OCR Configs
karakeep_ocr_cache_dir: /tmp
karakeep_ocr_langs: eng
karakeep_ocr_confidence_threshold: 50
This role depends on :
Some variables allow integration with:
- hosts: all
gather_facts: false
roles:
- djuuu.karakeep_docker
Beerware License