|
|
@@ -0,0 +1,481 @@
|
|
|
+networks:
|
|
|
+ r2r-network:
|
|
|
+ external: true
|
|
|
+ attachable: true
|
|
|
+ labels:
|
|
|
+ - "com.docker.compose.recreate=always"
|
|
|
+ #name: r2r_r2r-network
|
|
|
+
|
|
|
+volumes:
|
|
|
+ hatchet_certs:
|
|
|
+ name: ${VOLUME_HATCHET_CERTS:-hatchet_certs}
|
|
|
+ hatchet_config:
|
|
|
+ name: ${VOLUME_HATCHET_CONFIG:-hatchet_config}
|
|
|
+ hatchet_api_key:
|
|
|
+ name: ${VOLUME_HATCHET_API_KEY:-hatchet_api_key}
|
|
|
+ postgres_data:
|
|
|
+ name: ${VOLUME_POSTGRES_DATA:-postgres_data}
|
|
|
+ hatchet_rabbitmq_data:
|
|
|
+ name: ${VOLUME_HATCHET_RABBITMQ_DATA:-hatchet_rabbitmq_data}
|
|
|
+ hatchet_rabbitmq_conf:
|
|
|
+ name: ${VOLUME_HATCHET_RABBITMQ_CONF:-hatchet_rabbitmq_conf}
|
|
|
+ hatchet_postgres_data:
|
|
|
+ name: ${VOLUME_HATCHET_POSTGRES_DATA:-hatchet_postgres_data}
|
|
|
+
|
|
|
+services:
|
|
|
+ postgres:
|
|
|
+ image: pgvector/pgvector:pg16
|
|
|
+ shm_size: 1gb
|
|
|
+ environment:
|
|
|
+ - POSTGRES_USER=${R2R_POSTGRES_USER:-postgres}
|
|
|
+ - POSTGRES_PASSWORD=${R2R_POSTGRES_PASSWORD:-cocorobo-123}
|
|
|
+ - POSTGRES_HOST=${R2R_POSTGRES_HOST:-postgres}
|
|
|
+ - POSTGRES_PORT=${R2R_POSTGRES_PORT:-5432}
|
|
|
+ - POSTGRES_MAX_CONNECTIONS=${R2R_POSTGRES_MAX_CONNECTIONS:-102400}
|
|
|
+ - PGPORT=${R2R_POSTGRES_PORT:-5432}
|
|
|
+ volumes:
|
|
|
+ - ./postgres_data:/var/lib/postgresql/data
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+ ports:
|
|
|
+ - "${R2R_POSTGRES_PORT:-5432}:${R2R_POSTGRES_PORT:-5432}"
|
|
|
+ healthcheck:
|
|
|
+ test: ["CMD-SHELL", "pg_isready -U ${R2R_POSTGRES_USER:-postgres}"]
|
|
|
+ interval: 10s
|
|
|
+ timeout: 5s
|
|
|
+ retries: 5
|
|
|
+ command: >
|
|
|
+ postgres
|
|
|
+ -c max_connections=${R2R_POSTGRES_MAX_CONNECTIONS:-102400}
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+
|
|
|
+ hatchet-postgres:
|
|
|
+ image: postgres:latest
|
|
|
+ environment:
|
|
|
+ POSTGRES_DB: ${HATCHET_POSTGRES_DBNAME:-hatchet}
|
|
|
+ POSTGRES_USER: ${HATCHET_POSTGRES_USER:-hatchet_user}
|
|
|
+ POSTGRES_PASSWORD: ${HATCHET_POSTGRES_PASSWORD:-hatchet_password}
|
|
|
+ volumes:
|
|
|
+ - ./hatchet_postgres_data:/var/lib/postgresql/data
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+ healthcheck:
|
|
|
+ test: ["CMD-SHELL", "pg_isready -U ${HATCHET_POSTGRES_USER:-hatchet_user} -d ${HATCHET_POSTGRES_DBNAME:-hatchet}"]
|
|
|
+ interval: 10s
|
|
|
+ timeout: 5s
|
|
|
+ retries: 5
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+
|
|
|
+ hatchet-rabbitmq:
|
|
|
+ image: "rabbitmq:3-management"
|
|
|
+ hostname: "hatchet-rabbitmq"
|
|
|
+ ports:
|
|
|
+ - "${R2R_RABBITMQ_PORT:-5673}:5672"
|
|
|
+ - "${R2R_RABBITMQ_MGMT_PORT:-15673}:15672"
|
|
|
+ environment:
|
|
|
+ RABBITMQ_DEFAULT_USER: "user"
|
|
|
+ RABBITMQ_DEFAULT_PASS: "password"
|
|
|
+ volumes:
|
|
|
+ - hatchet_rabbitmq_data:/var/lib/rabbitmq
|
|
|
+ - hatchet_rabbitmq_conf:/etc/rabbitmq/rabbitmq.conf
|
|
|
+ healthcheck:
|
|
|
+ test: ["CMD", "rabbitmqctl", "status"]
|
|
|
+ interval: 10s
|
|
|
+ timeout: 10s
|
|
|
+ retries: 5
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+
|
|
|
+ hatchet-create-db:
|
|
|
+ image: postgres:latest
|
|
|
+ command: >
|
|
|
+ sh -c "
|
|
|
+ set -e
|
|
|
+ echo 'Waiting for PostgreSQL to be ready...'
|
|
|
+ while ! pg_isready -h hatchet-postgres -p 5432 -U ${HATCHET_POSTGRES_USER:-hatchet_user}; do
|
|
|
+ sleep 1
|
|
|
+ done
|
|
|
+ echo 'PostgreSQL is ready, checking if database exists...'
|
|
|
+ if ! PGPASSWORD=${HATCHET_POSTGRES_PASSWORD:-hatchet_password} psql -h hatchet-postgres -p 5432 -U ${HATCHET_POSTGRES_USER:-hatchet_user} -lqt | grep -qw ${HATCHET_POSTGRES_DBNAME:-hatchet}; then
|
|
|
+ echo 'Database does not exist, creating it...'
|
|
|
+ PGPASSWORD=${HATCHET_POSTGRES_PASSWORD:-hatchet_password} createdb -h hatchet-postgres -p 5432 -U ${HATCHET_POSTGRES_USER:-hatchet_user} -w ${HATCHET_POSTGRES_DBNAME:-hatchet}
|
|
|
+ else
|
|
|
+ echo 'Database already exists, skipping creation.'
|
|
|
+ fi
|
|
|
+ "
|
|
|
+ environment:
|
|
|
+ DATABASE_URL: "postgres://${HATCHET_POSTGRES_USER:-hatchet_user}:${HATCHET_POSTGRES_PASSWORD:-hatchet_password}@hatchet-postgres:5432/${HATCHET_POSTGRES_DBNAME:-hatchet}?sslmode=disable"
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+
|
|
|
+ hatchet-migration:
|
|
|
+ image: ghcr.io/hatchet-dev/hatchet/hatchet-migrate:v0.53.15
|
|
|
+ environment:
|
|
|
+ DATABASE_URL: "postgres://${HATCHET_POSTGRES_USER:-hatchet_user}:${HATCHET_POSTGRES_PASSWORD:-hatchet_password}@hatchet-postgres:5432/${HATCHET_POSTGRES_DBNAME:-hatchet}?sslmode=disable"
|
|
|
+ depends_on:
|
|
|
+ - hatchet-create-db
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+
|
|
|
+ hatchet-setup-config:
|
|
|
+ image: ghcr.io/hatchet-dev/hatchet/hatchet-admin:v0.53.15
|
|
|
+ command: /hatchet/hatchet-admin quickstart --skip certs --generated-config-dir /hatchet/config --overwrite=false
|
|
|
+ environment:
|
|
|
+ DATABASE_URL: "postgres://${HATCHET_POSTGRES_USER:-hatchet_user}:${HATCHET_POSTGRES_PASSWORD:-hatchet_password}@hatchet-postgres:5432/${HATCHET_POSTGRES_DBNAME:-hatchet}?sslmode=disable"
|
|
|
+
|
|
|
+ HATCHET_CLIENT_GRPC_MAX_RECV_MESSAGE_LENGTH: "${HATCHET_CLIENT_GRPC_MAX_RECV_MESSAGE_LENGTH:-134217728}"
|
|
|
+ HATCHET_CLIENT_GRPC_MAX_SEND_MESSAGE_LENGTH: "${HATCHET_CLIENT_GRPC_MAX_SEND_MESSAGE_LENGTH:-134217728}"
|
|
|
+
|
|
|
+ DATABASE_POSTGRES_PORT: "5432"
|
|
|
+ DATABASE_POSTGRES_HOST: hatchet-postgres
|
|
|
+ DATABASE_POSTGRES_USERNAME: "${HATCHET_POSTGRES_USER:-hatchet_user}"
|
|
|
+ DATABASE_POSTGRES_PASSWORD: "${HATCHET_POSTGRES_PASSWORD:-hatchet_password}"
|
|
|
+ HATCHET_DATABASE_POSTGRES_DB_NAME: "${HATCHET_POSTGRES_DBNAME:-hatchet}"
|
|
|
+
|
|
|
+ SERVER_TASKQUEUE_RABBITMQ_URL: amqp://user:password@hatchet-rabbitmq:5672/
|
|
|
+ SERVER_AUTH_COOKIE_DOMAIN: "http://host.docker.internal:${R2R_HATCHET_DASHBOARD_PORT:-7274}"
|
|
|
+ SERVER_URL: "http://host.docker.internal:${R2R_HATCHET_DASHBOARD_PORT:-7274}"
|
|
|
+ SERVER_AUTH_COOKIE_INSECURE: "t"
|
|
|
+ SERVER_GRPC_BIND_ADDRESS: "0.0.0.0"
|
|
|
+ SERVER_GRPC_INSECURE: "t"
|
|
|
+ SERVER_GRPC_BROADCAST_ADDRESS: "hatchet-engine:7077"
|
|
|
+ SERVER_GRPC_MAX_MSG_SIZE: 134217728
|
|
|
+ volumes:
|
|
|
+ - hatchet_certs:/hatchet/certs
|
|
|
+ - hatchet_config:/hatchet/config
|
|
|
+ depends_on:
|
|
|
+ - hatchet-migration
|
|
|
+ - hatchet-rabbitmq
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+
|
|
|
+ hatchet-engine:
|
|
|
+ image: ghcr.io/hatchet-dev/hatchet/hatchet-engine:v0.53.15
|
|
|
+ command: /hatchet/hatchet-engine --config /hatchet/config
|
|
|
+ depends_on:
|
|
|
+ - hatchet-setup-config
|
|
|
+ ports:
|
|
|
+ - "${R2R_HATCHET_ENGINE_PORT:-7077}:7077"
|
|
|
+ environment:
|
|
|
+ DATABASE_URL: "postgres://${HATCHET_POSTGRES_USER:-hatchet_user}:${HATCHET_POSTGRES_PASSWORD:-hatchet_password}@hatchet-postgres:5432/${HATCHET_POSTGRES_DBNAME:-hatchet}?sslmode=disable"
|
|
|
+ SERVER_GRPC_BROADCAST_ADDRESS: "hatchet-engine:7077"
|
|
|
+ SERVER_GRPC_BIND_ADDRESS: "0.0.0.0"
|
|
|
+ SERVER_GRPC_PORT: "7077"
|
|
|
+ SERVER_GRPC_INSECURE: "t"
|
|
|
+ SERVER_GRPC_MAX_MSG_SIZE: 134217728
|
|
|
+ volumes:
|
|
|
+ - hatchet_certs:/hatchet/certs
|
|
|
+ - hatchet_config:/hatchet/config
|
|
|
+ healthcheck:
|
|
|
+ test: ["CMD", "wget", "-q", "-O", "-", "http://localhost:8733/live"]
|
|
|
+ interval: 10s
|
|
|
+ timeout: 5s
|
|
|
+ retries: 5
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+
|
|
|
+ hatchet-dashboard:
|
|
|
+ image: ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:v0.53.15
|
|
|
+ command: sh ./entrypoint.sh --config /hatchet/config
|
|
|
+ depends_on:
|
|
|
+ - hatchet-setup-config
|
|
|
+ environment:
|
|
|
+ DATABASE_URL: "postgres://${HATCHET_POSTGRES_USER:-hatchet_user}:${HATCHET_POSTGRES_PASSWORD:-hatchet_password}@hatchet-postgres:5432/${HATCHET_POSTGRES_DBNAME:-hatchet}?sslmode=disable"
|
|
|
+ volumes:
|
|
|
+ - hatchet_certs:/hatchet/certs
|
|
|
+ - hatchet_config:/hatchet/config
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+ ports:
|
|
|
+ - "${R2R_HATCHET_DASHBOARD_PORT:-7274}:80"
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+
|
|
|
+ setup-token:
|
|
|
+ image: ghcr.io/hatchet-dev/hatchet/hatchet-admin:v0.53.15
|
|
|
+ command: sh /scripts/setup-token.sh
|
|
|
+ volumes:
|
|
|
+ - ./scripts:/scripts
|
|
|
+ - hatchet_certs:/hatchet/certs
|
|
|
+ - hatchet_config:/hatchet/config
|
|
|
+ - hatchet_api_key:/hatchet_api_key
|
|
|
+ depends_on:
|
|
|
+ - hatchet-setup-config
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+
|
|
|
+ unstructured:
|
|
|
+ image: ${UNSTRUCTURED_IMAGE:-ragtoriches/unst-prod}
|
|
|
+ healthcheck:
|
|
|
+ test: ["CMD", "curl", "-f", "http://localhost:7275/health"]
|
|
|
+ interval: 10s
|
|
|
+ timeout: 5s
|
|
|
+ retries: 5
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+
|
|
|
+ graph_clustering:
|
|
|
+ image: ${GRAPH_CLUSTERING_IMAGE:-ragtoriches/cluster-prod}
|
|
|
+ ports:
|
|
|
+ - "${R2R_GRAPH_CLUSTERING_PORT:-7276}:7276"
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+ healthcheck:
|
|
|
+ test: ["CMD", "curl", "-f", "http://localhost:7276/health"]
|
|
|
+ interval: 10s
|
|
|
+ timeout: 5s
|
|
|
+ retries: 5
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+
|
|
|
+ r2r:
|
|
|
+ image: sciphiai/r2r:latest
|
|
|
+ ports:
|
|
|
+ - "${R2R_PORT:-7272}:${R2R_PORT:-7272}"
|
|
|
+
|
|
|
+ environment:
|
|
|
+ - PYTHONUNBUFFERED=1
|
|
|
+ - R2R_PORT=${R2R_PORT:-7272}
|
|
|
+ - R2R_HOST=${R2R_HOST:-0.0.0.0}
|
|
|
+
|
|
|
+ # R2R
|
|
|
+ - R2R_LOG_LEVEL=${R2R_LOG_LEVEL:-INFO}
|
|
|
+ - R2R_LOG_CONSOLE_FORMATTER=${R2R_LOG_CONSOLE_FORMATTER:-json}
|
|
|
+ - R2R_CONFIG_NAME=${R2R_CONFIG_NAME:-}
|
|
|
+ - R2R_CONFIG_PATH=${R2R_CONFIG_PATH:-}
|
|
|
+ - R2R_PROJECT_NAME=${R2R_PROJECT_NAME:-r2r_default}
|
|
|
+ - R2R_SECRET_KEY=${R2R_SECRET_KEY:-}
|
|
|
+
|
|
|
+ # Postgres
|
|
|
+ - R2R_POSTGRES_USER=${R2R_POSTGRES_USER:-postgres}
|
|
|
+ - R2R_POSTGRES_PASSWORD=${R2R_POSTGRES_PASSWORD:-cocorobo-123}
|
|
|
+ - R2R_POSTGRES_HOST=${R2R_POSTGRES_HOST:-postgres}
|
|
|
+ - R2R_POSTGRES_PORT=${R2R_POSTGRES_PORT:-5432}
|
|
|
+ - R2R_POSTGRES_DBNAME=${R2R_POSTGRES_DBNAME:-postgres}
|
|
|
+ - R2R_POSTGRES_MAX_CONNECTIONS=${R2R_POSTGRES_MAX_CONNECTIONS:-102400}
|
|
|
+ - R2R_POSTGRES_STATEMENT_CACHE_SIZE=${R2R_POSTGRES_STATEMENT_CACHE_SIZE:-1000}
|
|
|
+
|
|
|
+ # OpenAI
|
|
|
+ #- OPENAI_API_KEY=${OPENAI_API_KEY:-}
|
|
|
+ #- OPENAI_API_BASE=${OPENAI_API_BASE:-}
|
|
|
+
|
|
|
+ - OPENAI_API_KEY=${OPENAI_API_KEY:-sk-j9Uwupu0NPZtdDS_IfEZlRWpX1JgFyZFLZProkesy2QbtqMs16pDnylAozU}
|
|
|
+ - OPENAI_API_BASE=${OPENAI_API_BASE:-http://172.16.12.13:3000/v1}
|
|
|
+
|
|
|
+ # Azure Foundry
|
|
|
+ - AZURE_FOUNDRY_API_ENDPOINT=${AZURE_FOUNDRY_API_ENDPOINT:-}
|
|
|
+ - AZURE_FOUNDRY_API_KEY=${AZURE_FOUNDRY_API_KEY:-}
|
|
|
+
|
|
|
+ # XAI / GROK
|
|
|
+ - XAI_API_KEY=${XAI_API_KEY:-}
|
|
|
+
|
|
|
+ # Anthropic
|
|
|
+ - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
|
|
|
+
|
|
|
+ # Azure
|
|
|
+ - AZURE_API_KEY=${AZURE_API_KEY:-}
|
|
|
+ - AZURE_API_BASE=${AZURE_API_BASE:-}
|
|
|
+ - AZURE_API_VERSION=${AZURE_API_VERSION:-}
|
|
|
+
|
|
|
+ # Google Vertex AI
|
|
|
+ - GOOGLE_APPLICATION_CREDENTIALS=${GOOGLE_APPLICATION_CREDENTIALS:-}
|
|
|
+ - VERTEX_PROJECT=${VERTEX_PROJECT:-}
|
|
|
+ - VERTEX_LOCATION=${VERTEX_LOCATION:-}
|
|
|
+
|
|
|
+ # Google Gemini
|
|
|
+ - GEMINI_API_KEY=${GEMINI_API_KEY:-}
|
|
|
+
|
|
|
+ # AWS Bedrock
|
|
|
+ #- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-}
|
|
|
+ #- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-}
|
|
|
+ #- AWS_REGION_NAME=${AWS_REGION_NAME:-}
|
|
|
+ - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-AKIATLPEDU37ZUJYM7GG}
|
|
|
+ - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-jG03SAjC1VcSMd2dH9yBbttUAN3Z0qR8b6o29UxC}
|
|
|
+ - AWS_REGION_NAME=${AWS_REGION_NAME:-cn-north-1}
|
|
|
+
|
|
|
+ # Groq
|
|
|
+ - GROQ_API_KEY=${GROQ_API_KEY:-}
|
|
|
+
|
|
|
+ # Cohere
|
|
|
+ - COHERE_API_KEY=${COHERE_API_KEY:-}
|
|
|
+
|
|
|
+ # Anyscale
|
|
|
+ - ANYSCALE_API_KEY=${ANYSCALE_API_KEY:-}
|
|
|
+
|
|
|
+ # Ollama
|
|
|
+ #- OLLAMA_API_BASE=${OLLAMA_API_BASE:-http://host.docker.internal:11434}
|
|
|
+ - OLLAMA_API_BASE=${OLLAMA_API_BASE:-http://34.228.204.21:11434}
|
|
|
+
|
|
|
+ # LM Studio
|
|
|
+ - LM_STUDIO_API_BASE=${LM_STUDIO_API_BASE:-}
|
|
|
+ - LM_STUDIO_API_KEY=${LM_STUDIO_API_KEY:-1234}
|
|
|
+
|
|
|
+ # Huggingface
|
|
|
+ - HUGGINGFACE_API_BASE=${HUGGINGFACE_API_BASE:-}
|
|
|
+ - HUGGINGFACE_API_KEY=${HUGGINGFACE_API_KEY}
|
|
|
+
|
|
|
+ # Unstructured
|
|
|
+ - UNSTRUCTURED_API_KEY=${UNSTRUCTURED_API_KEY:-cJR72sMAYxCtT6Pmd2PW3KmrjNcKp5}
|
|
|
+ - UNSTRUCTURED_API_URL=${UNSTRUCTURED_API_URL:-https://api.unstructured.io/general/v0/general}
|
|
|
+ - UNSTRUCTURED_SERVICE_URL=${UNSTRUCTURED_SERVICE_URL:-http://unstructured:7275}
|
|
|
+ - UNSTRUCTURED_NUM_WORKERS=${UNSTRUCTURED_NUM_WORKERS:-10}
|
|
|
+
|
|
|
+ # Hatchet
|
|
|
+ - HATCHET_CLIENT_TLS_STRATEGY=none
|
|
|
+ - HATCHET_CLIENT_GRPC_MAX_RECV_MESSAGE_LENGTH=${HATCHET_CLIENT_GRPC_MAX_RECV_MESSAGE_LENGTH:-134217728}
|
|
|
+ - HATCHET_CLIENT_GRPC_MAX_SEND_MESSAGE_LENGTH=${HATCHET_CLIENT_GRPC_MAX_SEND_MESSAGE_LENGTH:-134217728}
|
|
|
+
|
|
|
+ # Graphologic
|
|
|
+ - CLUSTERING_SERVICE_URL=http://graph_clustering:7276
|
|
|
+
|
|
|
+ # OAuth Credentials
|
|
|
+ - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
|
|
|
+ - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
|
|
|
+ - GOOGLE_REDIRECT_URI=${GOOGLE_REDIRECT_URI}
|
|
|
+
|
|
|
+ - GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
|
|
|
+ - GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}
|
|
|
+ - GITHUB_REDIRECT_URI=${GITHUB_REDIRECT_URI}
|
|
|
+
|
|
|
+ # Other
|
|
|
+ - FIRECRAWL_API_KEY=${FIRECRAWL_API_KEY}
|
|
|
+ - SERPER_API_KEY=${SERPER_API_KEY}
|
|
|
+ - SENDGRID_API_KEY=${SENDGRID_API_KEY}
|
|
|
+ - R2R_SENTRY_DSN=${R2R_SENTRY_DSN}
|
|
|
+ - R2R_SENTRY_ENVIRONMENT=${R2R_SENTRY_ENVIRONMENT}
|
|
|
+ - R2R_SENTRY_TRACES_SAMPLE_RATE=${R2R_SENTRY_TRACES_SAMPLE_RATE}
|
|
|
+ - R2R_SENTRY_PROFILES_SAMPLE_RATE=${R2R_SENTRY_PROFILES_SAMPLE_RATE}
|
|
|
+
|
|
|
+ command: >
|
|
|
+ sh -c '
|
|
|
+ if [ -z "$${HATCHET_CLIENT_TOKEN}" ]; then
|
|
|
+ export HATCHET_CLIENT_TOKEN=$$(cat /hatchet_api_key/api_key.txt)
|
|
|
+ fi
|
|
|
+ exec uvicorn core.main.app_entry:app --host $${R2R_HOST} --port $${R2R_PORT}
|
|
|
+ '
|
|
|
+ env_file:
|
|
|
+ - ./env/r2r-full.env
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+ volumes:
|
|
|
+ - ./user_configs:/app/user_configs
|
|
|
+ - ./scripts:/scripts
|
|
|
+ #- ${R2R_CONFIG_PATH:-/}:${R2R_CONFIG_PATH:-/app/config}
|
|
|
+ - hatchet_api_key:/hatchet_api_key:ro
|
|
|
+ extra_hosts:
|
|
|
+ - host.docker.internal:host-gateway
|
|
|
+ depends_on:
|
|
|
+ - setup-token
|
|
|
+ - unstructured
|
|
|
+ - graph_clustering
|
|
|
+ healthcheck:
|
|
|
+ test: ["CMD", "curl", "-f", "http://localhost:${R2R_PORT:-7272}/v3/health"]
|
|
|
+ interval: 6s
|
|
|
+ timeout: 5s
|
|
|
+ retries: 5
|
|
|
+ start_period: 30s
|
|
|
+ build:
|
|
|
+ context: ../py/
|
|
|
+ dockerfile: ../py/Dockerfile
|
|
|
+ deploy:
|
|
|
+ replicas: ${R2R_REPLICAS:-1}
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+ update_config:
|
|
|
+ parallelism: 1
|
|
|
+ delay: 30s
|
|
|
+ order: start-first
|
|
|
+ rollback_config:
|
|
|
+ parallelism: 1
|
|
|
+ delay: 30s
|
|
|
+ #logging:
|
|
|
+ #driver: fluentd
|
|
|
+ #options:
|
|
|
+ #fluentd-address: host.docker.internal:24224
|
|
|
+ #fluentd-sub-second-precision: "true"
|
|
|
+ #tag: backend
|
|
|
+
|
|
|
+ r2r-dashboard:
|
|
|
+ image: sciphiai/r2r-dashboard:1.0.2
|
|
|
+ environment:
|
|
|
+ - NEXT_PUBLIC_R2R_DEPLOYMENT_URL=${R2R_DEPLOYMENT_URL:-http://localhost:7272}
|
|
|
+ - NEXT_PUBLIC_HATCHET_DASHBOARD_URL=${HATCHET_DASHBOARD_URL:-http://localhost:${R2R_HATCHET_DASHBOARD_PORT:-7274}}
|
|
|
+ ports:
|
|
|
+ - "${R2R_DASHBOARD_PORT:-7273}:3000"
|
|
|
+ deploy:
|
|
|
+ replicas: 1
|
|
|
+ restart_policy:
|
|
|
+ condition: on-failure
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+
|
|
|
+ fluent-bit:
|
|
|
+ image: fluent/fluent-bit:latest
|
|
|
+ volumes:
|
|
|
+ - ./docker/fluent-bit:/fluent-bit/etc:ro
|
|
|
+ ports:
|
|
|
+ - "24224:24224"
|
|
|
+ depends_on:
|
|
|
+ - victoria-logs
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+
|
|
|
+ grafana:
|
|
|
+ image: grafana/grafana:latest
|
|
|
+ ports:
|
|
|
+ - "3001:3000"
|
|
|
+ env_file:
|
|
|
+ - .env
|
|
|
+ volumes:
|
|
|
+ - ./.data/grafana:/var/lib/grafana
|
|
|
+ networks:
|
|
|
+ - r2r-network
|
|
|
+
|
|
|
+
|
|
|
+ victoria-logs:
|
|
|
+ image: victoriametrics/victoria-logs:v1.10.1-victorialogs
|
|
|
+ ports:
|
|
|
+ - "9428:9428"
|
|
|
+ volumes:
|
|
|
+ - ./.data/victoria-logs:/data
|
|
|
+ command: -storageDataPath=/data -retentionPeriod=60d
|
|
|
+ networks:
|
|
|
+ - r2r-network
|