Outline + Docker+ 本地文件存储

用 Docker Compose 快速自托管 Outline 知识库,附带 OIDC 服务管理用户

make+bash 自动生成配置,OIDC 替代 Slack/Google 登录,实现独立自托管

✓ 几分钟内完成部署✓ 无需 Slack/Google 登录 ✕ 依赖脚本生成配置,灵活性低✕ 默认需对象存储 MinIO(可改本地)

方案简介

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.samplescripts/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:启动 outline
  • make stop:停止 outline
  • make 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 原文。

方案出处
vicalloy/outline-docker-compose:Install a self-hosted Outline wiki instance in a couple of minutes
867 star Install a self-hosted Outline wiki instance in a couple of minutes

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。