docker-compose.yaml 4.4 KB

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