Jolpin – кроссплатформенное приложение с открытым исходным кодом для ведения базы заметок, является хорошей альтернативой Evernote. Для совместной работы приложение предлагает большое количество способов синхронизации, одним из которых является использование собственного сервера.
Официально Joplin Server предусматривает использование Docker, других способов установки не предусмотрено. Для хранения базы заметок предлагается использовать PostgreSQL. В итоге у вас получится два контейнера: один для сервера Joplin, второй для СУБД.
Для установки создадим отдельный каталог, например,
/opt/joplin и разместим там файл docker-compose.yml со следующим содержимым: services:
db:
image: postgres:17
volumes:
- ./data/postgres:/var/lib/postgresql/data
restart: always
environment:
POSTGRES_PASSWORD: MyPa$$worD
POSTGRES_USER: joplin-user
POSTGRES_DB: joplindb
app:
image: joplin/server:latest
container_name: joplin-server
depends_on:
- db
ports:
- "8080:8080"
restart: always
environment:
APP_PORT: 8080
APP_BASE_URL: http://joplin.example.com:8080
DB_CLIENT: pg
POSTGRES_PASSWORD: MyPa$$worD
POSTGRES_DATABASE: joplindb
POSTGRES_USER: joplin-user
POSTGRES_PORT: 5432
POSTGRES_HOST: db
Он достаточно прост и в особых комментариях не нуждается. Отдельно стоит обратить внимание только на
APP_BASE_URL – укажите там именно тот адрес, по которому вы будете реально обращаться к серверу, если вы укажете joplin.example.com, а обращаться будете, скажем, как 192.168.1.100 – то ничего работать не будет.Сохраняем файл и запускаем:
docker compose up -d
После чего просто переходим по указанному в конфигурации URL. При первом входе обязательно установите надежный пароль администратора.
Сам Joplin Server – приложение предельно простое, даже примитивное, особо смотреть и настраивать здесь нечего.
Рекомендуем сразу перейти в раздел Users и создать нужное количество пользователей, под встроенным администратором работать разработчики категорически не рекомендуют, плюс у него нет реальной почты, и вы не сможете воспользоваться функцией восстановления пароля или получать уведомления.
Также еще можно заглянуть в раздел Tasks – там перечислены регламентные задания для обслуживания сервера, их расписание и статус.
После чего можно скачивать клиент и переходить к настройке синхронизации. Синхронизация при подключении нового клиента производится в обе стороны, т.е. все локальные заметки будут добавлены на сервер, а все удаленные будут скачаны на клиент.
Это удобно, если у вас есть две независимые базы, скажем на компьютере и телефоне и вы хотите их объединить и использовать совместно.
Для других сценариев полезно будет заглянуть в Расширенные настройки синхронизации. Опция Перегрузка локальных данных в цель синхронизации пригодится вам если вы хотите полностью заменить данные на сервере локальной копией. Скажем, после экспериментов или при восстановлении резервной копии.
Вторая опция Удалить локальные данные и перегрузить данные с цели синхронизации понадобится вам гораздо чаще. Рекомендуем использовать ее для подключение нового чистого клиента, в противном случае на сервер у вас будут синхронизированы стандартные заметки по умолчанию или вам потребуется предварительно удалить их руками.



