OpenProject 如何用 Docker all-in-one 容器完成首次安装?

发布时间:2026/11/15 15:15:33

OpenProject 如何用 Docker all-in-one 容器完成首次安装? OpenProject 如何用 Docker all-in-one 容器完成首次安装【免费下载链接】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这篇文章解决一个具体的安装任务在已经装好 Docker Engine 的机器上用 OpenProject 官方的 all-in-one 容器完成一次可登录的首次安装。all-in-one 镜像会在一个容器里同时启动应用、内部 PostgreSQL 和 memcached适合快速测试或初次熟悉 OpenProject文档明确说明它不建议用于生产环境因为数据库等各组件混在一个容器里不利于后续升级。前提条件宿主机已安装 Docker EngineDocker 镜像通常要求较新的操作系统未安装时按 Docker 官方安装文档处理对使用 Docker 和 Docker volume 有基本了解服务器最低硬件要求包安装与 Docker 安装通用四核 CPU≥ 2 GHz、4096 MB 内存、20 GB 空闲磁盘可支撑最多约 200 个总用户数。选择容器镜像与标签OpenProject 提供两种容器all-in-one内置 PostgreSQL 和 memcached用于快速起步本文围绕它展开slim只含应用和应用服务器用于部署在代理后面或配合 Docker Compose / Helm chart 使用官方推荐生产系统使用 slim 方式。镜像遵循语义化版本标签规则X.Y.Z、X.Y.Z-slim非浮动标签固定对应某一个发布版本官方推荐生产使用X.Y、X.Y浮动标签补丁版本发布时更新。注意补丁版本中可能仍会执行数据库迁移需要能运行 seeder/migrations 任务dev标签为每晚推送的开发版本仅用于测试官方强烈不建议用于任何生产数据。架构支持方面自 OpenProject 12.5.6 起容器同时发布 AMD64 (x86) 和 ARM64 两种架构BIM Edition 仅支持 AMD64。生成 SECRET_KEY_BASE快速启动命令必须提供SECRET_KEY_BASE它用于 Rails 的密钥基础文档要求替换为一个强随机值文档给出的生成方式是openssl rand -hex 64像密码一样妥善保管——每次容器启动必须复用同一个值否则已有会话和数据库中的加密内容将无法读取OpenProject 会拒绝以默认值或弱值启动。先记下这个值后面的启动命令都要用到openssl rand -hex 64执行首次安装在宿主机终端运行以下命令启动 all-in-one 容器docker run -it -p 8080:80 \ -e SECRET_KEY_BASEyour-secret-key-base \ -e OPENPROJECT_HOST__NAMElocalhost:8080 \ -e OPENPROJECT_HTTPSfalse \ -e OPENPROJECT_DEFAULT__LANGUAGEen \ openproject/openproject:17其中your-secret-key-base是占位符替换为上一步生成的随机字符串。各配置项的用途配置项作用-p 8080:80把容器内 80 端口映射到宿主机 8080 端口SECRET_KEY_BASERails 密钥基础必须每次启动保持一致见上一节OPENPROJECT_HOST__NAME应用主机名用于生成表单和邮件中的链接必须与用户浏览器中看到的外部请求主机名一致OPENPROJECT_HTTPSfalse关闭默认开启的 HTTPS 模式使实例可以仅通过 HTTP 访问文档强烈建议生产系统不要设为 false而是在外层 Web 服务器上做 TLS/SSL 终结OPENPROJECT_DEFAULT__LANGUAGE双重作用决定首次安装时基础数据类型、状态名等和演示数据用什么语言创建同时作为新用户的默认回退语言首次启动会花一些时间几分钟后终端应出现一条成功信息其中包含默认管理员密码登录名admin密码admin。验证安装是否成功按文档给出的验证路径确认终端中出现成功消息默认管理员密码提示说明容器已完成初始化打开浏览器访问http://localhost:8080能看到 OpenProject 登录页即为安装完成使用文档中的默认凭据登录用户名admin密码admin。如果启动失败该命令没有守护化容器日志会直接打印在你的终端上便于排查问题。停止与后台运行前台运行时在终端按CTRL-C即可停止容器常规使用一般希望容器在后台运行改用-d标志docker run -d -p 8080:80 \ -e SECRET_KEY_BASEyour-secret-key-base \ -e OPENPROJECT_HOST__NAMElocalhost:8080 \ -e OPENPROJECT_HTTPSfalse \ openproject/openproject:17已有多份文档提及的已知问题有人因为 pseudo-TTY 分配问题和写入/dev/stdout的权限而无法以这种方式启动。遇到这类情况文档给出的 workaround 是在docker run命令中加上-t即使是后台detached模式也要加。需要保留数据时的启动方式上面的一行命令重启容器会丢失数据。如果重启容器时不能丢数据文档将其列为生产运行的必要条件需要在宿主机上建一个目录存放数据并挂载进容器。文档示例使用/var/lib/openproject作为宿主机目录sudo mkdir -p /var/lib/openproject/{pgdata,assets} docker run -d -p 8080:80 --name openproject \ -e OPENPROJECT_HOST__NAMEopenproject.example.com \ -e SECRET_KEY_BASEyour-secret-key-base \ -v /var/lib/openproject/pgdata:/var/openproject/pgdata \ -v /var/lib/openproject/assets:/var/openproject/assets \ openproject/openproject:17说明该命令需要sudo创建宿主机系统目录OPENPROJECT_HOST__NAME必须设置为真实对外的主机名。文档指出如果容器前面没有负载均衡/代理 Web 服务器不设正确主机名会暴露于 HOST header 注入攻击官方强烈建议在外层使用反向代理做 TLS/SSL 终结和安全加固命名容器后可用docker stop openproject停止、docker start openproject重新启动销毁容器执行docker stop openproject加docker rm openprojectdocker rm会删除该容器执行前确认数据已另行备份macOS 用户在挂载目录上可能遇到 Operation not permitted 错误文档给出的解决办法是把这两个目录建在宿主机用户自有目录下。另外注意生产部署时 OpenProject 默认期望 HTTPS 请求由外层代理终结 TLS 并转发协议信息通常是X-Forwarded-Proto如果确实要禁用 HTTPS 响应需显式设置OPENPROJECT_HTTPSfalse这会同时禁用会话 cookie 的 secure 属性官方强烈不建议用于任何生产系统。该安装方式的限制不支持仓库集成Docker 容器安装方式不允许在 OpenProject 内部集成仓库可以引用外部仓库但不能通过 OpenProject 本身配置。该功能仅包安装方式支持不适合生产单容器方式关闭了 HTTPS 模式且不安全官方明确不推荐用于生产生产环境建议改用 Docker Compose 或 Helm 方式slim 镜像 代理配置项更多配置见文档中的高级配置指南docs/installation-and-operations/configuration/环境变量总表在docs/installation-and-operations/configuration/environment/README.md。【免费下载链接】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),仅供参考
延伸阅读

