Giter Club home page Giter Club logo

onec-instance's Introduction

Сервер 1С:Предприятия

Данный комплект предназначен для быстрого развертывания серевера 1СЖПредприятия на хосте для целей тестирования. Не предназначен для работы на продуктивном сервере!

Разрабатывалось и тестировалось на операционной системе Linux, но должен работать и на WIndows 10, но потребуются выполнить часть действий в ручную.

Важно

  • клонировать репозитарий вместе с сабмодулями!
    git clone --recursive https://github.com/TheDemonCat/onec-instance.git

Запуск на Linux

  1. Необходимо установить свежую версию Docker и Docker-compose c официального сайта
  2. Создать файл .env в корне проекта. В качестве примера использовать .env.example. В файле должны быть определены переменные:
    ONEC_USERNAME=<ПОЛЬЗОВАТЕЛЬ_USERS.1C.V8.RU>
    ONEC_PASSWORD=<ПАРОЛЬ_ОТ_USERS.1C.V8.RU>
    ONEC_VERSION=8.3.14.1993
    ONEC_PG_VERSION=9.6-2-1C
    PG_PORT=5432
    CRS_PORT=1542
    RAS_PORT=1545
    HOSTNAME=onec_server

Используемая учетная запись должна иметь доступ к скачиванию платформы 1С:Предприятие

  1. Запустить скрипт развертывания инстанса:
    ./onec_instance.sh start

Во время установки потребуется ввести пароль суперпользователя. Он используется для доступа к файлу /etc/hosts. В него будет прописан IP адрес сервера 1С:Предприятие

Скрипт поддерживает несколько команд:

 - start - Запускает сервер
 - stop - останавливает сервер
 - restart - перезапускает сервер
 - status - проверятет , что контейнер с сервером запущен в текущий момент
  1. Создать новую серверную ИБ с такими параметрами подключения:

    • Кластер серверов 1С:Предприятие - onec_server
    • Тип СУБД - PostgreSQL
    • Сервер баз данных - db
    • Пользователь баз данных - postgres
    • Пароль пользователя баз данных оставляем пустым

Запуск на Winsows

  1. Версия сборки windows должна быть свежее 1903, для установки wsl2. Инструкцию по установке
  2. Устанавливаем свежую версию Docker с официального сайта.
  3. Создать файл .env в корне проекта. В качестве примера использовать .env.example. В файле должны быть определены переменные:
    ONEC_USERNAME=<ПОЛЬЗОВАТЕЛЬ_USERS.1C.V8.RU>
    ONEC_PASSWORD=<ПАРОЛЬ_ОТ_USERS.1C.V8.RU>
    ONEC_VERSION=8.3.14.1993
    ONEC_PG_VERSION=9.6-2-1C
    PG_PORT=5432
    CRS_PORT=1542
    RAS_PORT=1545
    HOSTNAME=onec_server

Используемая учетная запись должна иметь доступ к скачиванию платформы 1С:Предприятие

  1. Запускаем инстанс командой:
    docker-compose up -d
  1. Проверим, что инстанс успешно стартовал
    docker-compose ps

выглядить этио должно применно так:

    onec-instance_db_1       /sbin/entrypoint.sh              Exit 255   0.0.0.0:5432->5432/tcp

    onec-instance_ras_1      /opt/1C/v8.3/x86_64/ras cl ...   Exit 255   0.0.0.0:1545->1545/tcp

    onec-instance_server_1   /opt/1C/v8.3/x86_64/ragent ...   Exit 255   0.0.0.0:1540->1540/tcp, 0.0.0.0:1541->1541/tcp...
  1. Пределяем, какой идентификатор сервиса у поднятого контейнера с сервером 1с
    docker-compose ps -q server

ответ должен быть такого вида:

    C:\repo\onec-instance>docker-compose ps -q server
    ffd4abe46ea6a62d09c103238ba8abd0fff90205007a74965cdb88f7e93c3992
  1. Определяем IP адрес запущенного контейнераЖ
    docker inspect ffd4abe46ea6a62d09c103238ba8abd0fff90205007a74965cdb88f7e93c3992 | grep "IPAddress"

ffd4abe46ea6a62d09c103238ba8abd0fff90205007a74965cdb88f7e93c3992 - Это идентификатор контейнера, полученный на предыдущем шаге

результат выполнения команды должен быть примерно такой:

    "SecondaryIPAddresses": null,
    "IPAddress": "",
            "IPAddress": "172.18.0.4",

требуемый IP арес у нас "172.18.0.4"

  1. Открываем файл C:\Windows\System32\drivers\etc\hosts в блокноте, запущенном с правами администратора и добавляем в конце файла строчку:
172.18.0.4 onec_server

где,

172.18.0.4 - IP адрес контейнера onec_server - имя контенера, его определяли в переменной HOSTNAME на шаге 2 (в вайле .env)

Странные ошибки

ERROR: open \.\pipe\docker_engine_linux: The system cannot find the file specified.

  • Перезапустить docker

Благодарности

  • ПОлезные идеи по созданию образов брались из этого репозитария

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.