服务器部署openproject17

本文最后更新于 2026年10月28日 下午

为什么选择openproject?一句换总结:openproject是开源界项目管理软件的天花板,直接使用可以满足中小企业日常项目管理的需求,还可以按需二次开发进行功能定制。支持常用的项目管理方法论,瀑布型、敏捷型和混合型。

ubuntu22上基于docker进行安装

第一步:Docker环境配置

1.安装最新的 Docker 以及 Docker Compose 插件

1
2
sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-buildx-plugin docker-compose-plugin -y

安装完成后,将当前用户加入 docker 组(免去每次敲 sudo 的烦恼),并设置开机自启:

1
2
sudo usermod -aG docker $USER
sudo systemctl enable --now docker

2.创建docker数据挂载目录
为了让数据乖乖躺在一个地方,我们需要提前建好挂载目录。

1
2
mkdir -p ~/openproject_docker_workspace/pgdata
mkdir -p ~/openproject_docker_workspace/assets

第二步:编写 Docker Compose 配置

在刚才的 openproject_docker_workspace 目录下新建 docker-compose.yml 文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
services:
openproject:
image: openproject/openproject:17.9.2 # 务必锁定确切版本,具体原因见后
container_name: openproject_app
restart: unless-stopped
expose:
- "80"
ports:
- "8080:80" # 宿主机8080 映射容器内部80,直连核心 如果用nginx反代则需要注释掉
environment:
- SECRET_KEY_BASE=xxxxxxx # 请替换为随机长字符串
- OPENPROJECT_HTTPS=false
- OPENPROJECT_HOST__NAME=你的服务器IP或域名:端口号
- OPENPROJECT_TRUSTED_PROXIES=0.0.0.0/0
- OPENPROJECT_ALLOW_DOMAIN_REVERSE_PROXY=true
volumes:
- ./pgdata:/var/openproject/pgdata
- ./assets:/var/openproject/assets
# 下面这行极其关键,用于“无感”投射解锁脚本,请看第三步解释
- ./enterprise_token.rb:/app/app/models/enterprise_token.rb:ro

第三步:解锁企业版功能 (仅用试验性质 请支持正版)

通过替换 Ruby 核心代码中的许可证验证逻辑,让系统默认返回“已授权。

1.创建补丁文件
将 GitHub 上开源的 Ruby 解锁代码(搜索 OpenProject enterprise_token.rb gist 即可找到),下载下来,然后将这个 .rb 补丁文件和你的 docker-compose.yml 放在同一个目录下(即我们刚才创建的工作区)。

2.赋予正确的读取权限 Docker 内部通常以非 root 用户运行,宿主机文件权限过严会导致挂载失败。在当前目录下执行:
chmod 644 enterprise_token.rb

3.启动容器 万事俱备,一键拉起服务:
docker compose up -d

等待 1-2 分钟让数据库初始化


服务器部署openproject17
https://leelewin.github.io/p/9a82281f58374736b708ea0b1ce639c7/
作者
liminglei
发布于
2026年6月28日
许可协议
BY_NC_SA