Files
jasonwittyandClaude Opus 5 00a1742b85
Validate and Deploy to K3s / validate (push) Successful in 24s
Validate and Deploy to K3s / deploy (push) Successful in 31s
Add karakeep, migrated off CasaOS on the Orange Pi
Three containers move across as three deployments: the app, meilisearch, and
the headless-chrome renderer. Data (4.2M of SQLite + assets, 3.3M meilisearch
index) copied from /DATA/AppData/karakeep on the Orange Pi to gvolume0 at
/mnt/gvolume0/karakeep/{data,meilisearch}.

MEILI_MASTER_KEY and NEXTAUTH_SECRET are carried over unchanged, not
regenerated -- the first unlocks the existing index and the second signs
existing sessions. OPENAI_API_KEY was already empty on CasaOS, so AI tagging
was unused; the key is kept but blank.

NEXTAUTH_URL changes from http://localhost:14592 to https://keep.wittyoneoff.com
so NextAuth builds correct callback URLs behind the proxy.

chrome.yaml passes EXACTLY the args the CasaOS container used. Adding
--remote-debugging-address/--remote-debugging-port breaks it: the image's
entrypoint runs Chrome on 127.0.0.1:9223 and socat-proxies 9222 -> 9223, so
overriding those flags leaves socat retrying a dead port forever. Learned the
hard way.

App and meilisearch use strategy: Recreate -- single-writer SQLite on a
ReadWriteOnce volume, same rule as apps/tududi.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-20 20:58:39 -07:00

42 lines
1.3 KiB
YAML

# Headless Chrome used by karakeep to render and screenshot pages.
# Stateless -- no volume, safe to restart freely.
apiVersion: apps/v1
kind: Deployment
metadata:
name: karakeep-chrome
namespace: karakeep
spec:
replicas: 1
selector:
matchLabels:
app: karakeep-chrome
template:
metadata:
labels:
app: karakeep-chrome
spec:
containers:
- name: chrome
image: ghcr.io/karakeep-app/karakeep-chrome:release
# EXACTLY the args the CasaOS container used. Do NOT add
# --remote-debugging-address/--remote-debugging-port: the image's
# entrypoint (/headless-shell/run.sh) already runs Chrome on
# 127.0.0.1:9223 and socat-proxies 9222 -> 9223. Overriding those
# flags moves Chrome off 9223 and socat then logs
# "connect 127.0.0.1:9223: Connection refused" forever.
args:
- --disable-gpu
- --disable-dev-shm-usage
- --hide-scrollbars
- --disable-blink-features=AutomationControlled
- --window-size=1440,900
ports:
- containerPort: 9222
name: cdp
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
memory: 1Gi