拉取镜像
docker pull mintplexlabs/anythingllm
部署命令
export STORAGE_LOCATION=$HOME/anythingllm && \
mkdir -p $STORAGE_LOCATION && \
touch "$STORAGE_LOCATION/.env" && \
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
命令解释
export STORAGE_LOCATION=$HOME/anythingllm
这个命令会设置变量STORAGE_LOCATION
为$HOME/anythingllm
,即在用户的主目录下创建一个名为anythingllm
的文件夹。mkdir -p $STORAGE_LOCATION
该命令会创建路径$STORAGE_LOCATION
,包括必要的父目录。这样可以确保文件夹结构完整。touch "$STORAGE_LOCATION/.env"
这个命令会在anythingllm
文件夹中创建一个.env
文件。这个文件通常用于存储环境变量,如 API 密钥或其他配置信息。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
这个命令会运行一个 Docker 容器,镜像名称为mintplexlabs/anythingllm
。容器会以指定的模式运行,并将存储目录和.env
文件映射到宿主机上,以便在本地访问。-p 3001:3001
这个参数会将容器内的端口 3001 映射到宿主机上的同一端口,允许你通过 localhost:3001 访问服务。--cap-add SYS_ADMIN
要在非root用户下使用Puppeteer.js进行网络爬虫,需要执行--cap-add SYS_ADMIN命令。这一功能允许我们在所有运行时环境中使用沙盒 Chromium,以确保最佳的安全实践。-v ${STORAGE_LOCATION}:/app/server/storage
和-v ${STORAGE_LOCATION}/.env:/app/server/.env
这两个选项会将宿主机上的存储目录和.env
文件挂载到容器内的/app/server/storage
和/app/server/.env
,以便在容器内访问。-e STORAGE_DIR="/app/server/storage"
这个环境变量告诉 Docker 容器将存储目录设置为/app/server/storage
。
通过以上命令,你可以在本地运行一个 AnythingLLM 的 Docker 容器,并配置必要的存储和环境设置
访问
http://localhost:3001
即可