Установка Docmost на Synology в контейнер Docker

Всем привет!!!

В этом материале я расскажу как установить 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
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. Форматирование:

   – Проверьте форматирование и убедитесь, что все элементы отображаются корректно. Возможно, потребуется вручную настроить некоторые части текста.

Этот процесс может занять некоторое время, особенно если у вас много записей или сложное форматирование. Однако это наиболее распространённый способ переноса данных между этими двумя платформами.

Видео ролик

Подписаться
Уведомить о
guest
7 Комментарий
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии