如何仅用 3 分钟使用 docker-compose 设置 Wekan

首先,创建一个目录用于存放 Wekan 文件,例如:

mkdir_wekan_dir.sh
mkdir /opt/wekan

切换到该目录:

cd_wekan_dir.sh
cd /opt/wekan

现在,我们需要创建数据目录,该目录需要由 UID 999 拥有:以便 Wekan 存储上传:

prepare_data_dir.sh
mkdir -p wekan_data && chown -R 999:999 wekan_data

现在,在该目录中创建 docker-compose.yml

docker-compose.yml
services:
  wekandb:
    restart: always
    image: mongo:5
    command: mongod --logpath /dev/null --oplogSize 128 --quiet
    healthcheck:
      test: ["CMD", "mongo", "--quiet", "--eval", "'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)'"]
      interval: 15s
      timeout: 10s
      retries: 3
      start_period: 10s
    volumes:
      - ./wekan-db:/data/db
      - ./wekan-db-dump:/dump
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro

  wekan:
    image: quay.io/wekan/wekan
    restart: always
    ports:
      - 7972:8080
    environment:
      - MONGO_URL=mongodb://wekandb:27017/wekan
      - ROOT_URL=${URL}
      - MAIL_URL=${EMAIL_URL}
      - MAIL_FROM=${EMAIL_FROM}
      - WITH_API=true
      - WRITABLE_PATH=/data
    volumes:
      - ./wekan_data:/data
      - /etc/localtime:/etc/localtime:ro
    depends_on:
      - wekandb

之后,在该目录中创建 .env,包含有关你的节点的一些信息:

wekan_env_example.env
URL=https://wekan.mydomain.com
EMAIL_URL=smtp://noreply%40mydomain.com:abc123abc@smtp.mydomain.com:25/
EMAIL_FROM='My Wekan <wekan@mydomain.com>'

现在我们将使用在 10 秒内为你的 docker-compose 项目创建 systemd 服务中的脚本来创建 systemd 服务以自动运行服务:

create_service.sh
curl -fsSL https://techoverflow.net/scripts/create-docker-compose-service.sh | sudo bash /dev/stdin

此脚本还将自动启动服务(即 docker-compose up)。

现在你可以设置反向代理将你的域名 - 例如 wekan.techoverflow.net 指向端口 7972(或在 docker-compose.yml 中更改该端口)。你使用哪个反向代理并不太重要,我同时使用 nginxtraefik。我将在未来的文章中介绍这些反向代理的配置。

一旦你可以访问 Wekan,你可以注册为新用户。第一个用户将成为管理员,也可以使用 Web UI 禁用注册。


Check out similar posts by category: Container, Docker