Compare commits
3 Commits
f776320efb
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 08003fcbac | |||
| 50b848d2dc | |||
| aee12cb2ec |
@@ -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:
|
||||||
@@ -59,14 +59,17 @@ services:
|
|||||||
- nginx
|
- nginx
|
||||||
|
|
||||||
nextcloud:
|
nextcloud:
|
||||||
profiles: ["prod"]
|
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:
|
||||||
|
- 9000:9000
|
||||||
volumes:
|
volumes:
|
||||||
- nextcloud:/var/www/html
|
- 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/stardust:/var/www/html/data
|
||||||
- /mnt/tower/foundry:/var/www/foundry
|
- /mnt/tower/foundry:/var/www/foundry
|
||||||
environment:
|
environment:
|
||||||
@@ -115,6 +118,7 @@ services:
|
|||||||
- VIRTUAL_PORT=9980
|
- VIRTUAL_PORT=9980
|
||||||
- "DONT_GEN_SSL_CERT=True"
|
- "DONT_GEN_SSL_CERT=True"
|
||||||
- domain=tower.${DOMAIN}
|
- domain=tower.${DOMAIN}
|
||||||
|
- "aliasgroup1=https://tower.${DOMAIN}"
|
||||||
- cert_domain=office.${DOMAIN}
|
- cert_domain=office.${DOMAIN}
|
||||||
- server_name=office.${DOMAIN}
|
- server_name=office.${DOMAIN}
|
||||||
- username=${COLLABORA_USER}
|
- username=${COLLABORA_USER}
|
||||||
@@ -172,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"
|
||||||
@@ -184,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
|
||||||
@@ -205,9 +209,10 @@ services:
|
|||||||
- JWT_REFRESH_SECRET=${LIBRECHAT_JWT_REFRESH_SECRET}
|
- JWT_REFRESH_SECRET=${LIBRECHAT_JWT_REFRESH_SECRET}
|
||||||
- AIHUBMIX_KEY=${AIHUBMIX_KEY}
|
- AIHUBMIX_KEY=${AIHUBMIX_KEY}
|
||||||
- OPENROUTER_KEY=${OPENROUTER_KEY}
|
- OPENROUTER_KEY=${OPENROUTER_KEY}
|
||||||
|
- 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
|
||||||
@@ -270,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"]
|
||||||
@@ -676,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"]
|
||||||
@@ -747,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
|
||||||
@@ -838,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:
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM nextcloud:30-fpm-alpine
|
FROM nextcloud:32-fpm-alpine
|
||||||
|
|
||||||
RUN set -ex; \
|
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.
|
# This module is currently not supported.
|
||||||
#pagespeed off;
|
#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 / {
|
location / {
|
||||||
rewrite ^ /index.php;
|
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
|
# This file is for the /change/socket.io and /change/peer paths
|
||||||
location ~ ^/change/(socket\.io|peer) {
|
location ~ ^/change/(socket\.io|peer) {
|
||||||
|
|||||||
@@ -48,13 +48,13 @@ location ~ \.php(?:$|/) {
|
|||||||
try_files $fastcgi_script_name =404;
|
try_files $fastcgi_script_name =404;
|
||||||
|
|
||||||
include fastcgi_params;
|
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 PATH_INFO $path_info;
|
||||||
fastcgi_param HTTPS on;
|
fastcgi_param HTTPS on;
|
||||||
|
|
||||||
fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
|
fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
|
||||||
fastcgi_param front_controller_active true; # Enable pretty urls
|
fastcgi_param front_controller_active true; # Enable pretty urls
|
||||||
fastcgi_pass http://$server_name;
|
fastcgi_pass $server_name;
|
||||||
|
|
||||||
fastcgi_intercept_errors on;
|
fastcgi_intercept_errors on;
|
||||||
fastcgi_request_buffering off;
|
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)$ {
|
location ~ \.(?:css|js|mjs|svg|gif|ico|jpg|png|webp|wasm|tflite|map|ogg|flac)$ {
|
||||||
try_files $uri /index.php$request_uri;
|
try_files $uri /index.php$request_uri;
|
||||||
# HTTP response headers borrowed from Nextcloud `.htaccess`
|
# 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 Referrer-Policy "no-referrer" always;
|
||||||
add_header X-Content-Type-Options "nosniff" always;
|
add_header X-Content-Type-Options "nosniff" always;
|
||||||
add_header X-Frame-Options "SAMEORIGIN" 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
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
location / {
|
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