Compare commits
3 Commits
f776320efb
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 08003fcbac | |||
| 50b848d2dc | |||
| aee12cb2ec |
@@ -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:
|
||||
@@ -59,14 +59,17 @@ services:
|
||||
- nginx
|
||||
|
||||
nextcloud:
|
||||
profiles: ["prod"]
|
||||
profiles: ["prod", "dev"]
|
||||
<<: *logging
|
||||
build: ./nextcloud
|
||||
image: nextcloud:31-fpm-alpine
|
||||
image: nextcloud:32-fpm-alpine
|
||||
restart: unless-stopped
|
||||
user: 1000:1000
|
||||
ports:
|
||||
- 9000:9000
|
||||
volumes:
|
||||
- nextcloud:/var/www/html
|
||||
- ./nextcloud/redis-session.ini:/usr/local/etc/php/conf.d/redis-session.ini
|
||||
- /mnt/tower/stardust:/var/www/html/data
|
||||
- /mnt/tower/foundry:/var/www/foundry
|
||||
environment:
|
||||
@@ -115,6 +118,7 @@ services:
|
||||
- VIRTUAL_PORT=9980
|
||||
- "DONT_GEN_SSL_CERT=True"
|
||||
- domain=tower.${DOMAIN}
|
||||
- "aliasgroup1=https://tower.${DOMAIN}"
|
||||
- cert_domain=office.${DOMAIN}
|
||||
- server_name=office.${DOMAIN}
|
||||
- username=${COLLABORA_USER}
|
||||
@@ -172,7 +176,7 @@ services:
|
||||
- db
|
||||
depends_on:
|
||||
- mongodb
|
||||
- rag_api
|
||||
# - rag_api
|
||||
restart: always
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
@@ -184,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
|
||||
@@ -205,9 +209,10 @@ services:
|
||||
- JWT_REFRESH_SECRET=${LIBRECHAT_JWT_REFRESH_SECRET}
|
||||
- AIHUBMIX_KEY=${AIHUBMIX_KEY}
|
||||
- OPENROUTER_KEY=${OPENROUTER_KEY}
|
||||
- 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
|
||||
@@ -270,7 +275,7 @@ services:
|
||||
- PRUNE_BACKUPS_DAYS=30
|
||||
volumes:
|
||||
- minecraft:/data:ro
|
||||
- /mnt/tower/backups/minecraft:/backups
|
||||
- /mnt/backups/minecraft:/backups
|
||||
|
||||
navidrome:
|
||||
profiles: ["prod"]
|
||||
@@ -676,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"]
|
||||
@@ -747,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
|
||||
@@ -838,13 +843,13 @@ volumes:
|
||||
change:
|
||||
mongodb:
|
||||
searxng:
|
||||
pgdata2:
|
||||
meilisearch:
|
||||
#pgdata2:
|
||||
#meilisearch:
|
||||
|
||||
networks:
|
||||
db:
|
||||
nginx:
|
||||
redis:
|
||||
meet.jitsi:
|
||||
playwright:
|
||||
#playwright:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM nextcloud:30-fpm-alpine
|
||||
FROM nextcloud:32-fpm-alpine
|
||||
|
||||
RUN set -ex; \
|
||||
\
|
||||
|
||||
5
nextcloud/redis-session.ini
Normal file
5
nextcloud/redis-session.ini
Normal file
@@ -0,0 +1,5 @@
|
||||
session.save_handler = redis
|
||||
session.save_path = "tcp://redis:6379"
|
||||
redis.session.locking_enabled = 1
|
||||
redis.session.lock_retries = -1
|
||||
redis.session.lock_wait_time = 10000
|
||||
@@ -131,6 +131,16 @@ http {
|
||||
# This module is currently not supported.
|
||||
#pagespeed off;
|
||||
|
||||
# Set .mjs and .wasm MIME types
|
||||
# Either include it in the default mime.types list
|
||||
# and include that list explicitly or add the file extension
|
||||
# only for Nextcloud like below:
|
||||
include mime.types;
|
||||
types {
|
||||
text/javascript mjs;
|
||||
application/wasm wasm;
|
||||
}
|
||||
|
||||
location / {
|
||||
rewrite ^ /index.php;
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -48,13 +48,13 @@ location ~ \.php(?:$|/) {
|
||||
try_files $fastcgi_script_name =404;
|
||||
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
|
||||
fastcgi_param PATH_INFO $path_info;
|
||||
fastcgi_param HTTPS on;
|
||||
|
||||
fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
|
||||
fastcgi_param front_controller_active true; # Enable pretty urls
|
||||
fastcgi_pass http://$server_name;
|
||||
fastcgi_pass $server_name;
|
||||
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_request_buffering off;
|
||||
@@ -66,7 +66,8 @@ location ~ \.php(?:$|/) {
|
||||
location ~ \.(?:css|js|mjs|svg|gif|ico|jpg|png|webp|wasm|tflite|map|ogg|flac)$ {
|
||||
try_files $uri /index.php$request_uri;
|
||||
# HTTP response headers borrowed from Nextcloud `.htaccess`
|
||||
add_header Cache-Control "public, max-age=15778463$asset_immutable";
|
||||
add_header Cache-Control "public, max-age=15778463";
|
||||
# add_header Cache-Control "public, max-age=15778463$asset_immutable";
|
||||
add_header Referrer-Policy "no-referrer" always;
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
@@ -82,12 +83,19 @@ 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;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php$request_uri;
|
||||
rewrite ^ /index.php;
|
||||
# try_files $uri $uri/ /index.php$request_uri;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user