add rag service
This commit is contained in:
@@ -15,14 +15,18 @@ update_os
|
||||
|
||||
MONGO_VERSION="8.0" setup_mongodb
|
||||
setup_meilisearch
|
||||
PG_VERSION="17" setup_postgresql
|
||||
PG_DB_NAME="ragapi" PG_DB_USER="ragapi" PG_DB_EXTENSIONS="vector" setup_postgresql_db
|
||||
NODE_VERSION="22" setup_nodejs
|
||||
UV_PYTHON="3.11" setup_uv
|
||||
|
||||
fetch_and_deploy_gh_tag "librechat" "danny-avila/LibreChat"
|
||||
fetch_and_deploy_gh_release "rag-api" "danny-avila/rag_api" "tarball"
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
msg_info "Installing LibreChat Dependencies"
|
||||
cd /opt/librechat
|
||||
$STD npm ci
|
||||
msg_ok "Installed Dependencies"
|
||||
msg_ok "Installed LibreChat Dependencies"
|
||||
|
||||
msg_info "Building Frontend"
|
||||
$STD npm run frontend
|
||||
@@ -30,6 +34,13 @@ $STD npm prune --production
|
||||
$STD npm cache clean --force
|
||||
msg_ok "Built Frontend"
|
||||
|
||||
msg_info "Installing RAG API Dependencies"
|
||||
cd /opt/rag-api
|
||||
$STD uv venv .venv
|
||||
$STD uv pip install --python .venv/bin/python -r requirements.lite.txt
|
||||
mkdir -p /opt/rag-api/uploads
|
||||
msg_ok "Installed RAG API Dependencies"
|
||||
|
||||
msg_info "Configuring LibreChat"
|
||||
JWT_SECRET=$(openssl rand -hex 32)
|
||||
JWT_REFRESH_SECRET=$(openssl rand -hex 32)
|
||||
@@ -59,15 +70,32 @@ SEARCH=true
|
||||
MEILI_NO_ANALYTICS=true
|
||||
MEILI_HOST=http://127.0.0.1:7700
|
||||
MEILI_MASTER_KEY=${MEILISEARCH_MASTER_KEY}
|
||||
RAG_PORT=8000
|
||||
RAG_API_URL=http://127.0.0.1:8000
|
||||
APP_TITLE=LibreChat
|
||||
EOF
|
||||
msg_ok "Configured LibreChat"
|
||||
|
||||
msg_info "Creating Service"
|
||||
msg_info "Configuring RAG API"
|
||||
cat <<EOF >/opt/rag-api/.env
|
||||
VECTOR_DB_TYPE=pgvector
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=5432
|
||||
POSTGRES_DB=${PG_DB_NAME}
|
||||
POSTGRES_USER=${PG_DB_USER}
|
||||
POSTGRES_PASSWORD=${PG_DB_PASS}
|
||||
RAG_HOST=0.0.0.0
|
||||
RAG_PORT=8000
|
||||
JWT_SECRET=${JWT_SECRET}
|
||||
RAG_UPLOAD_DIR=/opt/rag-api/uploads/
|
||||
EOF
|
||||
msg_ok "Configured RAG API"
|
||||
|
||||
msg_info "Creating Services"
|
||||
cat <<EOF >/etc/systemd/system/librechat.service
|
||||
[Unit]
|
||||
Description=LibreChat
|
||||
After=network.target mongod.service
|
||||
After=network.target mongod.service meilisearch.service rag-api.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
@@ -81,8 +109,25 @@ RestartSec=5
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q --now librechat
|
||||
msg_ok "Created Service"
|
||||
cat <<EOF >/etc/systemd/system/rag-api.service
|
||||
[Unit]
|
||||
Description=LibreChat RAG API
|
||||
After=network.target postgresql.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
WorkingDirectory=/opt/rag-api
|
||||
EnvironmentFile=/opt/rag-api/.env
|
||||
ExecStart=/opt/rag-api/.venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl enable -q --now rag-api librechat
|
||||
msg_ok "Created Services"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
Reference in New Issue
Block a user