compose.yaml.back 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. networks:
  2. r2r-network:
  3. 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:pg16
  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:-postgres}} # 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:-1024}} # 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
  35. -c max_connections=${R2R_POSTGRES_MAX_CONNECTIONS:-1024}
  36. r2r:
  37. image: ${R2R_IMAGE:-ragtoriches/prod:latest}
  38. build:
  39. context: .
  40. args:
  41. PORT: ${R2R_PORT:-7272}
  42. R2R_PORT: ${R2R_PORT:-7272}
  43. HOST: ${R2R_HOST:-0.0.0.0}
  44. R2R_HOST: ${R2R_HOST:-0.0.0.0}
  45. ports:
  46. - "${R2R_PORT:-7272}:${R2R_PORT:-7272}"
  47. environment:
  48. - PYTHONUNBUFFERED=1
  49. - R2R_PORT=${R2R_PORT:-7272}
  50. - R2R_HOST=${R2R_HOST:-0.0.0.0}
  51. # R2R
  52. - R2R_CONFIG_NAME=${R2R_CONFIG_NAME:-}
  53. - R2R_CONFIG_PATH=${R2R_CONFIG_PATH:-}
  54. - R2R_PROJECT_NAME=${R2R_PROJECT_NAME:-r2r_default}
  55. # Postgres
  56. - R2R_POSTGRES_USER=${R2R_POSTGRES_USER:-postgres}
  57. - R2R_POSTGRES_PASSWORD=${R2R_POSTGRES_PASSWORD:-postgres}
  58. - R2R_POSTGRES_HOST=${R2R_POSTGRES_HOST:-postgres}
  59. - R2R_POSTGRES_PORT=${R2R_POSTGRES_PORT:-5432}
  60. - R2R_POSTGRES_DBNAME=${R2R_POSTGRES_DBNAME:-postgres}
  61. - R2R_POSTGRES_MAX_CONNECTIONS=${R2R_POSTGRES_MAX_CONNECTIONS:-1024}
  62. - R2R_POSTGRES_PROJECT_NAME=${R2R_POSTGRES_PROJECT_NAME:-r2r_default}
  63. # OpenAI
  64. - OPENAI_API_KEY=${OPENAI_API_KEY:-}
  65. - OPENAI_API_BASE=${OPENAI_API_BASE:-}
  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:-}
  78. - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-}
  79. - AWS_REGION_NAME=${AWS_REGION_NAME:-}
  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:-}
  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:-http://localhost:7272}
  104. networks:
  105. - r2r-network
  106. ports:
  107. - "${R2R_DASHBOARD_PORT:-7273}:3000"