Getting it all running
This commit is contained in:
@@ -5,6 +5,14 @@ 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
|
||||
|
||||
services:
|
||||
# change:
|
||||
# <<: *logging
|
||||
@@ -154,6 +162,77 @@ services:
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
librechat:
|
||||
image: ghcr.io/danny-avila/librechat-dev-api:latest
|
||||
ports:
|
||||
- 3080:3080
|
||||
networks:
|
||||
- nginx
|
||||
- redis
|
||||
- db
|
||||
depends_on:
|
||||
- mongodb
|
||||
- rag_api
|
||||
restart: always
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
<<: *logging
|
||||
environment:
|
||||
- VIRTUAL_HOST=droid.${DOMAIN}
|
||||
- VIRTUAL_PORT=3080
|
||||
- CERT_NAME=${DOMAIN}
|
||||
- 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=
|
||||
- ALLOW_EMAIL_LOGIN=true
|
||||
- ALLOW_REGISTRATION=false
|
||||
- ALLOW_SOCIAL_LOGIN=false
|
||||
- ALLOW_SOCIAL_REGISTRATION=false
|
||||
- ALLOW_PASSWORD_RESET=false
|
||||
- ALLOW_ACCOUNT_DELETION=false
|
||||
- ALLOW_UNVERIFIED_EMAIL_LOGIN=true
|
||||
- CREDS_KEY=${LIBRECHAT_CREDS_KEY}
|
||||
- CREDS_IV=${LIBRECHAT_CREDS_IV}
|
||||
- JWT_SECRET=${LIBRECHAT_JWT_SECRET}
|
||||
- JWT_REFRESH_SECRET=${LIBRECHAT_JWT_REFRESH_SECRET}
|
||||
- AIHUBMIX_KEY=${AIHUBMIX_KEY}
|
||||
- OPENROUTER_KEY=${OPENROUTER_KEY}
|
||||
- IMAGE_GEN_OAI_API_KEY=${AIHUBMIX_KEY}
|
||||
- IMAGE_GEN_OAI_MODEL=gpt-image-1
|
||||
volumes:
|
||||
- type: bind
|
||||
source: ./librechat/librechat.yaml
|
||||
target: /app/librechat.yaml
|
||||
- /mnt/tower/stardust/files/chris/.droid/images:/app/client/public/images
|
||||
- /mnt/tower/stardust/files/chris/.droid/uploads:/app/uploads
|
||||
- /mnt/tower/stardust/files/chris/.droid/logs:/app/logs
|
||||
- /mnt/tower/stardust/files/chris/:/files
|
||||
|
||||
searxng:
|
||||
image: docker.io/searxng/searxng:latest
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- nginx
|
||||
- redis
|
||||
volumes:
|
||||
- ./searxng:/etc/searxng:rw
|
||||
- searxng:/var/cache/searxng:rw
|
||||
environment:
|
||||
- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
|
||||
- SEARXNG_SECRET=${SEARXNG_SECRET_KEY}
|
||||
- VIRTUAL_HOST=holocron.${DOMAIN}
|
||||
- VIRTUAL_PORT=8080
|
||||
- CERT_NAME=${DOMAIN}
|
||||
<<: *logging
|
||||
|
||||
minecraft:
|
||||
profiles: ["prod"]
|
||||
<<: *logging
|
||||
@@ -580,7 +659,6 @@ services:
|
||||
aliases:
|
||||
- jvb.meet.jitsi
|
||||
|
||||
|
||||
db:
|
||||
profiles: ["prod", "dev"]
|
||||
<<: *logging
|
||||
@@ -597,14 +675,115 @@ services:
|
||||
networks:
|
||||
- db
|
||||
|
||||
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: ${INTERNAL_PORT:-3002}
|
||||
FLY_PROCESS_GROUP: app
|
||||
ENV: local
|
||||
depends_on:
|
||||
- redis
|
||||
- playwright
|
||||
ports:
|
||||
- "3002:3002"
|
||||
command: [ "pnpm", "run", "start:production" ]
|
||||
|
||||
firecrawl-worker:
|
||||
profiles: ["prod", "dev"]
|
||||
<<: [*firecrawl-service, *logging]
|
||||
environment:
|
||||
<<: *firecrawl-env
|
||||
FLY_PROCESS_GROUP: worker
|
||||
depends_on:
|
||||
- redis
|
||||
- playwright
|
||||
- firecrawl
|
||||
command: [ "pnpm", "run", "workers" ]
|
||||
|
||||
redis:
|
||||
profiles: ["prod", "dev"]
|
||||
<<: *logging
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
networks:
|
||||
- redis
|
||||
|
||||
mongodb:
|
||||
profiles: ["prod", "dev"]
|
||||
# ports:
|
||||
# - 27018:27017
|
||||
image: mongo
|
||||
restart: always
|
||||
volumes:
|
||||
- mongodb:/data/db
|
||||
command: mongod
|
||||
networks:
|
||||
- db
|
||||
environment:
|
||||
- MONGO_INITDB_ROOT_USERNAME=${DB_USER}
|
||||
- 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
|
||||
|
||||
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
|
||||
|
||||
nginx:
|
||||
<<: *logging
|
||||
profiles: ["prod", "dev"]
|
||||
image: nginxproxy/nginx-proxy
|
||||
restart: always
|
||||
@@ -614,15 +793,15 @@ services:
|
||||
volumes:
|
||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||
- /opt/ssl:/etc/nginx/certs:ro
|
||||
- ./nginx-proxy/vhost.d/labs_location:/etc/nginx/vhost.d/labs.${DOMAIN}_location:ro
|
||||
- ./nginx-proxy/vhost.d/office:/etc/nginx/vhost.d/office.${DOMAIN}:ro
|
||||
- ./nginx-proxy/vhost.d/rec:/etc/nginx/vhost.d/rec.${DOMAIN}:ro
|
||||
- ./nginx-proxy/vhost.d/tower_location_override:/etc/nginx/vhost.d/tower.${DOMAIN}_location_override:ro
|
||||
- ./nginx-proxy/vhost.d/tower:/etc/nginx/vhost.d/tower.${DOMAIN}:ro
|
||||
- ./nginx-proxy/conf.d/custom_proxy.conf:/etc/nginx/conf.d/custom_proxy.conf:ro
|
||||
- ./nginx/vhost.d/labs_location:/etc/nginx/vhost.d/labs.${DOMAIN}_location:ro
|
||||
- ./nginx/vhost.d/office:/etc/nginx/vhost.d/office.${DOMAIN}:ro
|
||||
- ./nginx/vhost.d/rec:/etc/nginx/vhost.d/rec.${DOMAIN}:ro
|
||||
- ./nginx/vhost.d/tower_location_override:/etc/nginx/vhost.d/tower.${DOMAIN}_location_override:ro
|
||||
- ./nginx/vhost.d/tower:/etc/nginx/vhost.d/tower.${DOMAIN}:ro
|
||||
- ./nginx/conf.d/custom_proxy.conf:/etc/nginx/conf.d/custom_proxy.conf:ro
|
||||
- nextcloud:/var/www/html/nextcloud:ro
|
||||
- ./christmas:/var/www/html/christmas:ro
|
||||
- tt-rss:/var/www/html/tt-rss:ro
|
||||
# - tt-rss:/var/www/html/tt-rss:ro
|
||||
networks:
|
||||
- nginx
|
||||
|
||||
@@ -647,10 +826,15 @@ volumes:
|
||||
navidrome:
|
||||
minecraft:
|
||||
change:
|
||||
mongodb:
|
||||
searxng:
|
||||
pgdata2:
|
||||
meilisearch:
|
||||
|
||||
networks:
|
||||
db:
|
||||
nginx:
|
||||
redis:
|
||||
meet.jitsi:
|
||||
playwright:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user