name: karakeep
services:
  karakeep:
    image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
    restart: unless-stopped
    volumes:
      - hoarder_data:/data
    ports:
      - 3000:3000
    environment:
      MEILI_ADDR: http://meilisearch:7700
      BROWSER_WEB_URL: http://chrome:9222
      NEXTAUTH_SECRET: ${NEXTAUTH_SECRET}
      OPENAI_API_KEY: ${OPENAI_API_KEY}
      NEXTAUTH_URL: ${NEXTAUTH_URL}
      MEILI_MASTER_KEY: ${MEILI_MASTER_KEY}
      OPENAI_BASE_URL: ${OPENAI_BASE_URL}
      INFERENCE_TEXT_MODEL: ${INFERENCE_TEXT_MODEL}
      INFERENCE_IMAGE_MODEL: ${INFERENCE_IMAGE_MODEL}
      DATA_DIR: /data
    labels:
      - diun.enable=true
  chrome:
    image: gcr.io/zenika-hub/alpine-chrome:124
    restart: unless-stopped
    labels:
      - diun.enable=true
    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
    volumes:
      - hoarder_meilisearch:/meili_data
    labels:
      - diun.enable=true
volumes:
  hoarder_meilisearch:
    external: true
  hoarder_data:
    external: true
networks: {}
