From 08003fcbacfcf090d9b6f336d748eaabbffc4fa0 Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 15 Oct 2025 11:15:24 +0100 Subject: [PATCH] Basic AI chat working --- docker-compose.yml | 216 +++++++++++++------------- nginx/vhost.d/rec | 2 +- nginx/vhost.d/tower_location_override | 6 + 3 files changed, 115 insertions(+), 109 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b1ac094..914c260 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,13 +5,13 @@ x-logging: &logging max-size: "5m" max-file: "2" -x-firecrawl-service: &firecrawl-service - image: ghcr.io/mendableai/firecrawl - -x-firecrawl-env: &firecrawl-env - REDIS_URL: redis://redis:6379 - REDIS_RATE_LIMIT_URL: redis://redis:6379 - PLAYWRIGHT_MICROSERVICE_URL: http://playwright:3000/scrape +#x-firecrawl-service: &firecrawl-service +# image: ghcr.io/mendableai/firecrawl +# +#x-firecrawl-env: &firecrawl-env +# REDIS_URL: redis://redis:6379 +# REDIS_RATE_LIMIT_URL: redis://redis:6379 +# PLAYWRIGHT_MICROSERVICE_URL: http://playwright:3000/scrape services: # change: @@ -62,7 +62,7 @@ services: profiles: ["prod", "dev"] <<: *logging build: ./nextcloud - image: nextcloud:31-fpm-alpine + image: nextcloud:32-fpm-alpine restart: unless-stopped user: 1000:1000 ports: @@ -176,7 +176,7 @@ services: - db depends_on: - mongodb - - rag_api + # - rag_api restart: always extra_hosts: - "host.docker.internal:host-gateway" @@ -188,14 +188,14 @@ services: - HOST=0.0.0.0 - NODE_ENV=production - MONGO_URI=mongodb://${DB_USER}:${DB_PASSWORD}@mongodb:27017/LibreChat?authSource=admin - - MEILI_HOST=http://meilisearch:7700 - - MEILI_MASTER_KEY=${MEILI_MASTER_KEY} - - RAG_PORT=8000 - - RAG_API_URL=http://rag_api:8000 - - SEARXNG_INSTANCE_URL=http://searxng:8080 - - SEARXNG_API_KEY=${SEARXNG_SECRET_KEY} - - FIRECRAWL_URL=http://firecrawl:3002 - - FIRECRWAL_API_KEY= + #- MEILI_HOST=http://meilisearch:7700 + #- MEILI_MASTER_KEY=${MEILI_MASTER_KEY} + #- RAG_PORT=8000 + #- RAG_API_URL=http://rag_api:8000 + #- SEARXNG_INSTANCE_URL=http://searxng:8080 + #- SEARXNG_API_KEY=${SEARXNG_SECRET_KEY} + #- FIRECRAWL_URL=http://firecrawl:3002 + #- FIRECRWAL_API_KEY= - ALLOW_EMAIL_LOGIN=true - ALLOW_REGISTRATION=false - ALLOW_SOCIAL_LOGIN=false @@ -212,7 +212,7 @@ services: - IMAGE_GEN_OAI_BASEURL=https://aihubmix.com/v1 - IMAGE_GEN_OAI_API_KEY=${AIHUBMIX_KEY} - IMAGE_GEN_OAI_MODEL=gpt-image-1 - - JINA_API_KEY=${JINA_API_KEY} + #- JINA_API_KEY=${JINA_API_KEY} volumes: - type: bind source: ./librechat/librechat.yaml @@ -275,7 +275,7 @@ services: - PRUNE_BACKUPS_DAYS=30 volumes: - minecraft:/data:ro - - /mnt/tower/backups/minecraft:/backups + - /mnt/backups/minecraft:/backups navidrome: profiles: ["prod"] @@ -681,52 +681,52 @@ services: networks: - db - playwright: - profiles: ["prod", "dev"] - <<: *logging - image: ghcr.io/mendableai/playwright-service:latest - environment: - PORT: 3000 - BLOCK_MEDIA: true - networks: - - playwright + #playwright: + # profiles: ["prod", "dev"] + # <<: *logging + # image: ghcr.io/mendableai/playwright-service:latest + # environment: + # PORT: 3000 + # BLOCK_MEDIA: true + # networks: + # - playwright - firecrawl: - profiles: ["prod", "dev"] - <<: [*logging, *firecrawl-service] - environment: - <<: *firecrawl-env - HOST: "0.0.0.0" - PORT: 3002 - FLY_PROCESS_GROUP: app - ENV: local - VIRTUAL_HOST: scraper.${DOMAIN} - CERT_NAME: ${DOMAIN} - VIRTUAL_PORT: 3002 - depends_on: - - redis - - playwright - ports: - - "3002:3002" - networks: - - redis - - playwright - command: [ "pnpm", "run", "start:production" ] + #firecrawl: + # profiles: ["prod", "dev"] + # <<: [*logging, *firecrawl-service] + # environment: + # <<: *firecrawl-env + # HOST: "0.0.0.0" + # PORT: 3002 + # FLY_PROCESS_GROUP: app + # ENV: local + # VIRTUAL_HOST: scraper.${DOMAIN} + # CERT_NAME: ${DOMAIN} + # VIRTUAL_PORT: 3002 + # depends_on: + # - redis + # - playwright + # ports: + # - "3002:3002" + # networks: + # - redis + # - playwright + # command: [ "pnpm", "run", "start:production" ] - firecrawl-worker: - profiles: ["prod", "dev"] - <<: [*firecrawl-service, *logging] - environment: - <<: *firecrawl-env - FLY_PROCESS_GROUP: worker - networks: - - redis - - playwright - depends_on: - - redis - - playwright - - firecrawl - command: [ "pnpm", "run", "workers" ] + #firecrawl-worker: + # profiles: ["prod", "dev"] + # <<: [*firecrawl-service, *logging] + # environment: + # <<: *firecrawl-env + # FLY_PROCESS_GROUP: worker + # networks: + # - redis + # - playwright + # depends_on: + # - redis + # - playwright + # - firecrawl + # command: [ "pnpm", "run", "workers" ] redis: profiles: ["prod", "dev"] @@ -752,50 +752,50 @@ services: - MONGO_INITDB_ROOT_PASSWORD=${DB_PASSWORD} <<: *logging - meilisearch: - profiles: ["prod", "dev"] - image: getmeili/meilisearch:v1.12.3 - restart: always - networks: - - db - # ports: - # - 7700:7700 - environment: - - MEILI_HOST=http://meilisearch:7700 - - MEILI_NO_ANALYTICS=true - - MEILI_MASTER_KEY=${MEILI_MASTER_KEY} - volumes: - - meilisearch:/meili_data - <<: *logging + #meilisearch: + # profiles: ["prod", "dev"] + # image: getmeili/meilisearch:v1.12.3 + # restart: always + # networks: + # - db + # # ports: + # # - 7700:7700 + # environment: + # - MEILI_HOST=http://meilisearch:7700 + # - MEILI_NO_ANALYTICS=true + # - MEILI_MASTER_KEY=${MEILI_MASTER_KEY} + # volumes: + # - meilisearch:/meili_data + # <<: *logging - vectordb: - profiles: ["prod", "dev"] - image: ankane/pgvector:latest - networks: - - db - environment: - POSTGRES_DB: mydatabase - POSTGRES_USER: myuser - POSTGRES_PASSWORD: mypassword - restart: always - volumes: - - pgdata2:/var/lib/postgresql/data - <<: *logging + #vectordb: + # profiles: ["prod", "dev"] + # image: ankane/pgvector:latest + # networks: + # - db + # environment: + # POSTGRES_DB: mydatabase + # POSTGRES_USER: myuser + # POSTGRES_PASSWORD: mypassword + # restart: always + # volumes: + # - pgdata2:/var/lib/postgresql/data + # <<: *logging - rag_api: - profiles: ["prod", "dev"] - image: ghcr.io/danny-avila/librechat-rag-api-dev:latest - environment: - - DB_HOST=vectordb - - RAG_PORT=8000 - - EMBEDDINGS_PROVIDER=huggingface - - HF_TOKEN=${HF_TOKEN} - restart: always - networks: - - db - depends_on: - - vectordb - <<: *logging + #rag_api: + # profiles: ["prod", "dev"] + # image: ghcr.io/danny-avila/librechat-rag-api-dev:latest + # environment: + # - DB_HOST=vectordb + # - RAG_PORT=8000 + # - EMBEDDINGS_PROVIDER=huggingface + # - HF_TOKEN=${HF_TOKEN} + # restart: always + # networks: + # - db + # depends_on: + # - vectordb + # <<: *logging nginx: <<: *logging @@ -843,13 +843,13 @@ volumes: change: mongodb: searxng: - pgdata2: - meilisearch: + #pgdata2: + #meilisearch: networks: db: nginx: redis: meet.jitsi: - playwright: + #playwright: diff --git a/nginx/vhost.d/rec b/nginx/vhost.d/rec index 6da213c..74a55be 100644 --- a/nginx/vhost.d/rec +++ b/nginx/vhost.d/rec @@ -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 location ~ ^/change/(socket\.io|peer) { diff --git a/nginx/vhost.d/tower_location_override b/nginx/vhost.d/tower_location_override index 249e82c..eee73b8 100644 --- a/nginx/vhost.d/tower_location_override +++ b/nginx/vhost.d/tower_location_override @@ -83,6 +83,12 @@ location ~ \.(otf|woff2?)$ { 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` location /remote { return 301 /remote.php$request_uri;