更多相关文章

2026/11/13 15:23:04

V免签详解:个人开发者如何实现免签约收款与自动对账

简介:面向具备PHP基础并希望接入免签约收款能力的开发者,这份基于Thinkphp内核框架的V免签支付系统,集成了支付宝、微信的支付回调与安卓端收款实时监控功能,可直接用于个人网站、变现项目或中小商户的订单管理。资源共297个文件、…

2026/11/14 20:57:07

HyperFrames 动画避坑清单:6 条让渲染不出错的运动规则

HyperFrames 动画避坑清单:6 条让渲染不出错的运动规则 【免费下载链接】hyperframes Write HTML. Render video. Built for agents. 项目地址: https://gitcode.com/GitHub_Trending/hy/hyperframes HyperFrames 是一个「写 HTML、渲染视频」(Wr…

2026/11/15 12:27:56

Python应用打包安卓APK:Kivy+Buildozer实战指南

简介:这套面向Android开发者的Python转APK打包工具源码,基于python-for-android框架,可将Python程序编译为独立安卓应用,适用于Kivy跨平台项目及其他Python移动端改造场景。资源共588个文件,压缩包仅1.87MB&#xff0c…

2026/11/15 15:15:05

ic低压电工证有用吗?含金量高不高?备考攻略全解析

ic低压电工证有用吗?含金量高不高?备考攻略全解析 实操考试心里没底怕挂科,这几乎是每个初次报考ic低压电工证的人心里的共同想法。特别是在安阳这类工业城市,低压电工证不仅是进厂上岗的“敲门砖”,更是决定你能否在电工行业站稳脚跟的关键。那ic…

2026/11/15 15:15:05

祁东县电工证哪里考值不值得考

祁东县电工证哪里考值不值得考 之前考的证在外省能不能转过来?你不是一个人。很多小伙伴都有类似的疑问,特别是那些在外地打拼、准备回祁东发展的朋友。今天就来聊聊祁东县电工证到底哪里考,值不值得考,帮你理清思路,少走弯路。…

2026/11/15 15:15:05

玉林电工证去哪复审 低压电工证在哪考不用愁

玉林电工证去哪复审 低压电工证在哪考不用愁 学历不高怕报不上名?其实 玉林电工证去哪复审 的问题,跟能不能考电工证没关系。很多人以为学历不够就报不了名,其实只要符合报考条件,不管你是初中毕业还是高中毕业,只要掌握了技能,一样能拿到电工证。关…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/15 0:02:49

电工证考试口诉怎么准备值不值得考

电工证考试口诉怎么准备值不值得考 实操考试心里没底怕挂科,这是大多数准备考电工证的人心里最真实的感受。尤其是面对【电工证考试口诉】环节,很多人不知道该怎么准备,甚至担心自己说不好就被淘汰。其实,只要掌握方法, 值不值得考…

2026/11/15 0:02:49

桑植县考电工证千万别踩坑!报名全流程教你避坑

桑植县考电工证千万别踩坑!报名全流程教你避坑 你是不是也遇到过这种情况:想考个电工证,但不知道从哪儿下手,怕被中介坑,怕花冤枉钱,更怕考了证还不能用?别急,这正是你该看这篇文章的原因。在桑植县考电工证,确实有很多人被坑过,但只要你知道流程、…

2026/11/15 4:46:37

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/15 2:06:31

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