前言
Outline适合团队或者个人文档工具, 对比其他文档工具, 个人观点Outline使用体验最佳, 官网有提供30天试用, 建议注册体验下
需要强调是目前Outline不具有本地认证功能, 这里采用的第三方Keycloak进行认证
部署前需要准备的环境
部署步骤
- DNS配置
最基本的需要配置 auth.lhqs1314.cn 与 wiki.lhqs1314.cn - Nginx Proxy Manager配置
-
Keycloak设置
- 在 keycloak 中,创建一个名为outline的新客户端。填写outline的url, 这里是 wiki.lhqs1314.cn
- 设置access type为confidential
- 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获取
-
点击update the stack按钮, 顺利的话就可以访问了
note: 如果提示异常信息, 按照提示调整, eg:无法创建reverseproxy-nw
sudo docker network create reverseproxy-nw
-
访问
-
首次登录使用Keycloak登录
note: 使用邮箱登录, 这里需要注意的如果使用自定义公司邮箱无法正常登录, 但使用gmail则不存在问题, 其他邮箱没有测试
keyclock账户分配
其他
MINIO的协议兼容S3, 可以作为存储替代, 更多参考: blog.gurucomputing.com.au/doing-more-…
Outline 与 Alfred集成
参考: www.getoutline.com/integration…
github.com/outline/alf…
其中关键的配置
参考