跳转到内容

安装 Selega

Selega 使用 Docker 自托管。所提供的 docker-compose.yml 会启动两个容器——Selega 及其自带的 PostgreSQL——外加一个用于存放数据的卷。你无需另行安装或配置数据库。

  • 带有 Compose 插件的 Dockerdocker compose)。
  • 一个供 Web 界面使用的主机端口(默认 8088)。
  • 用于生产环境:一个带 HTTPS/TLS 的反向代理(Caddy、nginx,或你面板内置的 TLS)。

容器镜像基于 node:22-slim 构建,并内置了 Tesseract OCR(含西班牙语语言包)以及用于处理扫描版 PDF 的 poppler-utils。它以非 root 用户运行。

Terminal window
git clone https://github.com/diegoparras/selega.git && cd selega
cp .env.example .env # 编辑 POSTGRES_PASSWORD(使用足够强的密码)
docker compose up -d --build
docker compose logs selega # 生成的管理员密码会在此处打印(仅一次)
# → http://localhost:8088

就这么简单:两个容器(selega + selega-db)和一个用于存放数据的卷。

Selega 在每次推送时都会发布到 GHCR,镜像名为 ghcr.io/diegoparras/selega:latest,而 docker-compose.yml 同时也声明了 build: .。因此你既可以从仓库构建,也可以拉取已发布的镜像

Terminal window
git clone https://github.com/diegoparras/selega.git && cd selega
cp .env.example .env
docker compose up -d --build

.env.example 复制为 .env 并填入真实值。切勿将 .env 提交到 git。

变量默认值用途
POSTGRES_PASSWORD—(必填数据库密码。请使用足够强的密码。
SELEGA_ADMIN_EMAILadmin@selega.local首位超级管理员的用户。
SELEGA_ADMIN_PASS(空)留空 → 系统会生成一个密码并在日志中打印一次。
SELEGA_SECURE_COOKIE0在 HTTPS/TLS 后方时设为 1(会话 cookie 仅通过 HTTPS 发送)。
SELEGA_PORT8088主机端口(应用在容器内监听 8080)。
OPENROUTER_KEY(空)可选的云端 AI 密钥。建议从管理后台加载(以只写方式存储)。
POSTGRES_USER / POSTGRES_DBselega数据库用户 / 名称。
  1. 运行 docker compose logs selega(或查看你面板的日志),复制生成的管理员密码。它仅打印一次
  2. 使用 SELEGA_ADMIN_EMAIL 和该密码登录。此时你即为超级管理员
  3. 打开三点菜单(⋮)→ 系统:选择本次安装服务于哪些辖区,并配置各引擎。
  4. 打开三点菜单(⋮)→ 管理:创建用户(受理员 / 主管 / 审计员 / 管理员)并编辑规则。

Dokploy、Easypanel、Coolify 和 Portainer 全都支持 Docker Compose。推荐做法是连接这个 GitHub 仓库,让面板替你构建镜像;如果你的面板只接受粘贴的 compose,请使用上面那段仅含镜像的代码块。

唯一必填的变量POSTGRES_PASSWORD。请将 SELEGA_ADMIN_PASS 留空,以便 Selega 生成管理员密码并在容器日志中打印一次。当面板提供 TLS 时(Dokploy、Easypanel 和 Coolify 会自动提供),请设置 SELEGA_SECURE_COOKIE=1

Terminal window
git pull && docker compose up -d --build # 从仓库构建
# 或者,使用已发布的镜像:
docker compose pull && docker compose up -d
  • TLS:将 Selega 置于带 HTTPS 的反向代理之后,并设置 SELEGA_SECURE_COOKIE=1
  • .env 中使用强密钥;切勿提交 .envSELEGA_ADMIN_PASS 留空 → 自动生成。
  • 关闭 Postgres 端口——在生产环境中不要将 db 服务暴露给主机。
  • 备份 selega-pg 卷——它是合法化记录所在。

容器以非 root 用户运行,配有 CSP 和安全响应头、scrypt 密码哈希、HMAC 会话、登录锁定以及参数化查询。它通过 semgrep、OWASP ZAP、Trivy 和 gitleaks 进行审计。