From ac903c6db8933ca6e9996e7d1a6f829852b963d3 Mon Sep 17 00:00:00 2001 From: azpsen Date: Tue, 7 Jan 2025 08:27:13 -0600 Subject: [PATCH] add hoarder, simplify dns changes --- docker-compose.yml | 108 ++++++++++++++++++++++++++++++++------------- readme.md | 2 + 2 files changed, 80 insertions(+), 30 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index d802891..ffce637 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,7 +18,7 @@ services: - /docker/audiobookshelf/config:/config - /docker/audiobookshelf/metadata:/metadata dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped ## AudioBookShelf metadata provider abs-tract: @@ -27,7 +27,7 @@ services: ports: - 5585:5555 dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped # Calibre (ebook management) @@ -46,7 +46,7 @@ services: ports: - 8083:8083 dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped ## Immich (photo library management) @@ -69,7 +69,7 @@ services: devices: - /dev/dri:/dev/dri dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped immich-machine-learning: container_name: immich_machine_learning @@ -115,7 +115,7 @@ services: devices: - /dev/dri:/dev/dri dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped @@ -130,7 +130,7 @@ services: volumes: - /docker/actual:/data dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped ## Gitea @@ -147,7 +147,7 @@ services: - 3003:3000 - 2222:2222 dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped ## Grocy (home inventory management) @@ -179,7 +179,7 @@ services: - /docker/homepage/fonts:/app/public/fonts - /media:/media:ro dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped docker-proxy: image: ghcr.io/tecnativa/docker-socket-proxy:latest @@ -204,7 +204,7 @@ services: depends_on: - joplin-db dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped joplin-db: image: postgres:15 @@ -239,10 +239,64 @@ services: ports: - 4000:80 dns: - - 100.111.0.126 + - ${DNS_IP} volumes: - linkstack:/htdocs restart: unless-stopped + + ## Hoarder (link aggregator) + hoarder: + image: ghcr.io/hoarder-app/hoarder:release + container_name: hoarder + env_file: + - /docker/env/hoarder.env + volumes: + - hoarder:/data + ports: + - 3017:3000 + environment: + - MEILI_ADDR=http://meilisearch:7700 + - BROWSER_WEB_URL=http://chrome:9222 + - DATA_DIR=/data + dns: + - ${DNS_IP} + restart: unless-stopped + chrome: + image: gcr.io/zenika-hub/alpine-chrome:123 + container_name: chrome + command: + - --no-sandbox + - --disable-gpu + - --disable-dev-shm-usage + - --remote-debugging-address=0.0.0.0 + - --remote-debugging-port=9222 + - --hide-scrollbars + dns: + - ${DNS_IP} + restart: unless-stopped + meilisearch: + image: getmeili/meilisearch:v1.11.1 + container_name: meilisearch + env_file: + - /docker/env/hoarder.env + ports: + - 7700:7700 + environment: + - MEILI_NO_ANALYTICS=true + volumes: + - meilisearch:/meili_data + restart: unless-stopped + ## LLM for link tagging + ollama: + image: ollama/ollama + container_name: ollama + ports: + - 11434:11434 + volumes: + - /docker/ollama:/root/.ollama + dns: + - ${DNS_IP} + restart: unless-stopped ## Miniflux (rss feed reader) miniflux: @@ -258,7 +312,7 @@ services: healthcheck: test: ["CMD", "/usr/bin/miniflux", "-healthcheck", "auto"] dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped rss_db: image: postgres:15 @@ -311,7 +365,7 @@ services: depends_on: - tandoor-db dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped tandoor-server: image: nginx:mainline-alpine @@ -327,7 +381,7 @@ services: depends_on: - tandoor dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped tandoor-db: container_name: tandoor-db @@ -350,7 +404,7 @@ services: ports: - 8912:80 dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped # Wizarr (jellyfin invites) @@ -362,7 +416,7 @@ services: volumes: - /docker/wizarr/database:/data/database dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped @@ -427,7 +481,7 @@ services: volumes: - /docker/speedtest-tracker:/config dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped @@ -438,14 +492,6 @@ services: image: adguard/adguardhome container_name: adguard network_mode: host - ports: - - 53:53/tcp - - 53:53/udp - - 784:784/udp - - 853:853/tcp - - 3000:3000/tcp - - 80:80/tcp - - 443:443/tcp volumes: - /docker/adguard/working:/opt/adguardhome/work - /docker/adguard/conf:/opt/adguardhome/conf @@ -455,7 +501,7 @@ services: cloudflared: container_name: cloudflared image: cloudflare/cloudflared:latest - network_mode: "host" + network_mode: host volumes: - /docker/cloudflared:/etc/cloudflared command: tunnel --no-autoupdate run @@ -527,14 +573,14 @@ services: volumes: - /docker/calibre/ingest:/cwa-book-ingest dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped ## Cloudflare challenge bypass (for accessing Anna's Archive) cf-bypass: image: ghcr.io/sarperavci/cloudflarebypassforscraping:latest container_name: cf-bypass dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped ## openbooks (IRC-based ebook downloading) @@ -548,7 +594,7 @@ services: # This works because calibre-web-automated fails to import .tmp files - /docker/calibre/ingest/:/books dns: - - 100.111.0.126 + - ${DNS_IP} restart: unless-stopped ## Prowlarr (torrent indexer management) @@ -621,12 +667,14 @@ secrets: file: /docker/secrets/glances_password volumes: + hoarder: + joplindb: + linkstack: + meilisearch: model-cache: miniflux-db: paperless-data: paperless-media: redis-data: tandoor-server-config: - joplindb: - linkstack: diff --git a/readme.md b/readme.md index 16eb8bc..a2fb134 100644 --- a/readme.md +++ b/readme.md @@ -38,6 +38,8 @@ These are all the services hosted, what they are for, and any clients I use with - [Gitea](https://about.gitea.com/) - Git server - in the process of replacing my GitHub account - [Grocy](https://github.com/grocy/grocy) - Household management (Am I out of milk? Do I have AAA batteries? What can I make for dinner?) - [iOS Client](https://apps.apple.com/us/app/grocy-mobile/id1567803209) +- [Hoarder](https://hoarder.app/) - Bookmark tool for links, pictures, notes, etc. with AI tagging + - The official app seems to work well - [Homepage](https://gethomepage.dev/) - My default new tab page; has info about all my services plus links - [Joplin](https://joplinapp.org/) - Notes (Obsidian alternative) - [Kiwix](https://kiwix.org/en/) - Offline wiki hosting - I have Wikipedia, the Arch Linux wiki, and several others downloaded