docker-compose.yaml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. networks:
  2. r2r-network:
  3. external: true
  4. #driver: bridge
  5. attachable: true
  6. labels:
  7. - "com.docker.compose.recreate=always"
  8. volumes:
  9. postgres_data:
  10. name: ${VOLUME_POSTGRES_DATA:-postgres_data}
  11. services:
  12. postgres:
  13. image: pgvector/pgvector:pg17
  14. profiles: [postgres]
  15. environment:
  16. - POSTGRES_USER=${R2R_POSTGRES_USER:-${POSTGRES_USER:-postgres}} # Eventually get rid of POSTGRES_USER, but for now keep it for backwards compatibility
  17. - POSTGRES_PASSWORD=${R2R_POSTGRES_PASSWORD:-${POSTGRES_PASSWORD:-cocorobo-123}} # Eventually get rid of POSTGRES_PASSWORD, but for now keep it for backwards compatibility
  18. - POSTGRES_HOST=${R2R_POSTGRES_HOST:-${POSTGRES_HOST:-postgres}} # Eventually get rid of POSTGRES_HOST, but for now keep it for backwards compatibility
  19. - POSTGRES_PORT=${R2R_POSTGRES_PORT:-${POSTGRES_PORT:-5432}} # Eventually get rid of POSTGRES_PORT, but for now keep it for backwards compatibility
  20. - POSTGRES_MAX_CONNECTIONS=${R2R_POSTGRES_MAX_CONNECTIONS:-${POSTGRES_MAX_CONNECTIONS:-102400}} # Eventually get rid of POSTGRES_MAX_CONNECTIONS, but for now keep it for backwards compatibility
  21. - PGPORT=${R2R_POSTGRES_PORT:-5432}
  22. volumes:
  23. - ./postgres_data:/var/lib/postgresql/data
  24. networks:
  25. - r2r-network
  26. ports:
  27. - "${R2R_POSTGRES_PORT:-5432}:${R2R_POSTGRES_PORT:-5432}"
  28. healthcheck:
  29. test: ["CMD-SHELL", "pg_isready -U ${R2R_POSTGRES_USER:-postgres}"]
  30. interval: 10s
  31. timeout: 5s
  32. retries: 5
  33. restart: on-failure
  34. command: >
  35. postgres
  36. -c max_connections=${R2R_POSTGRES_MAX_CONNECTIONS:-1024}
  37. r2r:
  38. image: ${R2R_IMAGE:-ragtoriches/prod:latest}
  39. build:
  40. context: .
  41. args:
  42. PORT: ${R2R_PORT:-7272}
  43. R2R_PORT: ${R2R_PORT:-7272}
  44. HOST: ${R2R_HOST:-0.0.0.0}
  45. R2R_HOST: ${R2R_HOST:-0.0.0.0}
  46. ports:
  47. - "${R2R_PORT:-7272}:${R2R_PORT:-7272}"
  48. environment:
  49. - PYTHONUNBUFFERED=1
  50. - R2R_PORT=${R2R_PORT:-7272}
  51. - R2R_HOST=${R2R_HOST:-0.0.0.0}
  52. # R2R
  53. - R2R_CONFIG_NAME=${R2R_CONFIG_NAME:-}
  54. - R2R_CONFIG_PATH=${R2R_CONFIG_PATH:-}
  55. - R2R_PROJECT_NAME=${R2R_PROJECT_NAME:-r2r_default}
  56. # Postgres
  57. - R2R_POSTGRES_USER=${R2R_POSTGRES_USER:-postgres}
  58. - R2R_POSTGRES_PASSWORD=${R2R_POSTGRES_PASSWORD:-cocorobo-123}
  59. - R2R_POSTGRES_HOST=${R2R_POSTGRES_HOST:-postgres}
  60. - R2R_POSTGRES_PORT=${R2R_POSTGRES_PORT:-5432}
  61. - R2R_POSTGRES_DBNAME=${R2R_POSTGRES_DBNAME:-cocorobo-file}
  62. - R2R_POSTGRES_MAX_CONNECTIONS=${R2R_POSTGRES_MAX_CONNECTIONS:-102400}
  63. - R2R_POSTGRES_PROJECT_NAME=${R2R_POSTGRES_PROJECT_NAME:-cocorobo-knowledge}
  64. - R2R_POSTGRES_STATEMENT_CACHE_SIZE=${R2R_POSTGRES_STATEMENT_CACHE_SIZE:-100}
  65. # OpenAI
  66. - OPENAI_API_KEY=${OPENAI_API_KEY:-sk-vTqeBKDC2j6osbGt89A2202dAd1c4fE8B1D294388b569e54}
  67. - OPENAI_API_BASE=${OPENAI_API_BASE:-https://onehub.cocorobo.cn/v1}
  68. # Anthropic
  69. - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
  70. # Azure
  71. - AZURE_API_KEY=${AZURE_API_KEY:-}
  72. - AZURE_API_BASE=${AZURE_API_BASE:-}
  73. - AZURE_API_VERSION=${AZURE_API_VERSION:-}
  74. # Google Vertex AI
  75. - GOOGLE_APPLICATION_CREDENTIALS=${GOOGLE_APPLICATION_CREDENTIALS:-}
  76. - VERTEX_PROJECT=${VERTEX_PROJECT:-}
  77. - VERTEX_LOCATION=${VERTEX_LOCATION:-}
  78. # AWS Bedrock
  79. - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-AKIATLPEDU37QV5CHLMH}
  80. - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-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}
  81. - AWS_REGION_NAME=${AWS_REGION_NAME:-cn-northwest-1}
  82. # Groq
  83. - GROQ_API_KEY=${GROQ_API_KEY:-}
  84. # Cohere
  85. - COHERE_API_KEY=${COHERE_API_KEY:-}
  86. # Anyscale
  87. - ANYSCALE_API_KEY=${ANYSCALE_API_KEY:-ZYLf8VLMoW8QRJ86bXEec9rX}
  88. # Ollama
  89. - OLLAMA_API_BASE=${OLLAMA_API_BASE:-http://host.docker.internal:11434}
  90. networks:
  91. - r2r-network
  92. healthcheck:
  93. test: ["CMD", "curl", "-f", "http://localhost:${R2R_PORT:-7272}/v3/health"]
  94. interval: 6s
  95. timeout: 5s
  96. retries: 5
  97. restart: on-failure
  98. volumes:
  99. - ${R2R_CONFIG_PATH:-/}:${R2R_CONFIG_PATH:-/app/config}
  100. extra_hosts:
  101. - host.docker.internal:host-gateway
  102. r2r-dashboard:
  103. image: emrgntcmplxty/r2r-dashboard:latest
  104. environment:
  105. - NEXT_PUBLIC_R2R_DEPLOYMENT_URL=${R2R_DEPLOYMENT_URL:-https://r2rserver.cocorobo.cn}
  106. networks:
  107. - r2r-network
  108. ports:
  109. - "${R2R_DASHBOARD_PORT:-7273}:3000"