基于华为openEuler系统部署开源TeamMapper思维导图工具【华为根技术】
前言
在信创和国产化替代加速推进的背景下,基于自主可控的操作系统构建高效协作工具成为重要实践方向。TeamMapper 作为一款开源、可自托管的团队思维导图工具,支持灵活协作与数据隐私保护。本文依托华为 openEuler 操作系统这一国产根技术底座,开展 TeamMapper 的容器化部署实践。通过本次部署,验证了主流开源应用在 openEuler 生态中的兼容性与运行能力。
一、相关服务介绍
1.1 openEuler系统介绍
- 简介
openEuler是华为发起并主导的一个开源操作系统项目,它基于Linux内核开发,致力于为企业级应用提供安全、稳定、可靠的操作环境。自2019年正式开源以来,openEuler迅速吸引了全球众多开发者和技术爱好者的关注,并逐渐形成了一个活跃的开源社区。该系统不仅支持多种处理器架构(如x86、ARM等),而且通过持续的技术创新,在性能优化、安全性增强以及容器化支持等方面展现了显著的优势。
- 主要特点
- 开源性:openEuler遵循开源协议,允许任何个人或组织自由获取、使用、修改及分发系统代码,这极大地促进了技术创新与共享。
- 高性能与稳定性:通过对Linux内核进行深度优化,openEuler能够提供出色的运行效率和稳定性,满足企业级应用场景的需求。
- 安全性:提供了包括安全启动、数据加密在内的多重安全保障措施,确保用户数据的安全性。
- 容器化支持:兼容Docker和Kubernetes等容器技术,便于开发者构建、部署和管理容器化应用。
- 丰富的生态系统:拥有庞大的开发者社区和丰富的软件库,为用户提供广泛的软件支持和服务。
1.2 TeamMapper介绍
TeamMapper 是一款简洁易用的开源团队协作思维导图工具,支持用户自主托管并创建个性化的思维导图。它提供丰富的自定义选项(如颜色、字体、图像和节点链接)、多人实时协作(可设置查看或编辑权限),以及多种格式的导入导出功能(包括 JSON、SVG、PDF 和 PNG)。思维导图可通过 URL 或 QR 码便捷分享,默认 30 天自动删除以保障 GDPR 合规性,同时内置撤销/重做和快捷键操作,提升使用效率与体验。
二、本次实践介绍
2.1 本次实践介绍
1.本次实践环境为个人测试环境,生产环境请谨慎;
2.本次实践主要是在openEuler系统下部署TeamMapper思维导图工具。
2.2 本次环境规划
本次环境规划如下所示:
| 服务器 | HostName | IP地址 | 操作系统 | 内核版本 | 部署项目 | 备注 |
|---|---|---|---|---|---|---|
| VM虚拟机 | openEuler001 | 192.168.3.83 | openEuler 24.03 (LTS) | 6.6.0-28.0.0.34.oe2403.x86_64 | TaskTrove | —— |
三、本地环境检查
3.1 检查系统版本
检查当前系统版本,当前系统版本为
openEuler 24.03 (LTS)。
[root@openEuler001 ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS)"
ANSI_COLOR="0;31"
3.2 检查内核版本
检查当前内核版本,如下所示:
[root@openEuler001 ~]# uname -r
6.6.0-28.0.0.34.oe2403.x86_64
3.3 检查本地IP
查看本地IP地址,本次实践本地IP设置为
192.168.3.83/24。
[root@openEuler001 ~]# ip add |grep ens
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.3.83/24 brd 192.168.3.255 scope global noprefixroute ens18
3.4 检查Docker环境
本次实践需要提前部署好Docker环境,检查Docker版本如下所示:
[root@openEuler001 ~]# docker -v
Docker version 26.1.3, build b72abbb
四、部署TeamMapper服务
4.1 下载TeamMapper镜像
拉取TeamMapper镜像,如下所示:
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/teammapper

4.2 创建部署目录
- 新建挂载目录
mkdir -p /data/teammapper && cd /data/teammapper
4.3 编辑docker-compose.yaml文件
新建及编辑docker-compose.yaml文件, 内容如下所示。可自行修改宿主机映射端口,注意防止宿主机端口冲突。
vim docker-compose.yaml
version: "3.8"
services:
app_prod:
image: registry.cn-hangzhou.aliyuncs.com/jeson/teammapper
environment:
MODE: PROD
BINDING: "0.0.0.0"
POSTGRES_DATABASE: teammapper-db
POSTGRES_HOST: postgres_prod
POSTGRES_PASSWORD: teammapper
POSTGRES_PORT: 5432
POSTGRES_SSL: false
POSTGRES_SSL_REJECT_UNAUTHORIZED: false
POSTGRES_USER: teammapper-user
POSTGRES_QUERY_TIMEOUT: 100000
POSTGRES_STATEMENT_TIMEOUT: 100000
DELETE_AFTER_DAYS: 30
ports:
- 8022:3000
depends_on:
- postgres_prod
postgres_prod:
image: postgres:16-alpine
# Pass config parameters to the postgres server.
# Find more information below when you need to generate the ssl-relevant file your self
# command: -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_DB: teammapper-db
POSTGRES_PASSWORD: teammapper
POSTGRES_PORT: 5432
POSTGRES_USER: teammapper-user
volumes:
# To setup an ssl-enabled postgres server locally, you need to generate a self-signed ssl certificate.
# See README.md for more information.
# Mount the ssl_cert_file and ssl_key_file into the docker container.
- ./ca/server.crt:/var/lib/postgresql/server.crt
- ./ca/server.key:/var/lib/postgresql/server.key
- postgres_prod_data:/var/lib/postgresql/data/pgdata
volumes:
postgres_prod_data:
4.4 创建TeamMapper容器
执行以下命令,使用docker compose命令快速部署TeamMapper。
docker compose up -d

4.5 检查TeamMapper容器状态
检TeamMapper容器状态,确保各组件容器正常启动。
[root@openEuler001 teammapper]# docker compose ps
WARN[0000] /data/teammapper/docker-compose.yaml: `version` is obsolete
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
teammapper-app_prod-1 registry.cn-hangzhou.aliyuncs.com/jeson/teammapper "docker-entrypoint.s…" app_prod 27 seconds ago Up 26 seconds 0.0.0.0:8022->3000/tcp, :::8022->3000/tcp
teammapper-postgres_prod-1 postgres:16-alpine "docker-entrypoint.s…" postgres_prod 27 seconds ago Up 26 seconds 5432/tcp
4.6 检查TeamMapper容器日志
检查TeamMapper容器日志,确保各组件容器服务正常启动。
docker compose logs

五、访问TeamMapper服务
访问地址:http://【服务器IP地址】:8022,将IP替换为自己服务器IP地址。如果无法访问到该页面,检查防火墙是否关闭或者放行相关端口,云服务器则还需设置安全组规则。


六、总结
本次实践成功在华为openEuler系统上基于Docker容器化部署了开源思维导图工具TeamMapper,验证了openEuler对主流开源应用的良好兼容性与支持能力。通过标准化的部署流程,不仅提升了服务部署效率,也体现了华为根技术生态的开放性和实用性。TeamMapper服务运行稳定,可通过浏览器正常访问并创建协作式思维导图,满足团队知识整理与可视化需求。未来可进一步结合openEuler的安全加固与性能优化特性,打造更可靠的企业级协作平台。
- 点赞
- 收藏
- 关注作者
评论(0)