Phil 06a7889024 feat: migrate Hoarder to Karakeep bookmark manager
Complete migration from discontinued Hoarder to actively maintained Karakeep:

## Service Updates
- Update Docker image: ghcr.io/hoarder-app/hoarder → ghcr.io/karakeep-app/karakeep
- Update environment variables: HOARDER_VERSION → KARAKEEP_VERSION
- Upgrade Meilisearch: v1.6 → v1.13.3 for better search performance
- Update Glance labels and service references to Karakeep

## Data Preservation
- Maintain same domain: bookmarks.thesatelliteoflove.com
- Preserve volume structure: data and meilisearch volumes unchanged
- Keep directory structure: /opt/stacks/hoarder/ for continuity
- Maintain container naming for Caddyfile compatibility

## Meilisearch Migration
- Resolved database version incompatibility (v1.6.2 → v1.13.3)
- Backed up old database and created fresh v1.13.3 compatible database
- Manual reindex required via Admin Settings > Background Jobs

## Documentation Updates
- Update all service references from Hoarder to Karakeep
- Add both 'hoarder' and 'karakeep' tags for deployment flexibility
- Maintain backwards compatibility for existing automation

## Benefits
- Access to latest Karakeep features and security updates
- Continued development support (Hoarder discontinued)
- Improved search performance with Meilisearch v1.13.3
- Zero data loss during migration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 14:15:36 -06:00

114 lines
2.2 KiB
YAML

- name: Install required system packages
apt:
pkg:
- apt-transport-https
- ca-certificates
- curl
- software-properties-common
- python3-pip
- virtualenv
- python3-setuptools
- duf
state: latest
update_cache: true
- name: setup shell
import_tasks: shell.yml
- name: Add Docker GPG apt Key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add Docker Repository
apt_repository:
repo: deb https://download.docker.com/linux/debian bookworm stable
state: present
- name: Update apt and install docker-ce
apt:
name: docker-ce
state: latest
update_cache: true
- name: copy over ufw-docker.sh
ansible.builtin.copy:
src: ufw-docker.sh
dest: /usr/local/bin/ufw-docker.sh
owner: root
mode: 755
- name: execute ufw-docker.sh
ansible.builtin.shell: /usr/local/bin/ufw-docker.sh install
- name: make directories
ansible.builtin.file:
path: "{{ item }}"
state: directory
loop:
- /opt/stacks
- /opt/dockge
- name: template dockge compose file
ansible.builtin.template:
src: dockge-compose.yml.j2
dest: /opt/dockge/dockge.yml
owner: root
mode: 644
# Deploy services by category for better organization and dependency management
- name: Deploy infrastructure services
import_tasks: infrastructure/main.yml
tags:
- infrastructure
- caddy
- authentik
- dockge
- name: Deploy development services
import_tasks: development/main.yml
tags:
- development
- gitea
- codeserver
- conduit
- name: Deploy media services
import_tasks: media/main.yml
tags:
- media
- audiobookshelf
- calibre
- ghost-1
- pinchflat
- pinry
- hoarder
- karakeep
- manyfold
- name: Deploy productivity services
import_tasks: productivity/main.yml
tags:
- productivity
- paperlessngx
- baikal
- syncthing
- mmdl
- heyform
- dawarich
- pingvin
- name: Deploy monitoring services
import_tasks: monitoring/main.yml
tags:
- monitoring
- glance
- changedetection
- appriseapi
- name: Deploy communication services
import_tasks: communication/main.yml
tags:
- communication
- gotosocial
- postiz