如何在 Bitnami Redmine Docker 镜像中使用自定义主题
在之前的文章中我详细介绍了如何使用优秀的 Bitnami docker 镜像在 Linux 上安装 Redmine。
本文向你展示如何在使用 bitnami Docker 镜像时安装自定义主题如 A1(我成功使用了 5 年多)。我们假设你将 redmine 安装在 /var/lib/redmine 并且你的 systemd 服务名为 redmine。
注意:如果你收到任何权限被拒绝错误,尝试使用 sudo 运行相同的命令。
首先,我们需要创建主题目录。
sudo mkdir /var/lib/redmine/themes我们需要做的第一件事是将当前(默认)主题复制到该目录,因为如果默认主题在正确版本中不可用,Redmine 将无法启动。
为此,我们必须首先确保你的容器正在运行:
sudo systemctl start redmine现在我们可以找出正在运行的 redmine 容器的容器 ID:
uli:/var/lib/redmine$ docker container ps | grep redmine
ae4de10d0b41 bitnami/redmine:latest "/app-entrypoint.sh …" 30 minutes ago Up 30 minutes 0.0.0.0:3718->3000/tcp redmine_redmine_1
c231d11c48e9 bitnami/mariadb:latest "/entrypoint.sh /run…" 30 minutes ago Up 30 minutes 3306/tcp redmine_mariadb_1从这些行中,你需要选择末尾显示 redmine_redmine_1 的行。末尾列出 redmine_mariadb_1 的行是数据库容器,我们在此任务中不需要它。
从该行复制第一列 - 这是容器 ID - 例如本例中的 ae4de10d0b41。
现在我们可以复制默认主题文件夹:
docker cp ae4de10d0b41:/opt/bitnami/redmine/public/themes /var/lib/redmine/themes现在复制你的自定义主题(例如 a1 文件夹)到 /var/lib/redmine/themes。
下一步是修复权限。bitnami 容器使用 UID 为 1001 的用户,因此我们需要将所有者更改为该用户。每次你在主题目录中更改内容时都要重复此操作:
sudo chown -R 1001:1001 /var/lib/redmine/themes此时我们需要编辑 docker-compose 配置(在 /var/lib/redmine/docker-compose.yml 中)以将 /var/lib/redmine/themes 挂载到正确的目录。这非常简单:只需将 - '/var/lib/redmine-szalata/themes:/opt/bitnami/redmine/public/themes' 添加到 redmine 容器的 volumes 部分。
完成的配置文件将如下所示:
services:
mariadb:
image: 'bitnami/mariadb:latest'
environment:
- ALLOW_EMPTY_PASSWORD=yes
volumes:
- '/var/lib/redmine/mariadb_data:/bitnami'
redmine:
image: 'bitnami/redmine:latest'
environment:
- REDMINE_USERNAME=admin
- REDMINE_PASSWORD=redmineadmin
- REDMINE_EMAIL=me@gmail.com
- SMTP_HOST=smtp.gmail.com
- SMTP_PORT=25
- SMTP_USER=me@gmail.com
- SMTP_PASSWORD=yourGmailPassword
ports:
- '3718:3000'
volumes:
- '/var/lib/redmine/redmine_data:/bitnami'
- '/var/lib/redmine/themes:/opt/bitnami/redmine/public/themes'
depends_on:
- mariadb现在你可以重启 Redmine:
sudo systemctl restart redmine并通过在管理 -> 设置 -> 显示中选择来设置你的新主题。