diff --git a/docker/docker-compose-production.yml b/docker/docker-compose-production.yml index 40bca30a..1e55c4a7 100644 --- a/docker/docker-compose-production.yml +++ b/docker/docker-compose-production.yml @@ -465,6 +465,36 @@ services: container_name: redis-worker + anything-llm: + image: mintplexlabs/anythingllm:latest + ports: + - "8010:8010" + environment: + - STORAGE_DIR=/app/server/storage + - JWT_SECRET=${JWT_SECRET:-6710e067711c8001b6e509275dc6ef35} + - SERVER_PORT=8010 + - AUTH_TOKEN=${ANYTHING_LLM_PASSWORD:-hunter2} + - LLM_PROVIDER=generic-openai + - GENERIC_OPEN_AI_BASE_PATH=${VACHAN_AI_SERVED_MODEL_URI:-http://dov2prodconn.bridgeconn.com:8085} + - GENERIC_OPEN_AI_MODEL_PREF=mock-gpt-model + - GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=512 + - GENERIC_OPEN_AI_API_KEY=dummy-abc + - VECTOR_DB=lancedb + - WHISPER_PROVIDER=local + - TTS_PROVIDER=native + - PASSWORDMINCHAR=8 + volumes: + - ${ANYTHINGLLM_VOL:-/home/gitautodeploy/vachan_ai_data}:/app/server/storage + restart: always + profiles: + - local-run + - deployment + expose: + - 8010 + networks: + - VE-network + container_name: anything-llm + # Web Server web-server-local: image: nginx:latest @@ -501,6 +531,7 @@ services: - logs-vol:/var/log/nginx/ environment: - VACHAN_DOMAIN=${VACHAN_DOMAIN} + - VACHAN_LLM_DOMAIN=${VACHAN_LLM_DOMAIN} profiles: - deployment networks: diff --git a/docker/docker-compose-staging.yml b/docker/docker-compose-staging.yml index 2d6f4fd9..227c04c5 100644 --- a/docker/docker-compose-staging.yml +++ b/docker/docker-compose-staging.yml @@ -458,6 +458,37 @@ services: container_name: redis-worker + anything-llm: + image: mintplexlabs/anythingllm:latest + ports: + - "8010:8010" + environment: + - STORAGE_DIR=/app/server/storage + - JWT_SECRET=${JWT_SECRET:-6710e067711c8001b6e509275dc6ef35} + - SERVER_PORT=8010 + - AUTH_TOKEN=${ANYTHING_LLM_PASSWORD:-hunter2} + - LLM_PROVIDER=generic-openai + - GENERIC_OPEN_AI_BASE_PATH=${VACHAN_AI_SERVED_MODEL_URI:-http://dov2prodconn.bridgeconn.com:8085} + - GENERIC_OPEN_AI_MODEL_PREF=mock-gpt-model + - GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=512 + - GENERIC_OPEN_AI_API_KEY=dummy-abc + - VECTOR_DB=lancedb + - WHISPER_PROVIDER=local + - TTS_PROVIDER=native + - PASSWORDMINCHAR=8 + volumes: + - ${ANYTHINGLLM_VOL:-/home/gitautodeploy/vachan_ai_data}:/app/server/storage + restart: always + profiles: + - local-run + - deployment + expose: + - 8010 + networks: + - VE-network + container_name: anything-llm + + # Web Server web-server-local: image: nginx:latest @@ -493,6 +524,7 @@ services: - logs-vol:/var/log/nginx/ environment: - VACHAN_DOMAIN=${VACHAN_DOMAIN} + - VACHAN_LLM_DOMAIN=${VACHAN_LLM_DOMAIN} profiles: - deployment networks: diff --git a/docker/nginx/default.conf b/docker/nginx/default.conf index 4a4b8013..38145521 100644 --- a/docker/nginx/default.conf +++ b/docker/nginx/default.conf @@ -58,3 +58,19 @@ server { proxy_set_header X-Forwarded-Proto $scheme; } } + +server { + listen 80; + server_name anythingllm.vachanengine.org; + client_max_body_size 100M; + + location / { + proxy_buffering off; # Required for chunk-streaming + proxy_cache off; + proxy_pass http://anything-llm:8010/; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-Proto $scheme; + } +} diff --git a/docker/nginx/prod/app.conf.template b/docker/nginx/prod/app.conf.template index 0f7ad78f..30ccbda2 100644 --- a/docker/nginx/prod/app.conf.template +++ b/docker/nginx/prod/app.conf.template @@ -21,6 +21,25 @@ server { } } +# New HTTP server block for LLM domain +server { + listen 80; + listen [::]:80; + client_max_body_size 100M; + proxy_read_timeout 300; + proxy_connect_timeout 300; + proxy_send_timeout 300; + server_name ${VACHAN_LLM_DOMAIN}; + server_tokens off; + location /.well-known/acme-challenge/ { + root /var/www/certbot; + } + location / { + return 301 https://${VACHAN_LLM_DOMAIN}$request_uri; + } +} + + server { listen 443 default_server ssl http2; listen [::]:443 ssl http2; @@ -69,3 +88,30 @@ server { proxy_pass http://vachan-api:8000; } } + +server { + listen 443 ssl http2; + listen [::]:443 ssl http2; + + server_name ${VACHAN_LLM_DOMAIN}; + + client_max_body_size 100M; + + proxy_read_timeout 300; + proxy_connect_timeout 300; + proxy_send_timeout 300; + + ssl_certificate /etc/nginx/ssl/fullchain.pem; + ssl_certificate_key /etc/nginx/ssl/privkey.pem; + + location / { + proxy_buffering off; # Required for chunk-streaming + proxy_cache off; + proxy_pass http://anything-llm:8010/; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-Proto $scheme; + } + +}