Basic AI chat working

This commit is contained in:
2025-10-15 11:15:24 +01:00
parent 50b848d2dc
commit 08003fcbac
3 changed files with 115 additions and 109 deletions

View File

@@ -5,13 +5,13 @@ x-logging: &logging
max-size: "5m" max-size: "5m"
max-file: "2" max-file: "2"
x-firecrawl-service: &firecrawl-service #x-firecrawl-service: &firecrawl-service
image: ghcr.io/mendableai/firecrawl # image: ghcr.io/mendableai/firecrawl
#
x-firecrawl-env: &firecrawl-env #x-firecrawl-env: &firecrawl-env
REDIS_URL: redis://redis:6379 # REDIS_URL: redis://redis:6379
REDIS_RATE_LIMIT_URL: redis://redis:6379 # REDIS_RATE_LIMIT_URL: redis://redis:6379
PLAYWRIGHT_MICROSERVICE_URL: http://playwright:3000/scrape # PLAYWRIGHT_MICROSERVICE_URL: http://playwright:3000/scrape
services: services:
# change: # change:
@@ -62,7 +62,7 @@ services:
profiles: ["prod", "dev"] profiles: ["prod", "dev"]
<<: *logging <<: *logging
build: ./nextcloud build: ./nextcloud
image: nextcloud:31-fpm-alpine image: nextcloud:32-fpm-alpine
restart: unless-stopped restart: unless-stopped
user: 1000:1000 user: 1000:1000
ports: ports:
@@ -176,7 +176,7 @@ services:
- db - db
depends_on: depends_on:
- mongodb - mongodb
- rag_api # - rag_api
restart: always restart: always
extra_hosts: extra_hosts:
- "host.docker.internal:host-gateway" - "host.docker.internal:host-gateway"
@@ -188,14 +188,14 @@ services:
- HOST=0.0.0.0 - HOST=0.0.0.0
- NODE_ENV=production - NODE_ENV=production
- MONGO_URI=mongodb://${DB_USER}:${DB_PASSWORD}@mongodb:27017/LibreChat?authSource=admin - MONGO_URI=mongodb://${DB_USER}:${DB_PASSWORD}@mongodb:27017/LibreChat?authSource=admin
- MEILI_HOST=http://meilisearch:7700 #- MEILI_HOST=http://meilisearch:7700
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY} #- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
- RAG_PORT=8000 #- RAG_PORT=8000
- RAG_API_URL=http://rag_api:8000 #- RAG_API_URL=http://rag_api:8000
- SEARXNG_INSTANCE_URL=http://searxng:8080 #- SEARXNG_INSTANCE_URL=http://searxng:8080
- SEARXNG_API_KEY=${SEARXNG_SECRET_KEY} #- SEARXNG_API_KEY=${SEARXNG_SECRET_KEY}
- FIRECRAWL_URL=http://firecrawl:3002 #- FIRECRAWL_URL=http://firecrawl:3002
- FIRECRWAL_API_KEY= #- FIRECRWAL_API_KEY=
- ALLOW_EMAIL_LOGIN=true - ALLOW_EMAIL_LOGIN=true
- ALLOW_REGISTRATION=false - ALLOW_REGISTRATION=false
- ALLOW_SOCIAL_LOGIN=false - ALLOW_SOCIAL_LOGIN=false
@@ -212,7 +212,7 @@ services:
- IMAGE_GEN_OAI_BASEURL=https://aihubmix.com/v1 - IMAGE_GEN_OAI_BASEURL=https://aihubmix.com/v1
- IMAGE_GEN_OAI_API_KEY=${AIHUBMIX_KEY} - IMAGE_GEN_OAI_API_KEY=${AIHUBMIX_KEY}
- IMAGE_GEN_OAI_MODEL=gpt-image-1 - IMAGE_GEN_OAI_MODEL=gpt-image-1
- JINA_API_KEY=${JINA_API_KEY} #- JINA_API_KEY=${JINA_API_KEY}
volumes: volumes:
- type: bind - type: bind
source: ./librechat/librechat.yaml source: ./librechat/librechat.yaml
@@ -275,7 +275,7 @@ services:
- PRUNE_BACKUPS_DAYS=30 - PRUNE_BACKUPS_DAYS=30
volumes: volumes:
- minecraft:/data:ro - minecraft:/data:ro
- /mnt/tower/backups/minecraft:/backups - /mnt/backups/minecraft:/backups
navidrome: navidrome:
profiles: ["prod"] profiles: ["prod"]
@@ -681,52 +681,52 @@ services:
networks: networks:
- db - db
playwright: #playwright:
profiles: ["prod", "dev"] # profiles: ["prod", "dev"]
<<: *logging # <<: *logging
image: ghcr.io/mendableai/playwright-service:latest # image: ghcr.io/mendableai/playwright-service:latest
environment: # environment:
PORT: 3000 # PORT: 3000
BLOCK_MEDIA: true # BLOCK_MEDIA: true
networks: # networks:
- playwright # - playwright
firecrawl: #firecrawl:
profiles: ["prod", "dev"] # profiles: ["prod", "dev"]
<<: [*logging, *firecrawl-service] # <<: [*logging, *firecrawl-service]
environment: # environment:
<<: *firecrawl-env # <<: *firecrawl-env
HOST: "0.0.0.0" # HOST: "0.0.0.0"
PORT: 3002 # PORT: 3002
FLY_PROCESS_GROUP: app # FLY_PROCESS_GROUP: app
ENV: local # ENV: local
VIRTUAL_HOST: scraper.${DOMAIN} # VIRTUAL_HOST: scraper.${DOMAIN}
CERT_NAME: ${DOMAIN} # CERT_NAME: ${DOMAIN}
VIRTUAL_PORT: 3002 # VIRTUAL_PORT: 3002
depends_on: # depends_on:
- redis # - redis
- playwright # - playwright
ports: # ports:
- "3002:3002" # - "3002:3002"
networks: # networks:
- redis # - redis
- playwright # - playwright
command: [ "pnpm", "run", "start:production" ] # command: [ "pnpm", "run", "start:production" ]
firecrawl-worker: #firecrawl-worker:
profiles: ["prod", "dev"] # profiles: ["prod", "dev"]
<<: [*firecrawl-service, *logging] # <<: [*firecrawl-service, *logging]
environment: # environment:
<<: *firecrawl-env # <<: *firecrawl-env
FLY_PROCESS_GROUP: worker # FLY_PROCESS_GROUP: worker
networks: # networks:
- redis # - redis
- playwright # - playwright
depends_on: # depends_on:
- redis # - redis
- playwright # - playwright
- firecrawl # - firecrawl
command: [ "pnpm", "run", "workers" ] # command: [ "pnpm", "run", "workers" ]
redis: redis:
profiles: ["prod", "dev"] profiles: ["prod", "dev"]
@@ -752,50 +752,50 @@ services:
- MONGO_INITDB_ROOT_PASSWORD=${DB_PASSWORD} - MONGO_INITDB_ROOT_PASSWORD=${DB_PASSWORD}
<<: *logging <<: *logging
meilisearch: #meilisearch:
profiles: ["prod", "dev"] # profiles: ["prod", "dev"]
image: getmeili/meilisearch:v1.12.3 # image: getmeili/meilisearch:v1.12.3
restart: always # restart: always
networks: # networks:
- db # - db
# ports: # # ports:
# - 7700:7700 # # - 7700:7700
environment: # environment:
- MEILI_HOST=http://meilisearch:7700 # - MEILI_HOST=http://meilisearch:7700
- MEILI_NO_ANALYTICS=true # - MEILI_NO_ANALYTICS=true
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY} # - MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
volumes: # volumes:
- meilisearch:/meili_data # - meilisearch:/meili_data
<<: *logging # <<: *logging
vectordb: #vectordb:
profiles: ["prod", "dev"] # profiles: ["prod", "dev"]
image: ankane/pgvector:latest # image: ankane/pgvector:latest
networks: # networks:
- db # - db
environment: # environment:
POSTGRES_DB: mydatabase # POSTGRES_DB: mydatabase
POSTGRES_USER: myuser # POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword # POSTGRES_PASSWORD: mypassword
restart: always # restart: always
volumes: # volumes:
- pgdata2:/var/lib/postgresql/data # - pgdata2:/var/lib/postgresql/data
<<: *logging # <<: *logging
rag_api: #rag_api:
profiles: ["prod", "dev"] # profiles: ["prod", "dev"]
image: ghcr.io/danny-avila/librechat-rag-api-dev:latest # image: ghcr.io/danny-avila/librechat-rag-api-dev:latest
environment: # environment:
- DB_HOST=vectordb # - DB_HOST=vectordb
- RAG_PORT=8000 # - RAG_PORT=8000
- EMBEDDINGS_PROVIDER=huggingface # - EMBEDDINGS_PROVIDER=huggingface
- HF_TOKEN=${HF_TOKEN} # - HF_TOKEN=${HF_TOKEN}
restart: always # restart: always
networks: # networks:
- db # - db
depends_on: # depends_on:
- vectordb # - vectordb
<<: *logging # <<: *logging
nginx: nginx:
<<: *logging <<: *logging
@@ -843,13 +843,13 @@ volumes:
change: change:
mongodb: mongodb:
searxng: searxng:
pgdata2: #pgdata2:
meilisearch: #meilisearch:
networks: networks:
db: db:
nginx: nginx:
redis: redis:
meet.jitsi: meet.jitsi:
playwright: #playwright:

View File

@@ -1,4 +1,4 @@
Need to figure out how to get this working with nginx-proxy # Need to figure out how to get this working with nginx-proxy
# This file is for the /change/socket.io and /change/peer paths # This file is for the /change/socket.io and /change/peer paths
location ~ ^/change/(socket\.io|peer) { location ~ ^/change/(socket\.io|peer) {

View File

@@ -83,6 +83,12 @@ location ~ \.(otf|woff2?)$ {
access_log off; # Optional: Don't log access to assets access_log off; # Optional: Don't log access to assets
} }
location ~ \.(?:png|html|ttf|ico|jpg|jpeg|bcmap|mp4|webm)$ {
try_files $uri /index.php$request_uri;
# Optional: Don't log access to other assets
access_log off;
}
# Rule borrowed from `.htaccess` # Rule borrowed from `.htaccess`
location /remote { location /remote {
return 301 /remote.php$request_uri; return 301 /remote.php$request_uri;