Etherpad на Pethost в один клик
Документы, которые редактируют вместе в реальном времени: у каждого автора свой цвет, есть чат, история и плагины
Что произойдет
- Вы входите в Pethost или создаете аккаунт — с passkey, через GitHub или Google.
- Машины еще нет? Вы выбираете тариф, и мы готовим машину для вас. Ссылка ждет в вашем браузере, пока машина не будет готова.
- Окно «Новый проект» открывается на этом приложении. Вы заполняете то, что оно просит, и нажимаете «Создать проект»: Пароль администратора.
- Через минуту-две приложение работает по своему адресу с HTTPS. Его секреты создаются случайно, а данные попадают в ночной бэкап.
- Это проект как любой другой: его compose.yaml, .env, логи и терминал — в панели, а ваш агент может его изменить, откатить или восстановить.
Первые шаги
Откройте адрес, назовите пад и поделитесь его ссылкой. Создавать и редактировать пады может любой, у кого есть адрес. Админка — по адресу https://etherpad.sam.pethost.app/admin: войдите как admin с паролем администратора, который вы указали, чтобы ставить плагины и управлять падами.
Что запускается
Шаблон — это этот compose.yaml и переменные, которые он пишет в .env проекта. Pethost запускает файл так, как он написан.
services:
etherpad:
image: etherpad/etherpad:3.3.8
restart: unless-stopped
environment:
NODE_ENV: production
# The user admin signs in to /admin with this password.
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
DB_TYPE: postgres
DB_HOST: postgres
DB_PORT: "5432"
DB_NAME: etherpad
DB_USER: etherpad
DB_PASS: ${POSTGRES_PASSWORD}
# Pethost's proxy terminates HTTPS, so the forwarded headers are trusted.
TRUST_PROXY: "true"
volumes:
- plugins:/opt/etherpad-lite/src/plugin_packages
- var:/opt/etherpad-lite/var
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:18-alpine
restart: unless-stopped
environment:
POSTGRES_DB: etherpad
POSTGRES_USER: etherpad
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- db:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U etherpad -d etherpad"]
interval: 5s
timeout: 5s
retries: 10
start_period: 30s
volumes:
plugins:
var:
db: