Minimum Hardware Requirements
- AWS: t3.small
- GCP: e2-standard-2
- Azure: B2ps v2
Deployment Templates
- Railway: https://railway.app/template/HNSCS1?referralCode=WFgJkn
- Render: https://render.com/deploy?repo=https://github.com/Mintplex-Labs/anything-llm&branch=render
- Community Templates: https://github.com/Mintplex-Labs/anything-llm/tree/master/cloud-deployments
Docker Deployment
The --cap-add SYS_ADMIN flag is required for web scraping (PuppeteerJS Chromium sandbox).
export STORAGE_LOCATION="/var/lib/anythingllm"
mkdir -p $STORAGE_LOCATION
touch "$STORAGE_LOCATION/.env"
docker pull mintplexlabs/anythingllm:master
docker run -d -p 3001:3001 \
--cap-add SYS_ADMIN \
-v ${STORAGE_LOCATION}:/app/server/storage \
-v ${STORAGE_LOCATION}/.env:/app/server/.env \
-e STORAGE_DIR="/app/server/storage" \
mintplexlabs/anythingllm:masterScaling
- SQLite is the default database; horizontal scaling is not supported with SQLite.
- For horizontal scaling, use PostgreSQL with the
PGVectorextension and the corresponding PostgreSQL image.
NGINX Reverse Proxy Configuration (SSL + Websockets)
server {
listen 80;
server_name your-domain.com;
return 301 https://your-domain.com$request_uri;
}
server {
listen 443 ssl;
ssl on;
server_name your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
# Websockets for agent protocol
location ~* ^/api/agent-invocation/(.*) {
proxy_pass https://allm.loca.zone;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location / {
proxy_connect_timeout 605;
proxy_send_timeout 605;
proxy_read_timeout 605;
send_timeout 605;
keepalive_timeout 605;
proxy_buffering off;
proxy_cache off;
proxy_pass http://your-server-ip:3001$request_uri;
}
}