Docmost是一款开源的协作维基和文档管理软件,它旨在为团队提供一个集中化、高效且易于使用的平台来创建、共享以及管理信息。作为 Confluence 和 Notion 的开源替代品,Docmost 提供了强大的功能集以满足现代企业和组织对于知识管理和协同工作的需求。
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
| hostname | IP地址 | 操作系统版本 | Docker版本 | 镜像版本 |
|---|---|---|---|---|
| jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | latest |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署 Docmost文档管理工具。
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven01:~# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2024-09-09 10:43:35 CST; 3 weeks 5 days ago Docs: https://docs.docker.com Main PID: 695 (dockerd) Tasks: 135 (limit: 9387) Memory: 4.0G CPU: 46min 46.854s CGroup: /system.slice/docker.service ├─ 695 /usr/bin/dockerd ├─ 846 containerd --config /var/run/docker/containerd/containerd.toml
检查Docker版本
root@jeven01:~# docker -vDocker version 27.1.1, build 6312585
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose versionDocker Compose version v2.19.1
拉取Docmost相关镜像,如下所示:
docker pull docmost/docmost:latestdocker pull postgres:16-alpinedocker pull redis:7.2-alpine

mkdir -p /data/docmost && cd /data/docmost
- 在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
- 注意环境变量中的
APP_URL值为宿主机IP地址+宿主机端口,如果填写错误则会导致容器启动失败。- 注意环境变量中的
APP_SECRET值将默认的进行修改,否则Docmost会启动失败,容器日志会提示报错。
version: '3'services: docmost: image: docmost/docmost:latest depends_on: - db - redis environment: APP_URL: 'http://192.168.3.88:3000' APP_SECRET: 'K8dCmZnXa3LQbPfRtGjW' DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public' REDIS_URL: 'redis://redis:6379' ports: - "3000:3000" restart: unless-stopped volumes: - docmost:/app/data/storage db: image: postgres:16-alpine environment: POSTGRES_DB: docmost POSTGRES_USER: docmost POSTGRES_PASSWORD: STRONG_DB_PASSWORD restart: unless-stopped volumes: - db_data:/var/lib/postgresql/data redis: image: redis:7.2-alpine restart: unless-stopped volumes: - redis_data:/datavolumes: docmost: db_data: redis_data:
执行以下命令,创建Docmost容器。
root@jeven01:/data/docmost# docker compose up -d[+] Running 7/7 ✔ Network docmost_default Created 0.1s ✔ Volume "docmost_redis_data" Created 0.0s ✔ Volume "docmost_docmost" Created 0.0s ✔ Volume "docmost_db_data" Created 0.0s ✔ Container docmost-db-1 Started 0.4s ✔ Container docmost-redis-1 Started 0.5s ✔ Container docmost-docmost-1 Started 0.7s
检查Docmost容器状态状态,确保Docmost容器正常启动。
root@jeven01:/data/docmost# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d14e3b4ec4bc docmost/docmost:latest "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp docmost-docmost-1 9319a36cd212 redis:7.2-alpine "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 6379/tcp docmost-redis-1 5bf3b742be5e postgres:16-alpine "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 5432/tcp docmost-db-1
检查Docmost容器日志,确保Docmost服务正常运行。
docker compose logs

访问地址:http://192.168.3.88:3000,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。

在Docmost初始页,自定义设置账号密码信息。


点击“General”,进入名称为General的工作空间。
点击Pages旁边的“+”号,我们新建一个空白页面。

编辑文章内容,如下所示:

回到home首页,可以看到刚刚编辑的文章。

通过Docker Compose部署Docmost文档管理工具,我们能够一键启动和管理多个相关联的容器,简化了服务的配置和维护。使用
docker-compose.yml文件定义了所有必要的服务、网络和卷,确保了环境的一致性和可复现性。这种部署方式不仅提高了开发和测试效率,还使得生产环境的部署变得更加简单和可靠。最终,团队可以更专注于内容创作与协作,而无需担心底层基础设施的复杂性。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70051046/viewspace-3181525/ ,如需转载,请注明出处,否则将追究法律责任。