Позволяет в течении ~30 минут развернуть рабочий стенд облачной подсистемы Фреш с использованием технологии docker. Может пригодиться для:
- Разработки конфигурации которая должна работать в облаке
- Разработки самой технологии Фреш
- Тестирования средств адаптации конфигураций
- Так же Фреш можно использовать для централизированной поддержки информационных баз, планирования обновлений, обновления, завершения работы пользователей.
- и т.д.
- Оперативная память от 4Гб
- лучше от 8Гб
- Свободное место от 50Гб
- Необходимое ПО:
Для использования на ОС симейства linux команды docker без sudo необходимо добавить пользователя в группу docker.
sudo usermod -aG docker ${USER}
Для развертывания стенда потребуются дистрибутивы платформы 1С Предприятие и подсистемы Фреш
- Платформа 1С Предприятие 8.3 требуется два файла
- Клиент 1С:Предприятия (64-bit) для RPM-based Linux-систем
- Cервер 1С:Предприятия (64-bit) для RPM-based Linux-систем
- Дистрибутивы компонентов 1cFresh
- Сайт 1cFresh
- Форум 1cFresh
- Шлюз приложений для DEB-based Linux-систем
- Конфигурация Менеджер сервиса
- Конфигурация Агент сервиса
- Конфигурация Менеджер доступности
- 1С:Библиотека технологии сервиса, редакция 1.2 или 1С:Библиотека технологии сервиса, редакция 2.0
- 1С Предприятие 8.3.15.1869
- 1С:Предприятие. Облачная подсистема Фреш 1.0.28.1
- 1С:Библиотека технологии сервиса, редакция 1.2. Версия 1.2.2.26
Необходимо так же скачать и разместить архив с утилитой лицензирования в каталог /docker_fresh/distr/
Данный стенд для простоты развертывания использует домен 1cfresh-dev.ru и валидные, выданные let's encrypt сертификаты.
Использование данного доменного имени и сертификатов может быть не безопасным, поэтому предлагается использовать их в только в целях тестирования и ознакомления.
Для более надежного использования данного стенда, поменяйте в файле start.py доменное имя 1cfresh-dev.ru на имя вашего домена и разместите сертификаты в каталоге /docker_fresh/certs/
git clone https://github.com/1C-Company/docker_fresh.git
cd docker_fresh
Все ранее скачанные дистрибутивы необходимо разместить в каталоге /docker_fresh/distr/
.
После добавления всех дистрибутивов в каталог, он должен выглядить примерно следующим образом
Файл smtl.cf это файл demo/1cv8_service.cf из комплекта поставки 1С:Библиотека технологии сервиса
Для 1С:Библиотека технологии сервиса версии 2.0 и выше, нужно взять файл расширения из комплекта поставки 1cv8.cfe или fresh.cfe и разместить его рядом с файлом smtl.cf, назвав smtl.cfe
В файле /docker_fresh/other_files/params.json
расположен список информационных баз в формате JSON которые требуется создать
- Информационная база SM всегда должна быть первой в списке
- Для каждой базы необходимо прописать имя CF файла расположенного в каталоге
/docker_fresh/distr/
- В данный список можно добавить свои информационные базы
Выполните повторый запуск данной команды с ключем -debug
сделайте скриншот результата и зарегистрируйте ошибку
Данный стенд содержит следующие контейнеры:
- centos - является базовым образом для образов core и db
- core - платформа 1С, клиентская и серверная часть. Дополнительно содержит ring, onescript
- db - сервер баз дынных Postgres
- site - компонент сайт Фреша
- forum - компонент форум Фреша
- gate - компонент шлюз приложений Фреша
Сборка образов запускается командой
sudo python3 install.py -v 8.3.15.1869
install.py имеет возможность запуска с флагом -debug. При запуске с данным флагом весь процесс сборки будет подробно отображаться на экране.
-v необходимо указать номер версии платформы дистрибутивы который вы скачали
Для работы данного стенда необходимо два вида лицензий
- Серверная
- Клиентская
На операционных системах семейства Linux поддерживается проброс HASP ключей в контейнеры. На остальных, работа возможна только с помощью программных лицензий или указания сервера лицензирования в файле nethasp.ini для получения клиентских лицензий.
Проброс в контейнер выполняется в файле docker-compose.yml путем монтирования файла /tmp/.aksusb в контейнер srv(контейнер содержащий сервер 1С). Что бы данный файл появился необходимо установить драйвера для HASP ключей, скачать можно по ссылке выбрав подходящий для вашей ОС.
Файл расположен по пути docker_fresh/conf/core/nethasp.ini
.
Если вы хотите указать сервер с лицензиями нужно раскоментировать каждую строку в этом файле и вместо server указать имя реально существующего сервера
Активация программных лицензий выполняется с помощью утилиты ring которая присутствует в образе core. Пример строки активации лицензии
docker run --rm -it -v /Users/wizaxxx/Documents/projects/docker_fresh/licenses_1c:/var/1C/licenses fresh/core bash -l -c 'ring license activate --first-name "myname" --middle-name "mymiddlename" --last-name "mylastname" --email "myemail@email.com" --country "Russia" --zip-code "101000" --town "Moscow" --street "mystree" --house "myhouse" --apartment "myapart" --serial "myRegNumber" --pin "MyPIN" --send-statistics "false"'
Где
-v /Users/wizaxxx/Documents/projects/docker_fresh/licenses_1c:/var/1C/licenses
является пробросом каталога с лицензиями /var/1C/licenses
из контейнера в локальный каталог /Users/wizaxxx/Documents/projects/docker_fresh/licenses_1c
для дальнейшего использования.
Все остальный параметры заполняются согласно документации утилиты ring
Запуск стенда выполняется командой
sudo python3 start.py -new -h mystandname
Флаг -new сообщает скрипту что требуется именно создать новый стенд а не запускать существующий. Параметр -h используется для указания наименования и адреса по которому стенд будет доступен. Если указать значение параметра -h mystand тогда адрес сайта будет https://mystand.1cfresh-dev.ru.
Скрипт start.py имеет возможность запуска с флагом -debug. При запуске с данным флагом весь процесс запуска будет подробно отображаться на экране.
При запуске скрипта start.py происходит создание каталога workdir. В данный каталог копируются необходимые для работы стенда файлы и выполняется их конфигурирование.
Для повторного запуска стенда необходимо использовать скрипт start.py без указания дополнительных параметров.
sudo python3 start.py
Для доступа к сайту, веб клиентам информационных баз или доступу через конфигуратор необходимо сконфигурировать файл hosts. В файл hosts требуется добавить следующю строку
192.168.1.6 mystandname.1cfresh-dev.ru srv.mystandname.1cfresh-dev.ru s3.1cfresh-dev.ru
Где вместо 192.168.1.6 необходимо указать ip адрес сервера на котором вы развернули стенд Фреша, а вместо mystandname необходимо использовать имя указанное при развертывании стенда.
При запуске стенда в windows с использованием wsl2 корректный ip адрес для записи в файл hosts можно получить выполнить в wsl2 следующую команду
ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
- Сайт - https://mystandname.1cfresh-dev.ru
- Менеджер сервиса веб клиент - https://mystandname.1cfresh-dev.ru/a/adm?Oida-
- Для доступа через конфигуратор - Srvr="srv.mystandname.1cfresh-dev.ru";Ref="ibname"; в качестве имен информационных баз используются указанные в файле
/docker_fresh/other_files/params.json
данные.
Для выключения стенда достаточно зайти в каталог /docker_fresh/workdir
и выполнить команду
docker-compose down