Docker部署Outline Wiki笔记
outline wiki
1、获取 Slack 凭据
进入[ Slack API Apps]新建一个应用程序,选择From scratch
。前往OAuth & Permissions
,添加Redirect URLs
。
https://<url>/auth/slack.callback
之后前往Basic Information
,复制Client ID
、Client Secret
,后续添加至.env
文件。
2、编辑Docker Compose 文件
root
文件夹下新建outline
文件夹
cd /root/outline
新建docker-compose.yml
文件
version: "3.2"
services:
outline:
image: outlinewiki/outline:latest
ports:
- 3000:3000
volumes:
- ./storage-data:/var/lib/outline/data
depends_on:
- postgres
- redis
environment:
PGSSLMODE: disable
SECRET_KEY: ${SECRET_KEY}
UTILS_SECRET: ${UTILS_SECRET}
DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${SERVER_IP}:5432/${POSTGRES_DB}
REDIS_URL: redis://${SERVER_IP}:6379
URL: ${URL}
PORT: ${PORT}
FILE_STORAGE: local
FILE_STORAGE_LOCAL_ROOT_DIR: /var/lib/outline/data
FILE_STORAGE_UPLOAD_MAX_SIZE: 26214400
SLACK_CLIENT_ID: ${SLACK_CLIENT_ID}
SLACK_CLIENT_SECRET: ${SLACK_CLIENT_SECRET}
restart: unless-stopped
redis:
image: redis
ports:
- 6379:6379
volumes:
- ./redis.conf:/redis.conf
command:
- redis-server
- /redis.conf
healthcheck:
test:
- CMD
- redis-cli
- ping
interval: 10s
timeout: 30s
retries: 3
restart: unless-stopped
postgres:
image: postgres
ports:
- 5432:5432
volumes:
- ./database-data:/var/lib/postgresql/data
healthcheck:
test:
- CMD
- pg_isready
interval: 30s
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
restart: unless-stopped
3、编辑.env文件
新建.env
文件
SERVER_IP为本机ip,SLACK_CLIENT_ID、SLACK_CLIENT_SECRET为第一步获取的slack凭据,SECRET_KEY、UTILS_SECRET可用openssl rand -hex 32
生成
SERVER_IP=xx.xx.xx.xx
POSTGRES_USER='outline'
POSTGRES_PASSWORD='outline'
POSTGRES_DB='outline'
SECRET_KEY=d1155bc02c5bfd6b2a4c3313113b0b5f0360366aa3b68c56c5299bc4da4efdf8
UTILS_SECRET=14fec600b3d8b3524421785aef5711805a0a93d21f9ca7f251de88b675862eb
URL=https://<url>
PORT=3000
SLACK_CLIENT_ID=7240691727939.7248052833414
SLACK_CLIENT_SECRET=f4afc5ebcb34a322c1504a7ef9d2f280
DEFAULT_LANGUAGE=zh_CN
4、部署outline
docker compose up -d
5、授予权限以添加图像
cd /root/outline
chown 1001 ./storage-data