如何仅用 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 中更改该端口)。你使用哪个反向代理并不太重要,我同时使用 nginx 和 traefik。我将在未来的文章中介绍这些反向代理的配置。
一旦你可以访问 Wekan,你可以注册为新用户。第一个用户将成为管理员,也可以使用 Web UI 禁用注册。
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow