
OpenProject 本地開發環境快速上手Docker 一鍵跑通前后端與數據庫【免費下載鏈接】openprojectOpenProject is the leading open source project management software for product, project and portfolio management. A powerful Jira alternative with agile planning, issue tracking, roadmaps, Gantt charts, time tracking, collaboration features, and more. Available on premises or in the cloud. ? Star us on GitHub項目地址: https://gitcode.com/GitHub_Trending/op/openproject裝過開源項目的人大概率都被環境坑過Ruby 版本對不上、PostgreSQL 建庫建用戶一套、前端依賴又拉了一晚上等環境調通開發熱情已經涼了一半。OpenProject 是當下主流的開源項目管理軟件產品、項目、組合管理常被當作 Jira 的替代方案內置工作包、看板、甘特圖、工時和文檔協作而它官方提供的開發棧思路很直接——用 Docker Compose 把后端、前端、PostgreSQL、Memcached、后臺任務全部裝進容器你的機器只需要裝一個 Docker不用手動伺候 Ruby 和 Node 的版本問題。這篇文章就是帶你走通這條最短路徑從 clone 倉庫到瀏覽器里打開可登錄的 OpenProject 界面中間只有幾條必須親手敲的命令。讀完你能帶走三樣東西一份能跨 Windows/macOS/Linux 復用的啟動流程、出問題時該看哪幾個日志和容器的排查思路、以及日常開發常用的幾條操作命令。開發環境跑起來之后長什么樣先對齊預期環境就緒后你訪問http://localhost:3000就是完整的管理后臺登錄頁 → 項目首頁前端熱重載開發服務器在http://localhost:4200改 Angular/TypeScript 代碼能即時刷新不用重新編譯。登錄默認賬號后即可開始體驗種子數據里已經建好項目和示例工作包用戶名admin密碼admin環境準備先確認這兩件事不用裝 Ruby、不用裝 Node、不用建數據庫——這些都在容器里。你要確認的只有兩件Docker 可用。安裝 DockerWindows 上選 WSL2 后端并確認docker compose子命令能跑這是唯一的前置依賴。內存給夠。Docker 至少需要 4GB 內存官方建議 8GB 起步更穩開發棧消耗的內存約為普通生產環境的兩倍。macOS 上記得在 Docker Desktop 的資源設置里把虛擬主機內存調上去內存不足最典型的癥狀是前端容器報Exit status 137后反復重啟。另外確認本地 3000、4200 端口沒被占用被占的話后面會在覆蓋配置里改端口??寺〈a到容器全部就緒整個過程就是一個復制兩個配置文件 → 建一張網絡 → 跑兩條 setup 命令 → 啟動服務的流程命令不多但順序別亂。拿到源碼并生成配置文件git clone https://gitcode.com/GitHub_Trending/op/openproject cd openproject cp .env.example .env cp docker-compose.override.example.yml docker-compose.override.yml兩個文件各有分工.env存放docker compose讀取的環境變量。重點把DEV_UID和DEV_GID改成你自己的用戶 IDLinux/macOS 終端里id -u、id -g可以查Windows/WSL2 一般直接用1000否則容器寫回你項目的文件會全部變成 root 所有后面改代碼會處處碰壁。docker-compose.override.yml負責把 backend 的 3000 端口、frontend 的 4200 端口暴露出來端口沖突時在這里加 reset/override 規則解決。如果倉庫里已存在config/database.yml刪掉它——Docker 棧自帶數據庫連接這個文件會讓容器內的數據庫連接直接打架。建共享網絡hocuspocus實時協作編輯服務等容器都掛在一個外部托管的gateway網絡上compose 文件不會替你建它需要手動執行一次docker network create gateway初始化數據庫與依賴這兩條命令會各自拉起所需依賴容器完成數據庫建庫、遷移、種子數據寫入以及 Ruby/Node 依賴安裝。第一次跑會裝一堆 gem 和 npm 包耗時偏長依賴緩存在 Docker volume 里第二次之后就快了docker compose run --rm backend setup docker compose run --rm frontend npm install啟動服務docker compose up -d backend如果要看前端編譯日志改成docker compose up backend frontend。后臺任務發信、異步導出等由worker服務承擔大多數操作不需要它確實用到時再起docker compose up -d worker注意 worker 很吃資源平時別掛常開。自檢與排錯起不來先看這幾個地方怎么算起來了后端日志出現 Puma 的啟動成功提示、前端日志出現Compiled successfully.此時訪問http://localhost:3000能到登錄頁http://localhost:4200能到帶熱重載的前端頁面。第一次請求可能轉圈好幾秒屬正?,F象之后就會很快。按命中率從高到低排端口沖突或起不來先docker compose ps看哪個服務沒起來再docker compose logs -f backend或 frontend看最后報錯。3000/4200 被占就在docker-compose.override.yml里改映射端口。前端白屏多半是編譯還在進行或編譯失敗看docker compose logs frontend。如果是切分支后node_modules狀態壞了刪掉frontend/node_modules重新docker compose run --rm frontend npm install再docker compose restart frontend。報 Ruby 版本不符如Your Ruby version is x, but your Gemfile specified ~y說明鏡像過舊執行docker compose build --pull重建。npm install 卡在某個包的 install script 上倉庫的.npmrc開了strict-allow-scripts需要先審查再用npm approve-scripts放行詳見 docs/development/development-environment/ 的 Troubleshooting 一節。改了代碼不生效本地代碼目錄是掛載進容器的改動會自動生效、無需重啟容器但如果本地有config/database.yml殘留或frontend/package-lock.json被容器改過建議提交前git checkout還原掉。想推倒重來數據都在 Docker volume 里pgdata數據庫、bundlegems、tmp等停掉容器刪掉對應 volume 就是全新環境。日常開發速記看日志docker compose logs -f backend/docker compose logs frontend停服務docker compose downvolume 還在數據不丟進后端容器調 rubydocker compose exec backend rails c斷點調試binding.pry用docker attach openproject-backend-1掛進容器看控制臺CTRLP, CTRLQ安全脫離跑測試先docker compose up -d backend-test再docker compose exec backend-test bundle exec rspec path/to/some_spec.rb跑完整開發文檔、代碼規范、測試指南docs/development/貢獻流程看 CONTRIBUTING.md前端代碼在 frontend/src/REST API 在 lib/api/到這里你的 OpenProject 開發環境就完整跑起來了。下一步建議隨便改一個工作包的展示文案看熱重載在前端里即時生效——能親眼看到改完即見后面寫功能就順了。如果想繼續深入docs/development/ 里的架構說明和測試指南是官方最權威的路標?!久赓M下載鏈接】openprojectOpenProject is the leading open source project management software for product, project and portfolio management. A powerful Jira alternative with agile planning, issue tracking, roadmaps, Gantt charts, time tracking, collaboration features, and more. Available on premises or in the cloud. ? Star us on GitHub項目地址: https://gitcode.com/GitHub_Trending/op/openproject創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考