diff --git a/karakeep/docker-compose.yml b/karakeep/docker-compose.yml new file mode 100644 index 0000000..a8f33a1 --- /dev/null +++ b/karakeep/docker-compose.yml @@ -0,0 +1,74 @@ +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 + 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/hoarder/.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=http://karakeep.apps.dua.casa + - homepage.widget.key=ak1_ad392ccebe5ceef76a03_3d352f3d25e6d4187713 + + - "traefik.enable=true" + - "traefik.http.routers.karakeep.rule=Host(`karakeep.apps.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 + 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 + environment: + MEILI_NO_ANALYTICS: "true" + MEILI_MASTER_KEY: ${MEILI_MASTER_KEY} + volumes: + - /mnt/docker-storage/karakeep/meilisearch:/meili_data + +networks: + traefik_proxy: + external: true