Files
Docker-Compose/karakeep/docker-compose.yml
2026-02-08 02:34:46 +08:00

78 lines
2.9 KiB
YAML

version: "3.8"
services:
web:
image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
restart: unless-stopped
volumes:
- /mnt/docker-storage/karakeep/data:/data
networks:
- traefik_proxy
- default
ports:
- 8089:3000
user: ${KARAKEEP_UID}
environment:
- MEILI_ADDR=http://meilisearch:7700
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
- BROWSER_WEB_URL=http://chrome:9222
# - OPENAI_API_KEY=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
# Ollama
- OLLAMA_BASE_URL=http://cluster.localdomain:11434/
- INFERENCE_TEXT_MODEL=llama3.2:1b
- INFERENCE_IMAGE_MODEL=llava
# - INFERENCE_CONTEXT_LENGTH=2048
- INFERENCE_JOB_TIMEOUT_SEC=3600
- DATA_DIR=/data
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
- NEXTAUTH_URL=${NEXTAUTH_URL}
- OAUTH_CLIENT_ID=54NLJ8rgY6shgnD9X1UEP9HBJxxJUtwrHF3xNIVa
- OAUTH_CLIENT_SECRET=OGy3gwmjQzxEWfZaXHzJApPd6VpWdkHOPy2Y3Qma6qjAVtVXfUpVavelIyncZxZ1rtJ5umLjk5xm6EFMlKzQxTvjIJC7LxNanouzeFmuZ4xbsgWEnwLQNMwEGNB4NspH
- OAUTH_WELLKNOWN_URL=https://auth.dua.casa/application/o/karakeep/.well-known/openid-configuration
- OAUTH_PROVIDER_NAME=authentik
- OAUTH_ALLOW_DANGEROUS_EMAIL_ACCOUNT_LINKING=true
# Optional: You can add this if you only want to allow login with Authentik
- DISABLE_PASSWORD_AUTH=true
# Optional but highly recommended:
- DISABLE_SIGNUPS=true
deploy:
labels:
- homepage.group=Storage
- homepage.name=Karakeep
- homepage.icon=sh-karakeep-light
- homepage.href=https://karakeep.dua.casa
- homepage.description=A self-hostable bookmark-everything app.
- homepage.widget.type=karakeep
- homepage.widget.url=https://karakeep.dua.casa
- homepage.widget.key=ak1_ad392ccebe5ceef76a03_3d352f3d25e6d4187713
- "traefik.enable=true"
- "traefik.http.routers.karakeep.rule=Host(`karakeep.dua.casa`)"
- "traefik.http.routers.karakeep.entrypoints=websecure"
- "traefik.http.routers.karakeep.tls=true"
- "traefik.http.routers.karakeep.tls.certresolver=letsencrypt"
- "traefik.http.services.karakeep.loadbalancer.server.port=3000"
chrome:
image: gcr.io/zenika-hub/alpine-chrome:124
restart: unless-stopped
user: ${KARAKEEP_UID}
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
user: ${KARAKEEP_UID}
environment:
MEILI_NO_ANALYTICS: "true"
MEILI_MASTER_KEY: ${MEILI_MASTER_KEY}
volumes:
- /mnt/docker-storage/karakeep/meilisearch:/meili_data
networks:
traefik_proxy:
external: true