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出現繁體中文亂碼解決方式
- 下載 NotoSansTC 繁體中文
- 將 NotoSansTC-xxx.ttf 複製到容器裡面存放字型之目錄
/app/public/fonts/noto
- 進入容器修改view.rb
將NotoSans都改成NotoSansTC
vi /app/app/models/work_package/pdf_export/view.rb - 因為NotoSansTC沒有Italic字體,需複製改名假裝一下有這個字體
- 此時就可以正常匯出了
體驗企業版
- 申請試用
https://www.openproject.org/docs/enterprise-guide/enterprise-on-premises-guide/enterprise-on-premises-trial/ - 神人協助
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