Outline安装配置(文档解决方案)

1,244 阅读2分钟

前言

Outline适合团队或者个人文档工具, 对比其他文档工具, 个人观点Outline使用体验最佳, 官网有提供30天试用, 建议注册体验下

需要强调是目前Outline不具有本地认证功能, 这里采用的第三方Keycloak进行认证

部署前需要准备的环境

部署步骤

  1. DNS配置
    最基本的需要配置 auth.lhqs1314.cn 与 wiki.lhqs1314.cn
  2. Nginx Proxy Manager配置

  1. Keycloak设置

  • 在 keycloak 中,创建一个名为outline的新客户端。填写outline的url, 这里是 wiki.lhqs1314.cn

  • 设置access type为confidential

  1. Docker Compose
    这里提供如下配置,  如果需要一个更完整的.env, 可以在github查看配置
version: "2"
services:
  outline_redis:
    image: redis
    restart: always
    container_name: outline_redis
    networks:
      - outline-internal

  outline_postgres:
    image: postgres:13
    restart: always
    container_name: outline_postgres
    environment:
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_USER=outline
      - POSTGRES_DB=outline
    networks:
      - outline-internal
    volumes:
      - /mnt/containers/outline/container-data/db:/var/lib/postgresql/data:Z


  outline:
    image: outlinewiki/outline
    user: root
    restart: always
    container_name: outline
    command: sh -c "yarn sequelize:migrate --env=production-ssl-disabled && yarn start --env=production-ssl-disabled"
    depends_on:
      - outline_postgres
      - outline_redis

    environment:
      - PGSSLMODE=disable
      - SECRET_KEY=${SECRET_KEY}
      - UTILS_SECRET=${UTILS_SECRET}
      - DATABASE_URL=postgres://outline:${POSTGRES_PASSWORD}@outline_postgres:5432/outline
      - REDIS_URL=redis://outline_redis:6379
      - URL=${WIKI_URL}
      - PORT=443
      - AWS_ACCESS_KEY_ID=AKIAYWC6QDQZOGBLSO3
      - AWS_REGION=us-west-2
      - AWS_SECRET_ACCESS_KEY=vG5+2SUSwcHST5XJNEShVcSY+ZFZ/ydwyqQDZOt
      - AWS_S3_UPLOAD_BUCKET_URL=${WIKIDATA_URL}
      - AWS_S3_UPLOAD_BUCKET_NAME=mindcoord-hub-wiki
      - AWS_S3_UPLOAD_MAX_SIZE=26214400
      - AWS_S3_FORCE_PATH_STYLE=false
      - AWS_S3_ACL=private
      - OIDC_CLIENT_ID=outline
      - OIDC_CLIENT_SECRET=${AUTH_CLIENT_SECRET}
      - OIDC_AUTH_URI=${AUTH_URL}/auth/realms/master/protocol/openid-connect/auth
      - OIDC_TOKEN_URI=${AUTH_URL}/auth/realms/master/protocol/openid-connect/token
      - OIDC_USERINFO_URI=${AUTH_URL}/auth/realms/master/protocol/openid-connect/userinfo
      - OIDC_USERNAME_CLAIM=email
      - OIDC_DISPLAY_NAME=Keycloak
      - OIDC_SCOPES=email
    ports:
     - 5030:443

    networks:
      - outline-internal
      - reverseproxy-nw

networks:
  outline-internal:
  reverseproxy-nw:
    external: true

其中环境变量的配置如下,

提醒:

SECRET_KEY和UTILS_SECRET通过openssl rand -hex 32 生成

WIKIDATA_URL是S3的配置地址, 关于S3的配置参考: wiki.generaloutline.com/share/125de…

AUTH_CLIENT_SECRET 通过keycloak获取

  1. 点击update the stack按钮, 顺利的话就可以访问了
    note: 如果提示异常信息, 按照提示调整, eg:无法创建reverseproxy-nw

sudo docker network create reverseproxy-nw
  1. 访问

  2. 首次登录使用Keycloak登录
    note: 使用邮箱登录, 这里需要注意的如果使用自定义公司邮箱无法正常登录, 但使用gmail则不存在问题, 其他邮箱没有测试
    keyclock账户分配

其他

MINIO的协议兼容S3, 可以作为存储替代, 更多参考: blog.gurucomputing.com.au/doing-more-…

Outline 与 Alfred集成

参考: www.getoutline.com/integration…
github.com/outline/alf…
其中关键的配置

参考

blog.gurucomputing.com.au/doing-more-…

soulteary.com/2021/09/05/…