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>
114 lines
2.2 KiB
YAML
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 |