{"owner":"assafelovic","repo":"gpt-researcher","hasDocker":true,"hasCompose":true,"hasDockerfile":false,"composePath":"docker-compose.yml","servicesCount":4,"services":[{"name":"gpt-researcher","image":"gptresearcher/gpt-researcher","build":"./","restart":"always","ports":["8000:8000"],"environment":["OPENAI_API_KEY=${OPENAI_API_KEY}","OPENAI_BASE_URL=${OPENAI_BASE_URL}","TAVILY_API_KEY=${TAVILY_API_KEY}","LANGCHAIN_API_KEY=${LANGCHAIN_API_KEY}","LOGGING_LEVEL=INFO","GOOGLE_API_KEY=${GOOGLE_API_KEY}","IMAGE_GENERATION_ENABLED=${IMAGE_GENERATION_ENABLED:-false}","IMAGE_GENERATION_MODEL=${IMAGE_GENERATION_MODEL:-gemini-2.0-flash-preview-image-generation}","IMAGE_GENERATION_MAX_IMAGES=${IMAGE_GENERATION_MAX_IMAGES:-3}"],"volumes":["${PWD}/my-docs:/usr/src/app/my-docs:rw","${PWD}/outputs:/usr/src/app/outputs:rw","${PWD}/logs:/usr/src/app/logs:rw"]},{"name":"gptr-nextjs","image":"gptresearcher/gptr-nextjs","build":{"context":"frontend/nextjs","dockerfile":"Dockerfile.dev"},"restart":"always","ports":["3000:3000"],"environment":["CHOKIDAR_USEPOLLING=true","LOGGING_LEVEL=INFO","NEXT_PUBLIC_GA_MEASUREMENT_ID=${NEXT_PUBLIC_GA_MEASUREMENT_ID}","NEXT_PUBLIC_GPTR_API_URL=${NEXT_PUBLIC_GPTR_API_URL}"],"volumes":["/app/node_modules","./frontend/nextjs:/app","./frontend/nextjs/.next:/app/.next","./outputs:/app/outputs"]},{"name":"gpt-researcher-tests","image":"gptresearcher/gpt-researcher-tests","build":"./","command":"/bin/sh -c \" pip install pytest pytest-asyncio faiss-cpu && python -m pytest tests/report-types.py && python -m pytest tests/vector-store.py \"\n","environment":["OPENAI_API_KEY=${OPENAI_API_KEY}","OPENAI_BASE_URL=${OPENAI_BASE_URL}","TAVILY_API_KEY=${TAVILY_API_KEY}","LANGCHAIN_API_KEY=${LANGCHAIN_API_KEY}","LOGGING_LEVEL=INFO"]},{"name":"discord-bot","build":{"context":"./docs/discord-bot","dockerfile":"Dockerfile.dev"},"restart":"always","ports":["3001:3000"],"environment":["DISCORD_BOT_TOKEN=${DISCORD_BOT_TOKEN}","DISCORD_CLIENT_ID=${DISCORD_CLIENT_ID}"],"volumes":["./docs/discord-bot:/app","/app/node_modules"]}],"exposedPorts":["8000","3000","3001"],"dockerRunCommand":"docker run -d --name gpt-researcher -p 8000:8000 --restart always gptresearcher/gpt-researcher","podmanRunCommand":"podman run -d --name gpt-researcher -p 8000:8000 --restart always gptresearcher/gpt-researcher","skopeoInspectCommand":"skopeo inspect docker://docker.io/gptresearcher/gpt-researcher:latest","orasPullCommand":"oras pull gptresearcher/gpt-researcher","registryMeta":{"provider":"dockerhub","image":"gptresearcher/gpt-researcher","canonicalImage":"docker.io/gptresearcher/gpt-researcher:latest","latestTag":"latest","cliCommands":{"dockerRun":"docker run -d --name gpt-researcher -p 8000:8000 --restart always gptresearcher/gpt-researcher","dockerPull":"docker pull gptresearcher/gpt-researcher","podmanRun":"podman run -d --name gpt-researcher -p 8000:8000 --restart always gptresearcher/gpt-researcher","skopeoInspect":"skopeo inspect docker://docker.io/gptresearcher/gpt-researcher:latest","orasPull":"oras pull gptresearcher/gpt-researcher","composeYaml":"services:\n  gpt-researcher:\n    image: gptresearcher/gpt-researcher\n    restart: unless-stopped\n    ports:\n      - \"8000:8000\""}}}