Outline Wiki 知识库搭建教程

Outline 是一款美观、快速的开源团队知识库和 Wiki 平台。它提供了直观的 Markdown 编辑器、强大的搜索功能、灵活的权限管理和实时协作能力。Outline 的界面设计简洁现代,使用体验接近 Notion 和 Confluence 等商业产品。本文将介绍如何在搬瓦工 VPS 上使用 Docker 部署 Outline。部署前请确保已安装好 Docker 和 Docker Compose

一、系统要求

  • 操作系统:Ubuntu 20.04+ 或 Debian 11+。
  • 内存:至少 1GB,建议 2GB 以上。
  • 磁盘:至少 10GB 可用空间。
  • 域名:必须绑定域名和 SSL(Outline 需要 HTTPS)。
  • 认证服务:Outline 不支持本地用户密码登录,必须配置 SSO(如 OIDC)。

二、部署前准备

Outline 需要以下外部服务:

  • SSO 认证:可以使用 Keycloak、Authentik 或其他 OIDC 提供者。这里使用 Docker 自带的简易方案。
  • S3 兼容存储:用于存储上传的图片和附件。可以使用 MinIO 自托管。

三、Docker Compose 部署

mkdir -p /opt/outline
cd /opt/outline

cat > /opt/outline/docker-compose.yml <<'EOF'
version: '3.8'

services:
  postgres:
    image: postgres:15-alpine
    restart: always
    environment:
      POSTGRES_DB: outline
      POSTGRES_USER: outline
      POSTGRES_PASSWORD: your_db_password
    volumes:
      - postgres_data:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine
    restart: always

  minio:
    image: minio/minio:latest
    restart: always
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_ROOT_USER: outline_minio
      MINIO_ROOT_PASSWORD: your_minio_password
    volumes:
      - minio_data:/data
    command: server /data --console-address ":9001"

  outline:
    image: outlinewiki/outline:latest
    restart: always
    depends_on:
      - postgres
      - redis
      - minio
    ports:
      - "3000:3000"
    environment:
      NODE_ENV: production
      SECRET_KEY: your_secret_key_hex_32
      UTILS_SECRET: your_utils_secret_hex_32
      DATABASE_URL: postgres://outline:your_db_password@postgres:5432/outline
      REDIS_URL: redis://redis:6379
      URL: https://wiki.yourdomain.com
      PORT: 3000
      FILE_STORAGE: s3
      AWS_ACCESS_KEY_ID: outline_minio
      AWS_SECRET_ACCESS_KEY: your_minio_password
      AWS_REGION: us-east-1
      AWS_S3_UPLOAD_BUCKET_NAME: outline
      AWS_S3_UPLOAD_BUCKET_URL: https://minio.yourdomain.com
      AWS_S3_FORCE_PATH_STYLE: "true"
      AWS_S3_ACL: private
      OIDC_CLIENT_ID: your_oidc_client_id
      OIDC_CLIENT_SECRET: your_oidc_client_secret
      OIDC_AUTH_URI: https://auth.yourdomain.com/authorize
      OIDC_TOKEN_URI: https://auth.yourdomain.com/token
      OIDC_USERINFO_URI: https://auth.yourdomain.com/userinfo
      OIDC_DISPLAY_NAME: SSO Login
      FORCE_HTTPS: "true"
      DEFAULT_LANGUAGE: zh_CN

volumes:
  postgres_data:
  minio_data:
EOF

生成必要的密钥:

openssl rand -hex 32  # SECRET_KEY
openssl rand -hex 32  # UTILS_SECRET

四、初始化 MinIO 存储桶

启动服务后,需要在 MinIO 中创建存储桶:

docker compose up -d minio

# 使用 MinIO Client 创建存储桶
docker run --rm --network outline_default \
  minio/mc alias set myminio http://minio:9000 outline_minio your_minio_password
docker run --rm --network outline_default \
  minio/mc mb myminio/outline
docker run --rm --network outline_default \
  minio/mc anonymous set download myminio/outline

五、启动 Outline

cd /opt/outline
docker compose up -d

首次启动会自动创建数据库表。查看日志确认启动成功:

docker compose logs -f outline

六、配置 Nginx 反向代理

cat > /etc/nginx/sites-available/outline <<'EOF'
server {
    listen 80;
    server_name wiki.yourdomain.com;

    client_max_body_size 50M;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
EOF

ln -s /etc/nginx/sites-available/outline /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d wiki.yourdomain.com

七、使用 Outline

通过 SSO 登录后,Outline 提供以下核心功能:

  • 集合:类似文件夹,用于组织相关文档。
  • 文档编辑:所见即所得的 Markdown 编辑器,支持斜杠命令、图片嵌入、代码高亮等。
  • 嵌套文档:文档可以有子文档,形成树形结构。
  • 模板:创建文档模板,方便快速创建标准化文档。
  • 全文搜索:快速搜索所有文档内容。
  • 协作:支持多人同时编辑同一文档。

八、权限管理

Outline 提供灵活的权限控制:

  • 团队级别:管理员、成员、访客三种角色。
  • 集合级别:每个集合可以独立设置可见性和编辑权限。
  • 文档级别:支持将单个文档共享给团队外部人员。

九、数据备份与导出

# 备份数据库
docker exec outline-postgres-1 pg_dump -U outline outline > /opt/outline/backup_$(date +%Y%m%d).sql

# Outline 还支持在管理面板中导出所有数据为 Markdown 文件

十、常见问题

无法登录

Outline 必须使用 SSO 登录,确保 OIDC 相关的环境变量配置正确。常见问题包括回调 URL 不匹配和证书问题。

图片上传失败

检查 MinIO 存储桶是否正确创建,以及 S3 相关的环境变量是否正确配置。确认 MinIO 的访问策略允许上传。

总结

Outline 是一款界面精美、功能强大的团队知识库平台。虽然初始配置相对复杂(需要 SSO 和 S3 存储),但一旦部署完成,使用体验非常出色。更多 Wiki 和文档管理工具部署教程请参考:Wiki.js 部署BookStack 部署Memos 笔记部署。选购搬瓦工 VPS 请参考全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。