OpenProject 14.4安裝

有經驗的「運維人員(DevOps)」,一天建立OpenProject專案管理系統

Docker安裝

docker-ce 版本  24.0.2-1  或 以上

docker volume create project_assets
docker volume create project_pgdata

# 14.0.0版以前(不含14.0.0)
docker run -d --restart=always -p 8091:80 --name openproject  -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=false -e OPENPROJECT_SECRET_KEY_BASE=安全密碼 -v project_pgdata:/var/openproject/pgdata -v project_assets:/var/openproject/assets  openproject/community:13.4.1

# 14.0.0版以後(含14.0.0)
docker run -d --restart=always -p 8091:80 --name openproject  -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=false -e OPENPROJECT_SECRET_KEY_BASE=安全密碼 -v project_pgdata:/var/openproject/pgdata -v project_assets:/var/openproject/assets  openproject/openproject:14.0.1


#以上參數需要修改如下
8091:80  ->  8091為主機的port(沒被佔用)
OPENPROJECT_DEFAULT__LANGUAGE=zh-TW  -> zh-CN or en 
OPENPROJECT_HTTPS=false  -> 網站內部使用,所以不需要https,https交給代理伺服器即可
OPENPROJECT_SECRET_KEY_BASE=安全密碼 

#若需要開放資料庫(postgres) 則開放5432 , 且新增一個superuser連線
docker run -d --restart=always -p 8091:80 -p 5432:5432 --name openproject  -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=false -e OPENPROJECT_SECRET_KEY_BASE=安全密碼 -v project_pgdata:/var/openproject/pgdata -v project_assets:/var/openproject/assets  openproject/openproject:14.0.1

#新增superuser
docker exec -it --user postgres openproject bash
psql
postgres=# CREATE ROLE <帳號> WITH LOGIN SUPERUSER PASSWORD '密碼';

#外面連線進來
psql -h <ip>  -U <帳號> <資料庫>
ex:
psql -h 172.17.0.2 -U root openproject


安裝完畢,瀏覽器輸入http://ip:8091 ,登入預設 admin/admin

匯出PDF出現繁體中文亂碼解決方式

image.png

  1. 下載 NotoSansTC 繁體中文
  2. 將 NotoSansTC-xxx.ttf 複製到容器裡面存放字型之目錄
    /app/public/fonts/noto

    image.png


  3. 進入容器修改view.rb
    將NotoSans都改成NotoSansTC
     vi /app/app/models/work_package/pdf_export/view.rb
  4. 因為NotoSansTC沒有Italic字體,需複製改名假裝一下有這個字體

    image.png


  5. 此時就可以正常匯出了
    image.png

體驗企業版

  1. 申請試用
    https://www.openproject.org/docs/enterprise-guide/enterprise-on-premises-guide/enterprise-on-premises-trial/
  2. 神人協助
    https://gist.github.com/markasoftware
https://gist.github.com/markasoftware/f5b2e55a2c2e3abb1f9eefcdf0bfff45/raw/148c5067e30eae04f96e3233144b4404f70ade47/enterprise_token.rb

############ REPLACE app/models/enterprise_token.rb in the source code with this file! ################
############ also be sure to RESTART OpenProject after replacing the file.             ################
############ it doesn't show that enterprise mode is enabled in the settings, but all  ################
############ enterprise mode features, such as KanBan boards, are enabled.             ################

 

資料庫備份

OP使用的是postgres資料庫,備份也使用標準的postgres指令

# 備份所有postgres以及OP相關資料庫
docker exec -it <OP容器名稱> su - postgres -c 'pg_dump -d openproject -x -O' > openproject.sql
# 若資料庫非內建,資料庫容器名稱
docker exec -it <資料庫容器名稱> pg_dump -U postgres -d openproject -x -O > openproject.sql

 

升級

OP升級很友善,與nextcloud一樣會自動判斷,自行升級

# 拉下最新版
docker pull openproject/openproject:14.1.1

# 備份資料庫
docker exec -it openproject su - postgres -c 'pg_dump -d openproject -x -O' > openproject.sql
# 備份檔案(除非大版本更新,否則可以省略)

# 升級
docker stop openproject
docker rename openproject openproject_20240806

# 這裡我將postgres開放並改port為5433、http port改8091
docker run -d --restart=always -p 8091:80 -p 5433:5432 --name openproject  -e OPENPROJECT_DEFAULT__LANGUAGE=zh-TW -e OPENPROJECT_HTTPS=true -e OPENPROJECT_SECRET_KEY_BASE=<密碼> -v project_pgdata:/var/openproject/pgdata -v project_assets:/var/openproject/assets openproject/openproject:14.1.1

# 查看執行狀況
docker logs -f openproject