[docker][bitnami/redmine]版本升級5.0.2升級至6.0.2

由於原本安裝的dockr-compose.yml 是在/root 下啟動的, 因此也要回到/root下執行 #docker-compose down

以下為原

version: '3.1'
services:
  mariadb:
    image: mariadb:10.9.2
    container_name: db
    ports:
      - '3306:3306'
    volumes:
      - 'mariadb_data:/var/lib/mysql'
    environment:
      - MARIADB_USER=test_redmine
      - MARIADB_PASSWORD=test_password
      - MARIADB_DATABASE=bitnami_redmine
      - MARIADB_ROOT_PASSWORD= '638d5c15-6d94-4115-b9e5-961a9eb5c972'
  redmine:
    image: docker.io/bitnami/redmine:5.0.2
    container_name: redmine
    ports:
      - '80:3000'
    volumes:
      - 'redmine_data:/bitnami/redmine'
    depends_on:
      - mariadb
    environment:
      - REDMINE_DATABASE_HOST=mariadb
      - REDMINE_DATABASE_PORT_NUMBER=3306
      - REDMINE_DATABASE_USER=test_redmine
      - REDMINE_DATABASE_PASSWORD=test_password
      - REDMINE_DATABASE_NAME=bitnami_redmine
volumes:
  mariadb_data:
    driver: local
  redmine_data:
    driver: local

之後修改/root/docker-compose.yml 將指定版本拿掉, 讓它下載最新的images來啟動

如下列所示

version: '3.1'
services:
  mariadb:
    image: mariadb
    container_name: db
    ports:
      - '3306:3306'
    volumes:
      - 'mariadb_data:/var/lib/mysql'
    environment:
      - MARIADB_USER=test_redmine
      - MARIADB_PASSWORD=test_password
      - MARIADB_DATABASE=bitnami_redmine
      - MARIADB_ROOT_PASSWORD= '638d5c15-6d94-4115-b9e5-961a9eb5c972'
  redmine:
    image: docker.io/bitnami/redmine
    container_name: redmine
    ports:
      - '80:3000'
    volumes:
      - 'redmine_data:/bitnami/redmine'
    depends_on:
      - mariadb
    environment:
      - REDMINE_DATABASE_HOST=mariadb
      - REDMINE_DATABASE_PORT_NUMBER=3306
      - REDMINE_DATABASE_USER=test_redmine
      - REDMINE_DATABASE_PASSWORD=test_password
      - REDMINE_DATABASE_NAME=bitnami_redmine
volumes:
  mariadb_data:
    driver: local
  redmine_data:
    driver: local

再於/root 下將其啟動 #docker-compose up -d

其依照當下最近的版本來下載安裝並啟動, 而當下的最新版本即6.0.2 , 因此即升級至 6.0.2 的版本

【問題排除】遇到有人使用mac的瀏覽器(Safari)無法預覽PDF 文件, 但是在 chrome 可以正常

使用者環境:iOS 11.3.1;Safari 14.1

問題原因:PMS 於附加檔案的 HTTP Header 增加的新式參數,導致 Safari 舊版無法直接預覽檔案。

解決方式參考來源:

https://github.com/bitnami/vms/issues/1439

解決方法:

將 PMS (Redmine) Docker Volumn 中的

/opt/bitnami/redmine/app/controllers/attachments_controller.rb

接近檔案結尾處:

headers[‘content-security-policy’] = “default-src ‘none’; style-src ‘unsafe-inline’; sandbox”

將 sandbox 移除,即可於舊版 Safari 正常預覽 PDF。

Docker 指令紀錄:

#先檢查檔案是否存在,以及確切的檔案路徑# 檢視 Docker Volumn (目前 Volumn Name 為 pms)docker ps
# 以 BASH 進入 Docker Volumndocker exec -it pms /bin/bash
# 進入 Volumn 確認檔案位置後,離開 Dockerexit
# 將 attachments_controller.rb 檔案 copy 至 Docker Volumn 外docker cp pms:/opt/bitnami/redmine/app/controllers/attachments_controller.rb ~
# 修改檔案 attachments_controller.rbnano attachments_controller.rb
# 檔案修正完成並儲存後,將檔案複製回 Docker Volumndocker cp attachments_controller.rb pms:/opt/bitnami/redmine/app/controllers/
# 複製完成後,會即時生效# 除非重新掛載 Docker Image,該修改應當會一直存在不會消失