用 Docker Compose 快速自托管 Outline 知识库,附带 OIDC 服务管理用户
make+bash 自动生成配置,OIDC 替代 Slack/Google 登录,实现独立自托管
方案简介
outline-docker-compose 是一个帮助用户在几分钟内部署自托管 Outline 知识库的开源项目。Outline 是一款优秀的团队 wiki/文档工具,但官方部署通常依赖 Slack 或 Google 登录以及对象存储,门槛较高。该项目通过 make 与 bash 脚本自动生成全部所需配置文件,并用 Docker Compose 一键启动整套服务;同时附带一个自研的 OIDC 认证服务器,用于管理用户账号,使部署者无需依赖 Slack 或 Google 即可完成登录认证。项目还支持 Outline 0.72.0-1 的本地文件存储(FILE_STORAGE=local),此时不再强制要求 MinIO。适合希望快速搭建私有知识库、掌控数据自托管的个人与小团队。
亮点与能力
- 一键部署:简单的 make 和 bash 脚本帮助生成所有必需的配置文件
- 提供 docker-compose 编排来运行服务
- 内置 OIDC 服务器管理用户,无需通过 Slack 或 Google 登录
- 支持 Outline 0.72.0-1 的本地文件存储(
FILE_STORAGE=local),此时不再需要 MinIO - 提供 make install/start/stop/clean 等完整生命周期管理命令
- 支持通过管理后台添加新用户
- 通过 ALLOWED_DOMAINS 控制允许的邮箱域名
组成与分工
- Outline:核心的知识库/wiki 应用,提供文档协作与用户界面(
http://127.0.0.1:8888) - Docker Compose:容器编排,运行整套服务
- OIDC Server(vicalloy/oidc-server):认证服务,管理用户,为 Outline 添加 OIDC 客户端并创建超级用户,替代 Slack/Google 登录
- MinIO:可选的对象存储组件,用于存储附件;使用本地文件存储后不再需要
- make/bash 脚本:生成 docker-compose 配置文件并初始化 oidc-server
前置要求
- 需要已安装 Docker 与 Docker Compose(项目以 docker-compose 方式运行服务)
- 使用 make 命令驱动安装与启停
实施步骤
按以下步骤从零完成部署:
1. 克隆仓库并初始化配置
git clone https://github.com/vicalloy/outline-docker-compose.git
cd outline-docker-compose
cp scripts/config.sh.sample scripts/config.sh
update config file: vim scripts/config.sh
make install # Create a docker-compose config file and start it. Initializing the oidc-server(add oidc client for outline and create a superuser).
make install 会创建 docker-compose 配置文件并启动服务,同时初始化 oidc-server(为 outline 添加 oidc 客户端并创建超级用户)。
2. 访问 Outline
打开 http://127.0.0.1:8888 并登录 outline。
3. 添加用户
打开 http://127.0.0.1:8888/uc/admin/auth/user/ 添加新用户。
使用与配置要点
- 配置文件:复制
scripts/config.sh.sample为scripts/config.sh并编辑(如vim scripts/config.sh) - 存储选择:Outline Wiki 0.72.0-1 支持本地文件存储,可设置
FILE_STORAGE=local,此时 MinIO 不再被需要 - 日常管理命令:
make install:创建 docker-compose 配置文件并启动,初始化 oidc-server(添加 oidc 客户端、创建超级用户)make start:启动 outlinemake stop:停止 outlinemake clean:移除脚本生成的所有配置文件make clean-data:⚠️ 会丢失全部数据,慎用- 用户管理:登录后通过
http://127.0.0.1:8888/uc/admin/auth/user/添加新用户
注意事项与常见问题
make clean-data会删除所有数据(You will lose all your data),操作前务必确认- 新添加的用户无法登录 Outline 的常见原因:
- 需要为新用户补充邮箱地址
- 若新用户邮箱域名与管理员用户域名不同,需要把该域名加入设置
ALLOWED_DOMAINS
优缺点
- ✓ 几分钟内完成部署
- ✓ 无需 Slack/Google 登录
- ✕ 依赖脚本生成配置,灵活性低
- ✕ 默认需对象存储 MinIO(可改本地)
出处
本方案挖掘自开源项目 vicalloy/outline-docker-compose,方案内容与实施命令均来自其 README 原文。
本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。