95 lines
2.7 KiB
YAML
95 lines
2.7 KiB
YAML
services:
|
|
web:
|
|
image: ghcr.io/hoarder-app/hoarder:${HOARDER_VERSION:-release}
|
|
container_name: karakeep
|
|
volumes:
|
|
- /opt/stacks/karakeep/localdata/data:/data
|
|
ports:
|
|
- 17001:3000
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
MEILI_ADDR: http://meilisearch:7700
|
|
BROWSER_WEB_URL: http://chrome:9222
|
|
# OPENAI_API_KEY: ...
|
|
DATA_DIR: /data
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: "1.0"
|
|
memory: 2G
|
|
reservations:
|
|
cpus: "0.5"
|
|
memory: 1G
|
|
healthcheck:
|
|
# karakeep serves health at /api/health (/health is 404)
|
|
test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
restart: unless-stopped
|
|
labels:
|
|
- "homepage.group=productivity"
|
|
- "homepage.name=Karakeep"
|
|
- "homepage.icon=sh-karakeep"
|
|
- "homepage.href=https://hoarder.nuclide.systems"
|
|
- "homepage.instance.internal.href=http://192.168.1.40:17001"
|
|
- "homepage.instance.public.href=https://hoarder.nuclide.systems"
|
|
- "homepage.widget.type=karakeep"
|
|
- "homepage.widget.url=http://192.168.1.40:17001"
|
|
- "homepage.widget.key=ak2_19817764ad2d3b7bc010_add146880ec70ee560cc8fbf87b46085"
|
|
chrome:
|
|
image: gcr.io/zenika-hub/alpine-chrome:123
|
|
container_name: karakeep_chrome
|
|
shm_size: '512m'
|
|
command:
|
|
- --no-sandbox
|
|
- --disable-gpu
|
|
- --disable-dev-shm-usage
|
|
- --remote-debugging-address=0.0.0.0
|
|
- --remote-debugging-port=9222
|
|
- --hide-scrollbars
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: "0.5"
|
|
memory: 1G
|
|
reservations:
|
|
cpus: "0.25"
|
|
memory: 512M
|
|
healthcheck:
|
|
# alpine-chrome has no curl; busybox wget is present. Use 127.0.0.1 NOT
|
|
# localhost — localhost resolves to ::1 but Chrome binds IPv4 only.
|
|
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1:9222/json/version"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
restart: unless-stopped
|
|
meilisearch:
|
|
image: getmeili/meilisearch:v1.11.1
|
|
container_name: karakeep_meilisearch
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
MEILI_NO_ANALYTICS: "true"
|
|
volumes:
|
|
# - meilisearch:/meili_data
|
|
- /opt/stacks/karakeep/localdata/meili:/meili_data
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: "1.0"
|
|
memory: 2G
|
|
reservations:
|
|
cpus: "0.5"
|
|
memory: 1G
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:7700/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
restart: unless-stopped
|
|
networks: {} |