Redmine docker-compose 配置与 Traefik 和 Let's Encrypt
此配置基于我们之前的文章如何使用 Docker 镜像轻松安装 Redmine和我们的 Traefik 配置与 Cloudflare 通配符证书(参见简单 Traefik docker-compose 设置与 Lets Encrypt Cloudflare DNS-01 和 TLS-ALPN-01 和 HTTP-01 挑战)
将 REDMINE_PASSWORD 替换为随机密码,并在你访问 Web UI 后更改该密码。
redmine_compose_traefik.yml
services:
mariadb:
image: 'mariadb:latest'
environment:
- MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
- MYSQL_DATABASE=redmine
volumes:
- './mariadb_data:/var/lib/mysql'
command: --default-storage-engine innodb
restart: unless-stopped
healthcheck:
test: [ "CMD", "healthcheck.sh", "--su-mysql", "--connect", "--innodb_initialized" ]
start_period: 1m
interval: 1m
timeout: 5s
retries: 3
redmine:
image: 'redmine:latest'
environment:
- REDMINE_USERNAME=admin
- REDMINE_PASSWORD=redmineadmin
- [email protected]
- REDMINE_DB_MYSQL=mariadb
- REDMINE_DB_USERNAME=root
- REDMINE_DB_PASSWORD=${MARIADB_ROOT_PASSWORD}
volumes:
- './redmine_data/config/configuration.yml:/usr/src/redmine/config/configuration.yml'
- './redmine_data/config/database.yml:/usr/src/redmine/config/database.yml'
- './redmine_data/files:/usr/src/redmine/files'
- './redmine_themes:/usr/src/redmine/themes'
- './redmine_git:/git'
depends_on:
mariadb:
condition: service_healthy
labels:
- "traefik.enable=true"
- "traefik.http.routers.redmine-mydomain.rule=Host(`redmine.mydomain.com`)"
- "traefik.http.routers.redmine-mydomain.entrypoints=websecure"
- "traefik.http.routers.redmine-mydomain.tls.certResolver=cloudflare-ec384"
- "traefik.http.services.redmine-mydomain.loadbalancer.server.port=3000"If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow