Etherpad,又一款强大的实时协作Markdown工具 | OpenEuler 社区SIG Meeting同款工具
Etherpad 介绍
Etherpad是一种开源的实时协作编辑器,允许多个用户同时编辑同一文档,并实时显示每个用户的输入内容。Etherpad最初由Etherpad基金会开发,后来被Google收购,现在由Apache软件基金会维护。Etherpad可以用于协作编辑文档、记录会议纪要、编写代码等多种场景。现已开源。
🚢 项目地址
🚀Etherpad 特征
- ⚡️实时编辑: 与他人实时协作。立即查看发生的变化。
- 🛠️ 可扩展的插件框架: 使用插件向 Etherpad 添加新功能。创建自己的或使用。
- 💬 实时聊天: 在编辑时与他人交流。讨论更改并分享想法。
- 📝 富文本编辑: 设置文本格式、添加图像等。轻松创建精美的文档。
- 🌐多语言支持: 首选需要的语言使用 Etherpad。本地化界面和文档。
- 📦易于安装: 支持 Docker,可Docker 快速入门,使用单个命令安装 Etherpad。
🛠️ 部署 Etherpad
👻 先决条件/要求
- 最低 512MB RAM(推荐 1GB+)
- 具备docker,docker-compose 环境
🐳 使用Docker Compose部署
services:
app:
user: "0:0"
#image: etherpad/etherpad:latest
image: docker.cnb.cool/srebro/pidin/etherpad:latest ##CNB镜像加速地址
tty: true
stdin_open: true
volumes:
- plugins:/opt/etherpad-lite/src/plugin_packages
- etherpad-var:/opt/etherpad-lite/var
depends_on:
- postgres
environment:
NODE_ENV: production
ADMIN_PASSWORD: ${DOCKER_COMPOSE_APP_ADMIN_PASSWORD:-admin}
DB_CHARSET: ${DOCKER_COMPOSE_APP_DB_CHARSET:-utf8mb4}
DB_HOST: postgres
DB_NAME: ${DOCKER_COMPOSE_POSTGRES_DATABASE:-etherpad}
DB_PASS: ${DOCKER_COMPOSE_POSTGRES_PASSWORD:-admin}
DB_PORT: ${DOCKER_COMPOSE_POSTGRES_PORT:-5432}
DB_TYPE: "postgres"
DB_USER: ${DOCKER_COMPOSE_POSTGRES_USER:-admin}
# For now, the env var DEFAULT_PAD_TEXT cannot be unset or empty; it seems to be mandatory in the latest version of etherpad
DEFAULT_PAD_TEXT: ${DOCKER_COMPOSE_APP_DEFAULT_PAD_TEXT:- }
DISABLE_IP_LOGGING: ${DOCKER_COMPOSE_APP_DISABLE_IP_LOGGING:-false}
SOFFICE: ${DOCKER_COMPOSE_APP_SOFFICE:-null}
TRUST_PROXY: ${DOCKER_COMPOSE_APP_TRUST_PROXY:-true}
restart: always
ports:
- "${DOCKER_COMPOSE_APP_PORT_PUBLISHED:-9001}:${DOCKER_COMPOSE_APP_PORT_TARGET:-9001}"
postgres:
#image: postgres:15-alpine
image: docker.cnb.cool/srebro/pidin/postgres:15-alpine ##CNB镜像加速地址
environment:
POSTGRES_DB: ${DOCKER_COMPOSE_POSTGRES_DATABASE:-etherpad}
POSTGRES_PASSWORD: ${DOCKER_COMPOSE_POSTGRES_PASSWORD:-admin}
POSTGRES_PORT: ${DOCKER_COMPOSE_POSTGRES_PORT:-5432}
POSTGRES_USER: ${DOCKER_COMPOSE_POSTGRES_USER:-admin}
PGDATA: /var/lib/postgresql/data/pgdata
restart: always
# Exposing the port is not needed unless you want to access this database instance from the host.
# Be careful when other postgres docker container are running on the same port
# ports:
# - "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data/pgdata
volumes:
postgres_data:
plugins:
etherpad-var:
浏览器访问Etherpad 地址:http://ip:9001/
Plugins 插件安装
-
插件市场 https://static.etherpad.org/index.html
-
对于插件,请在 ETHERPAD_PLUGINS 下的 build 部分添加它们
args:
ETHERPAD_PLUGINS: >-
ep_image_upload
ep_embedded_hyperlinks2
ep_headings2
ep_align
...
🧭 使用Nginx反向代理
#Etherpad
server {
listen 443 ssl;
server_name etherpad.srebro.cn; ##替换成自己的域名
error_page 404 /404/404.html;
charset utf-8;
ssl_certificate /home/application/nginx/cert/srebro.cn.pem;
ssl_certificate_key /home/application/nginx/cert/srebro.cn.key;
ssl_session_cache shared:SSL:1m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x-wiz-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:9001;
}
}
🎁 获取Etherpad
- CNB 仓库地址:Etherpad
License:
CC BY 4.0