使用 Docker Compose 安装 OpenProject
该仓库包含了使用 Docker Compose 安装 OpenProject 的方法。
注意
需要 Kubernetes 安装方法?
请使用 OpenProject helm chart 在 Kubernetes 上安装 OpenProject。
该仓库包含了使用 Docker Compose 安装 OpenProject 的方法。
注意
需要 Kubernetes 安装方法?
请使用 OpenProject helm chart 在 Kubernetes 上安装 OpenProject。
该仓库包含了使用 Docker Compose 安装 OpenProject 的方法。
注意
需要 Kubernetes 安装方法?
请使用 OpenProject helm chart 在 Kubernetes 上安装 OpenProject。
首先,您需要克隆 openproject-deploy 仓库:
git clone https://github.com/opf/openproject-deploy --depth=1 --branch=stable/15 openproject
复制示例 .env
文件并修改您需要调整的配置项:
cp .env.example .env
vim .env
如果您使用 .env.example
中默认的 OPDATA 值,需确保对应文件夹存在且拥有正确权限:
sudo mkdir -p /var/openproject/assets
sudo chown 1000:1000 -R /var/openproject/assets
接下来启动容器并在后台运行,同时拉取所有镜像的最新版本:
OPENPROJECT_HTTPS=false docker compose up -d --build --pull always
稍等片刻,OpenProject 将在 http://localhost:8080
启动运行。默认用户名为 admin
,密码为 admin
。
OPENPROJECT_HTTPS=false
环境变量显式禁用首次启动时的 HTTPS 模式。生产环境强烈建议在 TLS 终止代理后运行 OpenProject,正式使用前请移除该标志。
仓库中的 docker-compose.yml
文件可按需修改。但请注意,每次拉取更新时该文件会被覆盖。
最佳实践是使用 docker-compose.override.yml
文件进行自定义配置,例如挂载特定配置文件、覆盖环境变量或禁用不需要的服务。
详情请参考官方 Docker Compose 文档。
pull access denied for openproject/proxy, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
在 docker compose up
过程中出现此提示可忽略。
若在 docker compose pull
时出现,添加 --ignore-buildable
选项可避免命令失败退出:
docker compose pull --ignore-buildable
默认情况下 OpenProject 启用 HTTPS 选项,但不会自行处理 SSL 终止。通常通过反向代理设置实现。未配置时访问会触发 ERR_SSL_PROTOCOL_ERROR
错误。
如需禁用 HTTPS 请参考下文。
若使用集成的 Caddy 代理处理出站连接,需重写 Caddyfile
。默认配置会转发前端反向代理的 X-Forwarded-*
头信息而未自行设置,存在安全隐患。应在 Caddyfile
中配置 trusted_proxies
解决,详见 Caddy 文档。
默认端口绑定到 0.0.0.0
表示公开访问。修改方法见下文。
OpenProject 提供适用于本 compose 设置的 slim
容器。
可用容器及版本信息请参阅 官方文档。
通过修改 docker-compose.yml
中 x-op-app -> environment
下的环境变量可调整 OpenProject 配置。部分变量已预定义,可通过环境修改。
启动时直接传递变量:
VARIABLE=value docker-compose up -d
或在当前目录的 .env
文件中定义变量(参考 .env.example
)。
OPENPROJECT_HTTPS=false
PORT=4000
绑定到本地回环地址:
PORT=127.0.0.1:8080
TAG=my-docker-tag
安装或切换至 BIM 版本请参考 Docker 安装 BIM 指南。
从仓库拉取更新:
git pull origin stable/15
构建控制平面:
docker-compose -f docker-compose.yml -f docker-compose.control.yml build
备份现有数据:
docker-compose -f docker-compose.yml -f docker-compose.control.yml run backup
执行升级:
docker-compose -f docker-compose.yml -f docker-compose.control.yml run upgrade
重启容器并拉取最新镜像:
docker compose up -d --build --pull always
停止当前实例:
docker-compose down
构建控制脚本:
docker-compose -f docker-compose.yml -f docker-compose.control.yml build
执行备份:
docker-compose -f docker-compose.yml -f docker-compose.control.yml run backup
重启服务:
docker-compose up -d
停止容器但不删除:
docker-compose stop
删除容器栈:
docker-compose down
[!注意]
此操作不会删除持久化数据卷(通常为compose_opdata
附件卷和compose_pgdata
数据库卷)。
数据卷名称取决于docker-compose.yml
所在目录名(本例为compose
)。
彻底清除数据需手动删除卷:
docker volume rm compose_opdata compose_pgdata
查看日志:
docker-compose logs -n 1000
完整文档请访问 官方文档。
若遇到类似 OP#42802 的网络超时问题,尝试移除前端和后端独立网络配置(可能与使用 podman 有关)。
确保容器能解析外部 SMTP 服务器 DNS(参考 OP#44515):
worker:
dns:
- "您的 DNS IP" # 或添加公共 DNS 如 8.8.8.8