Etherpad-lite 项目 Docker 部署完全指南
2026-02-04 04:02:24作者:侯霆垣
前言
Etherpad-lite 是一个基于 Web 的实时协作编辑器,允许多个用户同时编辑文档。使用 Docker 部署 Etherpad-lite 可以简化安装过程,提高可移植性。本文将详细介绍如何使用 Docker 部署和管理 Etherpad-lite 实例。
获取官方 Docker 镜像
Etherpad-lite 提供了官方 Docker 镜像,可以直接拉取使用:
# 获取最新版本
docker pull etherpad/etherpad
# 获取特定版本
docker pull etherpad/etherpad:1.8.0
构建个性化容器
使用 Docker Compose 部署
项目提供了 docker-compose 文件,简化部署流程:
-
首先复制环境变量模板文件:
cp .env.default .env -
编辑
.env文件,根据需求调整配置 -
启动容器:
docker compose up -d
开发模式与生产模式
- 开发模式:默认会安装开发依赖项,便于调试
- 生产模式:不安装开发依赖,优化资源加载速度
要切换到生产模式,需要修改 docker-compose 文件中的 target 属性和 NODE_ENV 环境变量。
插件管理
在构建时可以通过 ETHERAPD_PLUGINS 参数指定要安装的插件:
args:
ETHERPAD_PLUGINS: >-
ep_image_upload
ep_embedded_hyperlinks2
ep_headings2
ep_align
自定义配置
配置文件定制
编辑 <BASEDIR>/settings.json.docker 文件可以自定义配置。构建镜像时,该文件会被复制到容器内并重命名为 settings.json。
配置参数也可以通过环境变量设置,语法为:
${ENV_VAR}:必须的环境变量${ENV_VAR:default_value}:带默认值的环境变量
导出功能配置
Etherpad-lite 支持将文档导出为 DOC/PDF/ODT 格式,需要安装额外的软件:
使用 Abiword
- 构建时设置
INSTALL_ABIWORD变量 - 在配置中指定 Abiword 路径:
或通过环境变量:"abiword": "/usr/bin/abiword"-e ABIWORD=/usr/bin/abiword
使用 LibreOffice
- 构建时设置
INSTALL_SOFFICE变量 - 在配置中指定 LibreOffice 路径:
或通过环境变量:"soffice": "/usr/bin/soffice"-e SOFFICE=/usr/bin/soffice
运行实例
构建并运行自定义镜像的基本命令:
# 构建镜像
docker build --tag yourname/etherpad .
# 运行容器
docker run --detach --publish 9001:9001 yourname/etherpad
访问地址:http://<服务器IP>:9001
配置详解
基本配置
| 变量名 | 描述 | 默认值 |
|---|---|---|
TITLE |
实例名称 | "Etherpad" |
IP |
绑定IP | "0.0.0.0" |
PORT |
绑定端口 | 9001 |
ADMIN_PASSWORD |
admin用户密码 | 无 |
USER_PASSWORD |
默认用户密码 | 无 |
数据库配置
支持多种数据库类型,包括 MySQL、PostgreSQL、SQLite 等:
| 变量名 | 描述 |
|---|---|
DB_TYPE |
数据库类型 |
DB_HOST |
数据库主机 |
DB_PORT |
数据库端口 |
DB_NAME |
数据库名称 |
DB_USER |
数据库用户 |
DB_PASS |
数据库密码 |
高级配置
| 变量名 | 描述 | 默认值 |
|---|---|---|
TRUST_PROXY |
是否使用反向代理 | false |
MINIFY |
是否压缩资源 | true |
REQUIRE_AUTHENTICATION |
是否需要认证 | false |
EXPOSE_VERSION |
是否显示版本信息 | false |
实用示例
使用 PostgreSQL 数据库
docker run -d \
--name etherpad \
-p 9001:9001 \
-e 'DB_TYPE=postgres' \
-e 'DB_HOST=db.example.com' \
-e 'DB_PORT=5432' \
-e 'DB_NAME=etherpad' \
-e 'DB_USER=etherpad' \
-e 'DB_PASS=password' \
etherpad/etherpad
启用管理员账户
docker run -d \
--name etherpad \
-p 9001:9001 \
-e 'ADMIN_PASSWORD=admin123' \
etherpad/etherpad
使用持久化存储
docker run -d \
-v etherpad_data:/opt/etherpad-lite/var \
-p 9001:9001 \
etherpad/etherpad
总结
通过 Docker 部署 Etherpad-lite 可以快速搭建一个功能完善的实时协作平台。本文介绍了从基础部署到高级配置的各个方面,包括数据库集成、插件管理、导出功能配置等。根据实际需求选择合适的配置方式,可以构建出满足不同场景需求的 Etherpad-lite 实例。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0231
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
JoyAI-VL-Interaction-Preview京东开源首个开源、视觉驱动的实时交互模型——它能实时监控视频流,并自主决定何时发言、保持沉默或委托任务。Jinja00
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0149
kornia🐍 空间人工智能的几何计算机视觉库Python02
PaddleParallel Distributed Deep Learning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)C++02
热门内容推荐
最新内容推荐
项目优选
收起
暂无描述
Dockerfile
781
5.11 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
891
2.05 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
473
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
708
1.42 K
deepin linux kernel
C
32
16
Ascend Extension for PyTorch
Python
762
973
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
2.27 K
680
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.11 K
1.15 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
272
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
2.16 K
228