fix(infra): expose Meilisearch via search.libnovel.cc for homelab runner indexing
Some checks failed
CI / Test backend (pull_request) Has been cancelled
CI / Check ui (pull_request) Has been cancelled
CI / Docker / backend (pull_request) Has been cancelled
CI / Docker / runner (pull_request) Has been cancelled
CI / Docker / ui (pull_request) Has been cancelled
CI / Docker / caddy (pull_request) Has been cancelled
Release / Check ui (push) Failing after 22s
Release / Upload source maps (push) Has been skipped
Release / Docker / ui (push) Has been skipped
Release / Test backend (push) Successful in 36s
Release / Docker / caddy (push) Successful in 1m16s
Release / Docker / backend (push) Successful in 2m49s
Release / Docker / runner (push) Successful in 3m29s
Release / Gitea Release (push) Has been skipped
Some checks failed
CI / Test backend (pull_request) Has been cancelled
CI / Check ui (pull_request) Has been cancelled
CI / Docker / backend (pull_request) Has been cancelled
CI / Docker / runner (pull_request) Has been cancelled
CI / Docker / ui (pull_request) Has been cancelled
CI / Docker / caddy (pull_request) Has been cancelled
Release / Check ui (push) Failing after 22s
Release / Upload source maps (push) Has been skipped
Release / Docker / ui (push) Has been skipped
Release / Test backend (push) Successful in 36s
Release / Docker / caddy (push) Successful in 1m16s
Release / Docker / backend (push) Successful in 2m49s
Release / Docker / runner (push) Successful in 3m29s
Release / Gitea Release (push) Has been skipped
- Add search.libnovel.cc Caddy vhost proxying to meilisearch:7700 - Pass MEILI_URL + MEILI_API_KEY from Doppler into homelab runner - Set GODEBUG=preferIPv4=1 to work around missing IPv6 route on homelab - Update comments to reflect runner now indexes books into Meilisearch
This commit is contained in:
10
Caddyfile
10
Caddyfile
@@ -30,6 +30,7 @@
|
|||||||
# logs.libnovel.cc → dozzle:8080 (Docker log viewer)
|
# logs.libnovel.cc → dozzle:8080 (Docker log viewer)
|
||||||
# uptime.libnovel.cc → uptime-kuma:3001 (uptime monitoring)
|
# uptime.libnovel.cc → uptime-kuma:3001 (uptime monitoring)
|
||||||
# push.libnovel.cc → gotify:80 (push notifications)
|
# push.libnovel.cc → gotify:80 (push notifications)
|
||||||
|
# search.libnovel.cc → meilisearch:7700 (search index — homelab runner)
|
||||||
#
|
#
|
||||||
# Routes intentionally removed from direct-to-backend:
|
# Routes intentionally removed from direct-to-backend:
|
||||||
# /api/scrape/* — SvelteKit has /api/scrape/ counterparts
|
# /api/scrape/* — SvelteKit has /api/scrape/ counterparts
|
||||||
@@ -254,3 +255,12 @@ storage.libnovel.cc {
|
|||||||
reverse_proxy minio:9000
|
reverse_proxy minio:9000
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ── Meilisearch: exposed for homelab runner search indexing ──────────────────
|
||||||
|
# The homelab runner connects here as MEILI_URL to index books after scraping.
|
||||||
|
# Protected by MEILI_MASTER_KEY bearer token — Meilisearch enforces auth on
|
||||||
|
# every request; Caddy just terminates TLS.
|
||||||
|
search.libnovel.cc {
|
||||||
|
import security_headers
|
||||||
|
reverse_proxy meilisearch:7700
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -8,7 +8,8 @@
|
|||||||
# - RUNNER_WORKER_ID=homelab-runner-1 (unique, avoids task claiming conflicts)
|
# - RUNNER_WORKER_ID=homelab-runner-1 (unique, avoids task claiming conflicts)
|
||||||
# - MINIO_ENDPOINT/USE_SSL → storage.libnovel.cc over HTTPS
|
# - MINIO_ENDPOINT/USE_SSL → storage.libnovel.cc over HTTPS
|
||||||
# - POCKETBASE_URL → https://pb.libnovel.cc
|
# - POCKETBASE_URL → https://pb.libnovel.cc
|
||||||
# - MEILI_URL/VALKEY_ADDR → unset (not exposed publicly; not needed by runner)
|
# - MEILI_URL → https://search.libnovel.cc (Caddy-proxied)
|
||||||
|
# - VALKEY_ADDR → unset (not exposed publicly)
|
||||||
# - RUNNER_SKIP_INITIAL_CATALOGUE_REFRESH=true
|
# - RUNNER_SKIP_INITIAL_CATALOGUE_REFRESH=true
|
||||||
|
|
||||||
services:
|
services:
|
||||||
@@ -30,9 +31,12 @@ services:
|
|||||||
MINIO_PUBLIC_ENDPOINT: "${MINIO_PUBLIC_ENDPOINT}"
|
MINIO_PUBLIC_ENDPOINT: "${MINIO_PUBLIC_ENDPOINT}"
|
||||||
MINIO_PUBLIC_USE_SSL: "${MINIO_PUBLIC_USE_SSL}"
|
MINIO_PUBLIC_USE_SSL: "${MINIO_PUBLIC_USE_SSL}"
|
||||||
|
|
||||||
# ── Meilisearch / Valkey — not exposed, disabled ────────────────────────
|
# ── Meilisearch (via search.libnovel.cc Caddy proxy) ────────────────────
|
||||||
MEILI_URL: ""
|
MEILI_URL: "${MEILI_URL}"
|
||||||
|
MEILI_API_KEY: "${MEILI_API_KEY}"
|
||||||
VALKEY_ADDR: ""
|
VALKEY_ADDR: ""
|
||||||
|
# Force IPv4 DNS resolution — homelab has no IPv6 route to search.libnovel.cc
|
||||||
|
GODEBUG: "preferIPv4=1"
|
||||||
|
|
||||||
# ── Kokoro TTS ──────────────────────────────────────────────────────────
|
# ── Kokoro TTS ──────────────────────────────────────────────────────────
|
||||||
KOKORO_URL: "${KOKORO_URL}"
|
KOKORO_URL: "${KOKORO_URL}"
|
||||||
|
|||||||
Reference in New Issue
Block a user