services:
  web:
    image: ghcr.io/hoarder-app/hoarder:0.22.0
    restart: unless-stopped
    volumes:
      - hoarder-data:/data
    ports:
      - 3000
    environment:
      - DISABLE_SIGNUPS
      - NEXTAUTH_URL
      - NEXTAUTH_SECRET
      - MEILI_ADDR=http://meilisearch:7700
      - BROWSER_WEB_URL=http://chrome:9222
      - DATA_DIR=/data
  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.6
    restart: unless-stopped
    environment:
      - MEILI_MASTER_KEY
      - MEILI_NO_ANALYTICS="true"
    volumes:
      - meilisearch-data:/meili_data
    healthcheck:
      test:
        - CMD
        - curl
        - '-f'
        - 'http://127.0.0.1:7700/health'
      interval: 2s
      timeout: 10s
      retries: 15
volumes:
  meilisearch-data:
  hoarder-data: