Всем привет!!!
В этом материале я расскажу как установить Docmost, который может заменить ушедший из России Notion, на Synology в контейнер Docker.
Инструкция основана на базе mariushosting.com и официального руководства, но имеет доработки для запуска в DSM 7.2 и новее, а так же некоторые другие улучшения на мой взгляд.
Оглавление
Введение
Docmost — это open-source инструмент для управления документами и совместной работы, который позволяет пользователям создавать, редактировать и организовывать документы в одном месте. Он может включать функции, такие как:
- Создание документов: Возможность писать и форматировать тексты.
- Совместная работа: Пользователи могут одновременно редактировать документы и оставлять комментарии.
- Хранение и организация: Удобная система папок и меток для упорядочивания документов.
- Интеграции: Возможность подключения к другим сервисам для улучшения функциональности.
Docmost подходит как для индивидуальных пользователей, так и для команд, помогая упростить процесс создания и управления документами. Если вам нужно больше информации о конкретных функциях или использовании Docmost, дайте знать!
Docmost может заменить ушедшего из России Notion и вот чем они похожи и различаются:
Notion и Docmost — это оба инструмента для управления информацией и совместной работы, но у них есть свои особенности. Вот основные сходства и различия:
▎Сходства:
1. Совместная работа: Оба инструмента позволяют нескольким пользователям работать над документами и проектами одновременно.
2. Организация информации: Оба приложения предлагают возможность создавать и организовывать документы, заметки и базы данных.
3. Интерфейс: Оба имеют интуитивно понятный интерфейс, который позволяет легко навигировать и использовать функционал.
▎Различия:
1. Функциональность:
– Notion: Более универсальный инструмент, который включает в себя функции для создания заметок, баз данных, задач и вики. Он может использоваться для управления проектами, ведения заметок и даже для создания личных баз данных.
– Docmost: Основное внимание уделяется управлению документами и совместной работе над текстами. Может иметь более ограниченный функционал по сравнению с Notion.
2. Структура данных:
– Notion: Позволяет создавать сложные структуры данных с помощью таблиц, галерей и других типов контента.
– Docmost: Обычно сосредоточен на текстовых документах и может не предлагать такой же уровень гибкости в организации данных.
3. Целевая аудитория:
– Notion: Подходит как для индивидуальных пользователей, так и для команд, желающих управлять проектами и информацией более комплексно.
– Docmost: Может быть более ориентирован на пользователей, которым нужно простое решение для работы с документами.
4. Интеграции:
– Notion: Имеет множество интеграций с другими сервисами и приложениями.
– Docmost: Может иметь меньше интеграций, сосредоточенных на управлении документами.
Я не знаток ни того ни другого и никогда ими не пользовался, но что мне не понравилось в docmost так это интерфейс не на русском языке и добавление пользователей только через приглашения по почте. Если вы знаете решение по лучше, то дайте знать, разработаю новую инструкцию.
Подготовка
Откройте Synology DSM и File Station. В каталоге docker или там где вам больше нравиться создайте папку docmost, а в ней еще каталоги: db data redis
Откройте свойства папки dockmost
Перейдите на вкладку разрешения и сделайте наследуемые разрешения явными
Вам нужно либо добавить, либо отредактировать группу пользователей Everyone
Everyone должен иметь доступ на чтение и запись
Установите галочку применить данной папке и подпапкам и нажмите выполнено
Установка Docmost
Открываем Synology Container Manager, проекты и создаем новый проект. Придумываем ему имя, выбираем путь до папки dockmost в папке dosker и вставляем текст docker compose, который нужно заранее отредактировать.
Вам нужно заменить
- https://docmost.XXX.synology.me на свое значение
- Скорректировать SMTP сервер, если яндекс то инструкция тут. Это нужно если вы планируете использовать более одного пользователя.
Для доступа к почтовому серверу укажите ваш логин и пароль приложения. Используйте тот пароль, который вы создали для почтового приложения
MAIL_DRIVER: smtp
SMTP_HOST: smtp.yandex.ru
SMTP_PORT: 587
SMTP_USERNAME: Your-own-gmail-address
SMTP_PASSWORD: Your-own-app-password
MAIL_FROM_ADDRESS: Your-own-gmail-address
- TZ: Asia/Omsk указать корректный часовой пояс
- Порт 3199 можно заменить на свое значение
version: "3.9"
services:
db:
image: postgres:16-alpine
container_name: Docmost-DB
hostname: docmost-db
mem_limit: 1g
cpu_shares: 1024
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "docmost", "-U", "docmostuser"]
timeout: 45s
interval: 10s
retries: 10
volumes:
- ./db:/var/lib/postgresql/data:rw
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmostuser
POSTGRES_PASSWORD: docmostpass
restart: unless-stopped
docmost:
image: docmost/docmost:latest
container_name: Docmost-app
healthcheck:
test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1
interval: 10s
timeout: 5s
retries: 3
start_period: 90s
depends_on:
- db
- redis
environment:
APP_URL: https://docmost.XXX.synology.me
APP_SECRET: bafistasite2024bafistasite
DATABASE_URL: 'postgresql://docmostuser:docmostpass@db:5432/docmost?sslmode=disable'
REDIS_URL: 'redis://redis:6379'
MAIL_DRIVER: smtp
SMTP_HOST: smtp.yandex.ru
SMTP_PORT: 587
SMTP_USERNAME: Your-own-gmail-address
SMTP_PASSWORD: Your-own-app-password
MAIL_FROM_ADDRESS: Your-own-gmail-address
MAIL_FROM_NAME: Docmost
ports:
- 3199:3000
restart: unless-stopped
volumes:
- ./data:/app/data/storage:rw
redis:
image: redis:7.2-alpine
container_name: Docmost-REDIS
mem_limit: 1g
cpu_shares: 1024
security_opt:
- no-new-privileges:true
read_only: true
user: 1024:101
healthcheck:
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
volumes:
- ./redis:/data:rw
environment:
TZ: Asia/Omsk
restart: unless-stopped
Если все сделали правильно, то после создания проекта увидите код 0 означающий, что проект благополучно создался.
Настройка обратного прокси
Можно сделать доступ к Mattermost по доменному имени через обратный прокси в Synology. Откройте панель управления в DSM, портал для входа, дополнительно и обратный прокси. Создайте новое правило. Придумайте название правила. В источнике укажите https, имя домена, например docmost.XXX.synology.me и 443 порт. В месте назначения укажите http, localhost и порт 3199.
Настройка фаервола
Если у вас на Synology NAS включен фаервол (брандмауэр), то нужно разрешить сеть контейнера на нем. Для этого нужно узнать какая сеть. В Container Manager перейдите на вкладку сеть и раскройте сеть dockmost. Вы увидите сеть проекта, в моем случаи это 172.25.0.0 с маской 16. Маска 16 это то же самое что маска 255.255.0.0 можете это проверить любым IP калькулятором онлайн.
Перейдите в панель управления, безопасность, брандмауэр, редактировать правила и добавьте новое правило. В нем разрешите нужную вам сеть как пример картинка ниже
А затем перетащите это разрешающее правило с нужной сетью выше запрещающего, например как на картинке ниже
Первоначальная настройка
Теперь откройте новую вкладку в браузере и введите http://IP-NAS:3199 или используя домен https://docmost.XXX.synology.me, который указывали в файле docker compose. В открывшемся окне заполните данные
Вы попали в docmost и можно начинать с ним работать
В общем развлекайтесь
Теперь вы знаете как установить Docmost на Synology в контейнер Docker
Экспорт записей из Notion в Docmost
Экспортировать записи из Notion в Docmost можно, но для этого потребуется несколько шагов, поскольку прямой интеграции между этими двумя сервисами нет. Вот общий процесс:
1. Экспорт из Notion:
– Откройте нужную страницу в Notion.
– Нажмите на три точки в правом верхнем углу и выберите “Экспорт”.
– Выберите формат (например, Markdown или HTML) и экспортируйте файл на свой компьютер.
2. Импорт в Docmost:
– Откройте Docmost и создайте новый документ.
– Скопируйте содержимое из экспортированного файла (если это текстовый формат) и вставьте его в новый документ в Docmost.
– Если вы экспортировали в формате Markdown или HTML, возможно, вам придется отредактировать форматирование после вставки.
3. Форматирование:
– Проверьте форматирование и убедитесь, что все элементы отображаются корректно. Возможно, потребуется вручную настроить некоторые части текста.
Этот процесс может занять некоторое время, особенно если у вас много записей или сложное форматирование. Однако это наиболее распространённый способ переноса данных между этими двумя платформами.