synology.forum архив спільноти · 2005–2022
ai.synology.forum →
ГлавнаяDocker › ERP (или только CRM) Odoo установка и запуск через docker на synology

ERP (или только CRM) Odoo установка и запуск через docker на synology

vfridrih · 11.03.2019

Всем привет.

Решил открыть данную тему по совету "мудрейших" для т.н. "комерсов" и просто для того кому интересно (я себя отношу к последним)

Причины:

1. бесплатная система по контролю и учету вас, ваших действий, ваших сотрудников (если конечно они у вас есть - с распределением прав и полномочий) .

2. бесплатная система CRM, что для меня было существенно (не нравится мне размещать инфо о своих связях, клиентах, знакомых да и вообще) на "бесплатных" серверах типа битрикс24 и пр-е (их много).

3. простые и понятные решения по подготовке своих шаблонов КП, отслеживанию своего прайслиста, тесная связь с календарем по всем проводимым действиям, что важно когда надо помнить что когда и зачем идет.

4. возможность запуска сайта (можно магазина) это я обнаружил после установки. Реально удобно все на уровне блоков - ребенок разберется, кто пользовал elementor в wordpress поймет, оно конечно не так круто, но аналогично, что открывает массу простых и иногда очень нужных возможностей.

Ну а теперь по порядку.

Дальше все просто, если предполагаешь порядок действий, я искал его методом тыка и перечитыванием массы постов связанных с установкой odoo:

1. на synology необходимо установить docker

2. на вкладке реестр в поиске указать odoo - у меня была самой первой строкой, в большинстве случаев как мне кажется будет аналогично. (в принципе по количеству скачиваний можно понять, что надо ставить)

3. Я выбрал latest - последнюю версию (ну раз уж не из стандартных приложений, где есть возможность поставить 8-ю то следует ставить последнюю, как мне показалось) после чего скачается соответствующий образ.

4. это пункт под вопросом. заодно скачал пакет Postgre он тоже есть в реестре, я правда наверное ошибся с его скачиванием, возможно и не следовало этого делать, т.к. если качается последняя версия там какие то проблемы.

5. Образ запускается и "вуаля" - дальше ничего не работает :) это тот момент который вызвал у меня самые большие сложности (ну я не спец :)) вот тут https://hub.docker.com/_/odoo/ сказано следует запустить PostgreSQL server - ага, здорово, но как? - строкой "docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:10" я уж как только не извращался в попытке исполнить эту команду. При открытии контейнера есть вкладка "терминал" где сразу запущен терминал "odoo1" ну так было у меня ни на какие введенные команды он не реагирует - возможно кто-то посмеется (кто знает) а мне ровно я не знал. при создании нового терминала bash открывается возможность ввода команд и даже присутствует реакция на них, но, к сожалению в данном терминале вход происходит не суперпользователем (root), а пользователем odoo что не позволяет исполнять эти команды. даже простые "apt-get upgrade"не прокатывает - выдает отсутствие прав у пользователя. Где то на просторах интернета я кажется находил решение для перехода к правам root в данном терминале и запуска необходимых для работы odoo команд, но в последствии, когда решил написать как и чего я делал не нашел. В общем решение данного вопроса следующее:

5.1. перво-наперво следует в Панели управления Synology в самой нижней вкладе "Терминал и SNMP" поставить галку на "включить службу Telnet" заодно можно и SSH (кому что нравится). лично я постоянно держу обе службы отключенными.

5.2. скачать и поставить на свой комп https://www.chiark.greenend.org.uk/~sgtatha...tty/latest.html (Putty - програмка для терминального доступа к synology с помощью Telnet или SSH кому что)

5.3. указав IP адрес в сети своего synology подключиться к нему с помощью Putty. (входить на synology необходимо под правами администратора) так же следует проверить ограничения Брандмауэера на вкладке безопасность в панели управления synology на случай если порты блокируются им.

5.4. и вот теперь под правами администратора в putty выполнить команды:

docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:10

после

docker run -p 8069:8069 --name odoo --link db:db -t odoo

и после

docker start -a odoo

все это описано вот тут: https://hub.docker.com/_/odoo/ - я про команды для запуска.

* может случиться, что команды не выполняются а система выдает ответ о том что пользователь не обладает достаточными правами в таком случае перед командой необходимо добавить sudo

6. Далее можно смело запускать odoo путем http://(IP адрес вашего сервера synology):8069 - настройка там простая, надо указать базу данных (odoo) и прочие настройки и запустить odoo подождать окончания установки и войти своими данными в систему (не рекомендую ставить демоданные потом можно умаяться их удалять :)).

7. это в общем то конец, дальше остается поставить нужные модули, и при необходимости их настроить.

 

Что интересно, просто и полезно:

1. в odoo есть возможность настройки почтового сервера, чтобы был нормальный обмен почтой и фиксация связей - я не стал решать эту проблему до конца, лениво :) хотя может и вернусь в последствии к данному вопросу - если кто решил и готов поделиться - милости прошу. Моя почта крутится на Яндексе (почта для домена) а odoo как я понимаю шлет и принимает письма себе не только от зарегеных пользователей но и от вымышленных имен, что требует доп настроек. Можно решить через запуск своего почтового сервера (но это тоже отдельная тема)

2. есть возможность настройки приложений под андроид (на счет яблока не знаю у меня яблока нет) что удобно, я их перепробовал все что то работало , что то не очень, что то требовало платной версии odoo.

3. про сайт уже писал, есть возможности связи склада с 1С. Возможно это только платные решения, я не в курсе, но думаю если покопаться и поинтересоваться можно и бесплатно найти, по тому как п.4

4. есть возможности импорта и экспорта данных в odoo (форматы разные), что позволяет существенно сэкономить на времени необходимом для заполнения сведений.

5. есть более-менее нормальная (натянуто конечно) локализация (русский язык).

 

вот понятное описание про систему: https://shevchenko.link/odoo/ автору спасибо.

 

 

В заключение. Из всего того богатства решений представленных на synology без всяких танцев с бубном я попробовал наверное каждое (то что касается вопросов CRM) odoo для меня оказалось самым простым в понимании и самым логичным в построении. Из-за чего решил поставить более свежую и понятно рабочую его версию, и соответственно пришел к открытию данной темы. На сайте есть много желающих помочь за деньги даже в этом (описанном выше) вопросе, чтобы снять напряжение я описал свое решение (то каким я его нашел самостоятельно).

Думаю даже если тема заглохнет в принципе, то те ищущие кто ищет все равно в поиске рано или поздно смогут наткнуться на мое описание и решить свою проблему если будут в ней заинтересованы. Если же найдутся те кто захочет поделиться опытом и навыками вне коммерческих основ, могут описать свои решения сюда) т.к. в самом odoo есть много вопросов по настройке системы под свои нужды.

Всем любви и добра!

vfridrih · 17.03.2019

В случае если требуется внести изменение записей в журнал, удалить счет и все такое

вообще инструкция вот тут понятна:

http://odoo-russia.ru/forum/topic/21/

но в случае с odoo 12 я умаялся искать галку в журналах (там всего то записей кот наплакал а установить возможность отмены проводок не было никак). Решение оказалось простое - на вкладке Настройки необходимо активировать "Активируйте режим разработчика (с активами)" и тогда галки в журналах появятся и их можно будет поставить.

* следует обратить внимание на права пользователя который ставит эти галки у него их должно быть достаточно.

 

И еще хотелось бы добавить про Российские локализации для odoo полезная информация может пригодится кому: http://codup.com/prilojeniya/lokalizaciya.html :unsure: вроде бесплатно предлагают... надеюсь никого не обидел, кто на этом заработать планировал? :rolleyes:

 

vfridrih · 22.03.2019
И еще хотелось бы добавить про Российские локализации для odoo полезная информация может пригодится кому: http://codup.com/prilojeniya/lokalizaciya.html :unsure: вроде бесплатно предлагают... надеюсь никого не обидел, кто на этом заработать планировал? :rolleyes:

 

Ах да, забыл указать про порядок их установки, точнее как я это делал, возможно, что можно сделать и попроще, но мало ли это ведь тоже денег стоит :)

 

1. на Synology в папке home создал отдельную папку для аддонов (к ней проще подключаться и с нее легче копировать. для примера назову ее ПАПКА).

2. туда распаковал все аддоны как есть отдельными папками

3. через putty вошел на Synology далее выпоняем команду cd home/ПАПКА/ и фактически переходим в папку где хранятся расширения, на всякий случай это можно проверить командой ls эта команда выдаст на экран список папок и файлов которые лежат у вас в папке ПАПКА :)

4. а далее простой командой sudo tar -cv * | sudo docker exec -i odoo tar x -C /mnt/extra-addons (я использую каждый раз sudo, но можно заморочиться добавить пользователя но сейчас это к делу отношения не имеет.) произойдет копирование всего содержимого из папки ПАПКА в папку /mnt/extra-addons я ее ранее подцепил, если ее нет в контейнере docker сразу то потом кому надо расскажу как.

5. после чего кто-то предлагает командой docker restart (здесь указывается ID контейнера вашего, чтобы его узнать в самом начале можно запустить sudo docker ps -a там будет понятно где id контейнера) я сделал проще в самом приложении Docker на Synology сделал перезапуск базы данных и самого odoo.

6. Далее все мероприятия в самом odoo - входим в систему через web выходим в настройки и включаем режим разработчика.

7. После идем в приложения и выполняем "Обновить список приложений"

8. Устанавливаем (сначала находим:)) закачанные модули и вуаля!

Всем любви и добра!

данила · 23.03.2019
далее простой командой
sudo tar -cv * | sudo docker exec -i odoo tar x -C /mnt/extra-addons

 

:) многие будут просто подпрыгивать от счастья когда допрут до того что это делается намного проще

 

 

по этому ману всё равно что ехать до Москвы через Андарктиду

vfridrih · 23.03.2019
:) многие будут просто подпрыгивать от счастья когда допрут до того что это делается намного проще

 

:lol: ну может оно и так. У каждого свой путь. Я описал свой, тот что нашел для решения сам. Других не смог найти. И если кому то это будет полезно воспользуется. Ну, а кто найдет проще, может так же и проще и опишет. Писать то можно вроде, а мне и не жаль.

vfridrih · 24.03.2019

Почта для odoo.

Вот еще один острый момент, который я, наконец, решил, возможно опять через Антарктиду :rolleyes: но решение работает.

Так как я свой odoo запускал на synology который установлен дома и соответственно возникают вопросы по внесению необходимых записей провайдером, чтобы почта с домашнего сервера не валилась в спам и в принципе не отвергалась принимающими серверами. Наверняка, те кто пытался запустить домашний mail сервер столкнулись с этой проблемой. В общем к сути вопроса: самое простое и действенное решение для запуска почты со своим доменным именем это делегировать почту на google, mail.ru или yandex.ru я выбрал последнее, так как давно им пользуюсь. Так получается - почта для домена есть, но при внесении настроек в odoo (при указании почтовых серверов яндекса) она не работает, не принимает и не отправляет. Причины этого в том что odoo самостоятельно проставляет имена отправителей почты.

наверное хватит лирики.

Большое спасибо автору видео

он в принципе все толково рассказал. сейчас в части яндекса все несколько поменялось, так появился яндекс коннект и там внешний вид всего сменился, но принципы работы те же.

DNS записями своего домена я управляю со своего же synology. Удобно и просто. поэтому все необходимые записи для домена я делаю там, а не у регистратора у регистратора только при покупке доменного имени и указании своих адресов DNS. В том числе запись MX для яндекса.

И так, автор видео предлагает 13 необходимых пунктов для запуска почты в odoo:

1. подтвердить домен - как это сделать детально описывать не буду, но в случае с synology это проще некуда. либо если есть сайт скинуть файл в папку с сайтом либо если нет, в DNS сделать TXT запись.

2. 3 и 4 пункты прописать в dns записи: mx значение, SPF значение, DKIM значение. MX значение - в DNS synology указывается почтовый сервер яндекса (mx.yandex.net). в записи spf - указывается ip адрес, не уверен я что эта запись нужна в том случае если у вас и DNS и odoo крутится на одном synology, но на всякий случай сделал (чтоб не уходить от инструкции :)), в том что касается записи dkim это цифровая подпись почты, в управлении dns яндекс коннекта эта запись присутствует как txt запись mail._domainkey ее следует продублировать на своем DNS syniology.

5. установить subdomen почты - это еще одна запись на DNS ее тип CNAME - которой вы указываете субдомен почты для своего доменного имени и привязываете кего к яндексу вид получится типа: mail.мойдомен.ru domailn.mail.yandex.net.

6. создать дефолтный ящик - на самом деле это самый первый почтовый ящик который вы создадите в управлении доменом яндекс коннекта это тот ящик с которого будет осуществляться рассылка почты. разумно прописать info@мойдомен.ru это будет самый первый ящик, с него будет осуществляться рассылка почты odoo как я понимаю.

7. 8 и 9 создать почтовые ящики: ящик catchall, ящик bounce, а так же ящики всех пользователей, то же что и в п. 6 нужно создать все указанные ящики и ящики пользователей почты вашего домена.

10. активация всех почтовых ящиков - это обязательная процедура в яндексе в каждый ящик надо будет зайти после его создания, так как без первого входа ящик не будет работать в яндекс почте.

11. установка ящика по умолчанию для сбора почты с несуществующих имен в домене

12. и 13 пункт настройка почтовых серверов в odoo - далее все настройки на odoo - надо в настройках поставить галку в пункте внешние почтовые сервера в поле домен псевдонима указать наименование вашего домена (мойдомен.ru) в настройках сервера входящей почты указать настройки почты для яндекса и в информации для входа указать тот самый первый почтовый ящик типа info@мойдомен.ru и его настройки для входа. в настройках исходящей почты аналогично. И вуаля!

Всем любви и добра!

 

 

 

 

 

 

данила · 25.03.2019

без PTR-записи не будет ни любви ни добра

 

xxx.xx.xxx.xx.in-addr.arpa      name = mail.example.com/

 

оно конечно будет работать

 

но с серьёзными провайдерами и тем более в продакшн почта будет улетать напрямую в спам

vfridrih · 05.04.2019
без PTR-записи не будет ни любви ни добра

 

xxx.xx.xxx.xx.in-addr.arpa      name = mail.example.com/

 

оно конечно будет работать

 

но с серьёзными провайдерами и тем более в продакшн почта будет улетать напрямую в спам

 

без PTR не будет (будет но в спам или в отказы) если пустить со своего сервера почту (если сервер почты завешен на своем IP, где провайдер отказывается внести PTR запись, например при использовании личного домашнего интернета, как в моем случае), например установив Mail server на своем synology или MailPlus server (кому что нравится) в этом случае - согласен нужна запись. А если пустить почту через почтовики Яндекса или mail.ru или google.com то эта проблема решаема на ура. Выше как раз и описана процедура как сделать так, чтобы все было - и одно и другое и в спам ничего не улетало.

данила · 05.04.2019
пустить почту через почтовики Яндекса или mail.ru или google.com то эта проблема решаема на ура.

 

 

на своём сервере все файлы у вас и это основное требование к продакшн по закону о персональных/личных данных

 

можете хранить на гугле или яндексе, всё зависит от вашей политики по зашите данных

 

для некоторых лично это и не так критично но для корпората это архи критично и черевато

bankir · 10.08.2019

Запустил odoo в контейнере чуть проще, чем автор топика расписал (на DSM 6.2)

1. Скачать образ и создать контейнер Postgres

2. Поменять в настройках порт маппинг с Авто на 54322 для Локального порта, Порт контейнера оставить 5432 (это нам понадобится для запуска odoo, а порт 5432 уже занять DSM или каким-то пакетом)

3. Запустить контейнер Postgres, зайти в Сведения на вкладку Терминал и нажать кнопку Создать. В списке должен появиться bash, встать на него, чтобы видеть терминал

4. В терминале открылась консоль под root. Поменял пользователя выполнив команду su postgres.

5. Далее команда psql, появится строка postgres=#

6. Вводим команду, чтобы строка выглядела так: postgres=# create user odoo with encrypted password odoo;

7. Вводим команду, чтобы строка выглядела так: postgres=# alter user odoo createdb;

8. Закачиваем образ odoo, в образах двойной щелчёк запускает процесс создания контейнера, где входим в Дополнительные настройки

9. На вкладке Настройка портов указываем локальные порты вместо Авто на нужные нам (например, дефолтные 8069 и 8071, такие же, как в Порт контейнера).

10. ВАЖНО! Во вкладке Защита окружающей среды внизу есть поле Команда (Потом, когда контейнер создан, этого поля уже нет!!!). Вот тут вписываем вот такую строку: /usr/bin/python3 /usr/bin/odoo --db_host <IP адрес NAS/DNS имя NAS> --db_port <Порт из пункта 2> --db_user odoo --db_password odoo

11. Запускаем контейнеры и идём на http://<IP адрес NAS>:8069

 

bankir · 10.08.2019

Вместо пункта 10 можно во вкладке Защита окружающей среды просто добавить 2 переменные окружения

1. HOST = IP адрес NAS или DNS имя

2. PORT = 54322

 

Эти переменные можно менять у уже созданного контейнера.

В случае, если в БД создан другой пользователь, то так же можно указать в переменных окружения USER и PASSWORD