# Обязательные переменные окружения (ENV): # - DOCKER_USERNAME: учетная запись Docker Hub или путь к репозиторию в локальном хранилище # - ONEC_VERSION: версия платформы "1С:Предприятие 8" # - NETHASP_PATH: путь к файлу nethasp.ini для получения лицензий "1С:Предприятие 8" в контейнерах # - IB_NAME: имя информационной базы на сервере "1С:Предприятие 8" # - DB_NAME: имя базы данных на сервере SQL # - WS_USER: пользователь для строки подключения веб-сервисов к информационной базе (по умолчанию: сайт) # - WS_PASSWORD: пароль для строки подключения веб-сервисов к информационной базе # - WS_LOCALE: дополнительная локализация API (по умолчанию: ru) services: nginx: restart: always image: nginx:latest container_name: nginx volumes: - nginx_log:/var/log/nginx - ./tools/nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./tools/nginx/conf.d:/etc/nginx/conf.d:ro ports: - "80:80" #- "1090:1080" # для доступа к mockserver (не обязательно) networks: - back_net mkdocs: build: context: . dockerfile: ./docker/mkdocs.Dockerfile container_name: mkdocs restart: always ports: - "8000:8000" volumes: - ./:/mkdocs working_dir: /mkdocs command: serve --dev-addr=0.0.0.0:8000 --dirty -v --livereload networks: - back_net gitlab: image: gitlab/gitlab-ee:14.4.0-ee.0 container_name: gitlab hostname: gitlab ports: - "9000:80" environment: GITLAB_POST_RECONFIGURE_SCRIPT: "chmod +x /restore.sh /backup.sh" #usr=root;pwd=administrator GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab' gitlab_rails['initial_root_password'] = "administrator" volumes: - gitlab_conf:/etc/gitlab - gitlab_logs:/var/log/gitlab - gitlab_data:/var/opt/gitlab - ./test/gitlab:/backups - ./tools/gitlab/restore.sh:/restore.sh - ./tools/gitlab/backup.sh:/backup.sh networks: - back_net mockserver: image: mockserver/mockserver:mockserver-5.11.2 container_name: mockserver command: -logLevel DEBUG -serverPort 1080 ports: - "1080:1080" volumes: # file extension 'yml' doesn't work - ./api/endpoint-openapi.yml:/tmp/endpoint.yaml networks: - back_net srv: image: ${DOCKER_USERNAME:?DOCKER_USERNAME is required}/server:${ONEC_VERSION:?ONEC_VERSION is required} hostname: srv depends_on: - db environment: - TZ=Europe/Moscow ports: - "1540-1541:1540-1541" - "1550:1550" # для режима отладки - "1560-1591:1560-1591" entrypoint: ["/opt/1cv8/current/ragent", "-debug", "-http"] # entrypoint только для отладки, иначе - удалить volumes: - srv_data:/home/usr1cv8/.1cv8 - srv_log:/var/log/1C - ${NETHASP_PATH:?NETHASP_PATH is required}:/opt/1cv8/current/conf/nethasp.ini - ./configs/conf.cfg:/opt/1cv8/current/conf/conf.cfg - ./test:/home/usr1cv8/test # чтобы не передавать данные с клиента на сервер в самом тесте (todo удалить после оптимизации!!!) - ./test/requests:/test/requests - ./:/project #- ./test/expectations:/tmp/expectations networks: - back_net ras: image: ${DOCKER_USERNAME:?DOCKER_USERNAME is required}/server:${ONEC_VERSION:?ONEC_VERSION is required} depends_on: - srv environment: - TZ=Europe/Moscow entrypoint: /opt/1cv8/current/ras command: "cluster srv:1540" volumes: - srv_data:/home/usr1cv8/.1cv8 - srv_log:/var/log/1C networks: - back_net db: image: strizhhh/postgresql-pro-1c:9.6 ports: - "5432:5432" environment: - TZ=Europe/Moscow volumes: - db_data:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s timeout: 5s retries: 5 networks: - back_net init: image: ${DOCKER_USERNAME:?DOCKER_USERNAME is required}/transmitter:${ONEC_VERSION:?ONEC_VERSION is required} build: context: . dockerfile: ./docker/transmitter.Dockerfile args: DOCKER_USERNAME: ${DOCKER_USERNAME:?DOCKER_USERNAME is required} ONEC_VERSION: ${ONEC_VERSION:?ONEC_VERSION is required} WS_USER: ${WS_USER:-сайт} WS_LOCALE: ${WS_LOCALE:-ru} WS_PASSWORD: ${WS_PASSWORD:?WS_PASSWORD is required} depends_on: db: condition: service_healthy ras: condition: service_started environment: - TZ=Europe/Moscow - WS_PASSWORD=${WS_PASSWORD:?WS_PASSWORD is required} command: ["/scripts/init-ib.sh"] volumes: - srv_data:/home/usr1cv8/.1cv8 - srv_log:/var/log/1C - ./scripts/init-ib.sh:/scripts/init-ib.sh:ro networks: - back_net restart: "no" transmitter: image: ${DOCKER_USERNAME:?DOCKER_USERNAME is required}/transmitter:${ONEC_VERSION:?ONEC_VERSION is required} environment: - TZ=Europe/Moscow - WS_USER=${WS_USER:-сайт} - WS_LOCALE=${WS_LOCALE:-ru} - WS_PASSWORD=${WS_PASSWORD:?WS_PASSWORD is required} depends_on: - srv ports: - "80:80" volumes: - srv_data:/home/usr1cv8/.1cv8 - srv_log:/var/log/1C networks: - back_net endpoint: image: ${DOCKER_USERNAME:?DOCKER_USERNAME is required}/endpoint:${ONEC_VERSION:?ONEC_VERSION is required} build: context: . dockerfile: ./docker/endpoint.Dockerfile args: DOCKER_USERNAME: ${DOCKER_USERNAME:?DOCKER_USERNAME is required} ONEC_VERSION: ${ONEC_VERSION:?ONEC_VERSION is required} ports: - "8081-8082:80" volumes: - srv_data:/home/usr1cv8/.1cv8 - srv_log:/var/log/1C - ${NETHASP_PATH:?NETHASP_PATH is required}:/opt/1cv8/current/conf/nethasp.ini networks: - back_net client: image: ${DOCKER_USERNAME:?DOCKER_USERNAME is required}/client-vnc:${ONEC_VERSION:?ONEC_VERSION is required} ports: - "5900:5900" environment: - TZ=Europe/Moscow volumes: - client_data:/home/usr1cv8/.1cv8 - ./tools/ibases.v8i:/home/usr1cv8/.1C/1cestart/ibases.v8i - ${NETHASP_PATH:?NETHASP_PATH is required}:/opt/1cv8/current/conf/nethasp.ini - ./configs/conf.cfg:/opt/1cv8/current/conf/conf.cfg networks: - back_net edt: image: ${DOCKER_USERNAME:?DOCKER_USERNAME is required}/edt:${ONEC_VERSION:?ONEC_VERSION is required} command: bash -c "1cedtcli -data /projects/MyProject -command help" networks: - back_net volumes: client_data: srv_data: srv_log: db_data: nginx_log: gitlab_conf: gitlab_logs: gitlab_data: networks: back_net: