# Docker Compose 部署

# 安装 SSRAG

# 前提条件

安装 SSRAG 之前, 请确保你的机器已满足最低安装要求:

  • CPU >= 2 Core
  • 内存 >= 4 GiB

# 克隆 SSRAG 代码仓库

克隆 SSRAG 源代码至本地环境。

git clone https://github.com/siteserver/ssrag.git

# 启动 SSRAG

1、进入 SSRAG 源代码的 Docker 目录

cd ssrag/docker

2、复制环境配置文件

cp .env.example .env

3、启动 Docker 容器

docker compose up -d

运行命令后,命令行将显示类似以下的输出,显示所有容器的运行状态和启动时间:

 [+] Running 7/7
 ✔ Network docker_default              Created              0.1s
 ✔ Container docker-redis-1            Started              1.7s
 ✔ Container docker-ssrag-core-1       Started              1.7s
 ✔ Container docker-ssrag-ai-api-1     Started              1.7s
 ✔ Container docker-postgres-1         Started              1.9s
 ✔ Container docker-ssrag-ai-worker-1  Started              1.8s
 ✔ Container docker-proxy-1            Started              1.9s

4、最后检查是否所有容器都正常运行:

docker compose ps

在命令行输出中,可以看到系统启用了 3 个业务服务 ssrag-coressrag-ai-apissrag-ai-worker,以及 3 个支撑服务 postgresproxyredis

NAME                       IMAGE                                         COMMAND                   SERVICE           CREATED         STATUS                                 PORTS
docker-postgres-1          docker.m.daocloud.io/pgvector/pgvector:pg17   "docker-entrypoint.s…"   postgres          2 minutes ago   Up About a minute (health: starting)   0.0.0.0:5432->5432/tcp, [::]:5432->5432/tcp
docker-proxy-1             docker.m.daocloud.io/traefik:v2.11            "/entrypoint.sh --pr…"   proxy             2 minutes ago   Up 2 minutes                           0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp
docker-redis-1             docker.m.daocloud.io/redis:8.0.2              "docker-entrypoint.s…"   redis             2 minutes ago   Up 2 minutes (healthy)                 6379/tcp
docker-ssrag-ai-api-1      ssrag/ai:latest                               "/bin/bash /entrypoi…"   ssrag-ai-api      2 minutes ago   Up 2 minutes                           8081/tcp
docker-ssrag-ai-worker-1   ssrag/ai:latest                               "/bin/bash /entrypoi…"   ssrag-ai-worker   2 minutes ago   Up 2 minutes                           8081/tcp
docker-ssrag-core-1        ssrag/core:latest                             "dotnet SSRAG.Web.dll"    ssrag-core        2 minutes ago   Up 2 minutes                           8080/tcp

通过以上步骤,即可完成 SSRAG 的本地安装。

# 访问 SSRAG

运行完毕 docker compose up -d 命令后,可能需要 2 分钟左右时间等待系统启动,之后就可以访问 SSRAG 服务了。

SSRAG 后台地址:

# 本地环境
http://localhost/ss-admin/

# 服务器环境
http://your_server_host/ss-admin/

第一次运行,系统将跳转至安装界面,可在此初始化后台超级管理员的账户:

初始化后台

SSRAG 前台地址:

# 本地环境
http://localhost

# 服务器环境
http://your_server_host

前台默认为空白页面,预留作为网站前台使用,可以在 SSRAG 后台创建网站知识库并设置为根目录,系统将显示创建的网站首页。

# 自定义配置

系统在 docker/.env.example 配置中默认使用 postgres 作为数据库,pgvector 作为向量数据库, local 本机磁盘作为文件存储,可以编辑 .env 文件中的环境变量值以更换配置参数,然后重新启动 SSRAG:

docker compose down
docker compose up -d

SSRAG 默认使用 80 端口对外提供服务,如果需要更改端口,可以修改 SSRAG_PORT 环境变量。

完整的配置说明请参考 环境变量说明

# 更新 SSRAG

进入 SSRAG 源代码的 docker 目录,按顺序执行以下命令:

cd ssrag/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d

# 同步环境变量配置 (重要!)

  • 如果 .env.example 文件有更新,请务必同步修改你本地的 .env 文件。
  • 检查 .env 文件中的所有配置项,确保它们与你的实际运行环境相匹配。你可能需要将 .env.example 中的新变量添加到 .env 文件中,并更新已更改的任何值。

# 更多

如果有疑问,请前往常见问题获取帮助。

上次更新: 2025/9/13 下午9:44:16