ansible/roles/docker/templates/hoarder-compose.yml.j2
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

56 lines
1.3 KiB
Django/Jinja

version: "3.8"
services:
web:
image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
restart: unless-stopped
volumes:
- data:/data
ports:
- 3000:3000
env_file:
- .env
extra_hosts:
- 'auth.thesatelliteoflove.com:172.20.0.5'
- bookmarks.thesatelliteoflove.com:172.20.0.5
environment:
MEILI_ADDR: http://meilisearch:7700
DATA_DIR: /data
BROWSER_WEB_URL: http://chrome:9222
labels:
glance.name: Karakeep
glance.icon: si:wikibooks
glance.url: https://bookmarks.thesatelliteoflove.com/
glance.description: Bookmark manager
glance.id: karakeep
chrome:
image: gcr.io/zenika-hub/alpine-chrome:123
restart: unless-stopped
labels:
glance.name: Chrome
glance.parent: karakeep
command:
- --no-sandbox
- --disable-gpu
- --disable-dev-shm-usage
- --remote-debugging-address=0.0.0.0
- --remote-debugging-port=9222
- --hide-scrollbars
meilisearch:
image: getmeili/meilisearch:v1.13.3
restart: unless-stopped
labels:
glance.name: Meilisearch
glance.parent: karakeep
env_file:
- .env
environment:
MEILI_NO_ANALYTICS: "true"
volumes:
- meilisearch:/meili_data
volumes:
meilisearch:
data:
networks:
default:
external: true
name: lava