Моніка – менеджер з питань особистих відносин

Персональна CRM: Організація Вашого Соціального Життя з Monica

У світі, де інформація постійно надходить звідусіль – соціальних мереж, новинних стрічок, особистого спілкування – легко втратити з виду важливі моменти та дати. Постійний потік подій може викликати відчуття перевантаження та забудькуватість щодо деталей життя важливих для нас людей. Особливо це актуально, коли ми активізуємося в суспільстві, відвідуємо заходи, знайомимося з новими людьми.

Саме тут на допомогу приходить Monica, персональна CRM (Customer Relationship Management) з відкритим кодом. Цей інструмент покликаний допомогти вам організувати та відстежувати ваші соціальні взаємодії з близькими.

Давайте розглянемо процес розгортання Monica в Docker на Linode, що дозволить вам мати власний, налаштований інструмент для управління відносинами.

Необхідні умови для встановлення Monica в Docker

Перед тим, як почати, вам знадобиться сервер Docker. Linode пропонує просте та доступне рішення, де ви можете налаштувати сервер всього за кілька доларів на місяць. За додаткову плату можна додати приватну IP-адресу та автоматичне резервне копіювання.

Також вам буде потрібне доменне ім’я. Ви можете придбати його практично в будь-якому реєстратора доменів. Після покупки, не забудьте налаштувати DNS домену, вказавши на ваш сервер Linode. Детальніше про налаштування DNS можна дізнатися тут.

На вашому сервері Docker також знадобиться налаштувати зворотний проксі-сервер. Це потрібно для маршрутизації трафіку та керування SSL-сертифікатами. Детальний процес налаштування Docker-сервера з Portainer та зворотним проксі Nginx Proxy Manager описано в цій статті.

Після налаштування Docker-сервера, ви можете перейти до встановлення Monica.

Є два основні способи встановлення:

  • Через командний рядок (SSH)
  • Через панель управління Portainer.

Ми розглянемо встановлення через Portainer, оскільки це надає графічний інтерфейс.

Відкрийте http://IP-адреса-вашого-сервера:9000 та увійдіть в Portainer, використовуючи дані, які ви налаштували раніше.

В панелі зліва натисніть “Stacks” (Стеки), а потім на наступній сторінці натисніть “+ Add stack” (+ Додати стек).

Введіть назву стека. Нижче скопіюйте та вставте наступний YAML-код:

version: "3.4"
services:
  monica:
    image: monica
    networks:
      - nginxproxymanager_default
    depends_on:
      - monicadb
    ports:
      - 8456:80
    environment:
      - APP_KEY=idYyiD2Dj3yMqoyi3EpcnHWC2GxzSAS5
      - DB_HOST=monicadb
      - DB_USERNAME=monica
      - DB_PASSWORD=b2fWAfbyQuopHH9nD738x6o9TC9S8LM6
      - APP_ENV=production
    volumes:
      - /home/docker/monica/config:/var/www/html/storage
    restart: always

  monicadb:
    image: mysql:5.7
    networks:
      - nginxproxymanager_default
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=true
      - MYSQL_DATABASE=monica
      - MYSQL_USER=monica
      - MYSQL_PASSWORD=b2fWAfbyQuopHH9nD738x6o9TC9S8LM6
    volumes:
      - /home/docker/monica/db:/var/lib/mysql
    restart: always
    
networks:
  nginxproxymanager_default:
    external: true

Цей код інструктує Docker завантажити останню версію Monica, назвати контейнер “monica”, приєднати його до мережі “nginxproxymanager_default”, змонтувати каталог “/home/docker/monica” та зробити його доступним через порт 8456 Docker-сервера.

Ви можете змінити шлях до каталогу зберігання даних Monica. Переконайтеся, що папка має правильні дозволи на запис.

З міркувань безпеки, **обов’язково змініть паролі бази даних**.

Також, **замініть значення “APP_KEY” на випадковий та довгий рядок символів**.

Коли ви задоволені налаштуваннями, натисніть “Deploy the stack” (Розгорнути стек).

Після завантаження та розгортання Monica, сторінка перезавантажиться, і ви побачите список запущених контейнерів.

Тепер ви можете перейти за адресою http://IP-адреса-вашого-сервера:8456 і побачити екран входу в Monica. Проте, для зручності, налаштуємо доступ через субдомен.

Налаштування Домену та SSL

Перейдіть до панелі Linode, розділ “Domains” (Домени). Знайдіть свій домен та в розділі CNAME додайте новий запис. Введіть бажаний субдомен (наприклад, “monica”) в поле “Host Name”, символ @ в полі “Alias to”, та натисніть “Save” (Зберегти).

Далі перейдемо до Nginx Proxy Manager для налаштування SSL та домену. Відкрийте http://IP-адреса-вашого-сервера:81 та увійдіть в Nginx Proxy Manager, використовуючи стандартні облікові дані:

Email: [email protected]
Password: changeme

Або ваші, якщо ви їх змінювали.

На вкладці “SSL Certificates” (SSL-сертифікати), натисніть “Add SSL Certificate” (Додати SSL-сертифікат) та оберіть “Let’s Encrypt”. У вікні введіть повну URL-адресу домену (наприклад, https://monica.yourdomain.com). Перевірте доступність сервера, вкажіть правильну електронну адресу, погодьтесь з умовами та натисніть “Save” (Зберегти).

Система створить та встановить ключ. Після завершення, ви побачите список доступних SSL-сертифікатів.

На вкладці “Hosts” (Хости), оберіть “Proxy Hosts” (Проксі-хости). Натисніть “Add Proxy Host” (Додати проксі-хост). Введіть домен або субдомен, для якого було створено SSL. Схему залиште “HTTP”. В поле “Forward Hostname / IP” (Переслати хост/IP) введіть IP-адресу вашого контейнера, яку можна знайти в Portainer.

В поле “Forward Port” введіть 80 (порт контейнера, не Docker-порт).

Увімкніть параметри “Cache Assets” (Кешувати активи), “Block Common Exploits” (Блокувати поширені експлойти) та “Websocket Support” (Підтримка Websocket).

Перейдіть на вкладку “SSL”, виберіть створений сертифікат, поставте галочки у чотирьох параметрах, погодьтесь з умовами Let’s Encrypt та натисніть “Save” (Зберегти).

Після перезавантаження сторінки ви побачите новий запис проксі-хоста в Nginx Proxy Manager.

Перший Вхід

Тепер ви можете перейти за новою URL-адресою у браузері.

Ви побачите сторінку входу Monica:

Заповніть форму реєстрації, погодьтеся з умовами використання та натисніть “Register” (Зареєструватися).

Увійшовши в систему, ви можете створювати або імпортувати контакти. Налаштуйте параметри (значок шестерні) у верхньому правому куті, особливо зверніть увагу на вкладку “Personalization” (Персоналізація) для налаштування необхідних полів.

Ви завжди зможете повернутися та змінити їх пізніше.

Почніть Додавати Контакти

Тепер, коли Monica налаштована, ви можете ефективно відстежувати свої взаємодії. Завдяки цьому ви зможете справляти гарне враження, пам’ятаючи про дні народження, ювілеї та інші важливі події.

Якщо ви не готові до самостійного встановлення, можете розглянути хмарну версію CRM.