Docker部署Outline Wiki笔记

outline wiki

1、获取 Slack 凭据

进入[ Slack API Apps]新建一个应用程序,选择From scratch。前往OAuth & Permissions,添加Redirect URLs

https://<url>/auth/slack.callback

之后前往Basic Information,复制Client IDClient 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