Minimum Hardware Requirements

  • AWS: t3.small
  • GCP: e2-standard-2
  • Azure: B2ps v2

Deployment Templates

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:master

Scaling

  • SQLite is the default database; horizontal scaling is not supported with SQLite.
  • For horizontal scaling, use PostgreSQL with the PGVector extension 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;
	}
}