name: research-papers services: meilisearch: image: getmeili/meilisearch:v1.54.0 ports: - "7700:7700" environment: MEILI_MASTER_KEY: ${MEILI_MASTER_KEY:-research-papers-master-key-change-me} MEILI_ENV: development MEILI_EXPERIMENTAL_ENABLE_METRICS: "true" MEILI_NO_ANALYTICS: "true" volumes: - meili_data:/meili_data healthcheck: test: ["CMD", "curl", "-sf", "http://localhost:7700/health"] interval: 5s timeout: 5s retries: 10 web: build: context: ./web dockerfile: Dockerfile.dev ports: - "3100:3000" env_file: - path: .env required: false environment: WATCHPACK_POLLING: "true" MEILI_HOST: http://meilisearch:7700 # The browser queries Meilisearch directly with the search-only key printed by `pnpm data:setup`. NEXT_PUBLIC_MEILI_URL: ${NEXT_PUBLIC_MEILI_URL:-http://localhost:7700} NEXT_PUBLIC_MEILI_SEARCH_KEY: ${NEXT_PUBLIC_MEILI_SEARCH_KEY:-} MEILI_MASTER_KEY: ${MEILI_MASTER_KEY:-research-papers-master-key-change-me} depends_on: meilisearch: condition: service_healthy develop: watch: - action: sync path: ./web/src target: /app/src - action: sync path: ./web/public target: /app/public - action: rebuild path: ./web/package.json - action: rebuild path: ./web/pnpm-lock.yaml - action: sync+restart path: ./.env target: /app/.env volumes: meili_data: