#!/bin/bash
TYPE_INSTALL=${1:-mono}

declare -A SERVICE_NAME
SERVICE_NAME[mono]=artixcs-rest
SERVICE_NAME[split]=artixcs-rest-split

docker rm -fv ssh || true
docker pull dockerregistry.artix.su:2443/artixcs-ssh-support
docker run -d --restart always --log-opt max-size=50m --log-opt max-file=2 --name ssh -p 4201:4200 dockerregistry.artix.su:2443/artixcs-ssh-support:latest
docker rm -fv vnc || true
docker pull dockerregistry.artix.su:2443/artixcs-vnc-support
docker run -d --restart always --log-opt max-size=50m --log-opt max-file=2 --name vnc -p 6080:6080 dockerregistry.artix.su:2443/artixcs-vnc-support:latest
docker rm -fv ticket-editor || true
docker pull dockerregistry.artix.su:2443/ticket-editor
docker run -d --restart always --log-opt max-size=50m --log-opt max-file=2 --name ticket-editor -p 38069:38069 -e "CS_SERVER_HOST=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+')" -e CS_SERVER_PORT="38051" dockerregistry.artix.su:2443/ticket-editor:latest
docker rm -fv sale-renderer || true
docker pull dockerregistry.artix.su:2443/sale-renderer
docker run -d --restart always --log-opt max-size=50m --log-opt max-file=2 --name sale-renderer --net=host -v /opt/artixcs-sale-renderer/config.json:/opt/artixcs-sale-renderer/config.json -v /var/log/artix/artixcs-sale-renderer:/var/log/artix/artixcs-sale-renderer dockerregistry.artix.su:2443/sale-renderer:latest
docker rm -fv sftp || true
docker pull dockerregistry.artix.su:2443/artixcs-sftp-support
docker run -d --restart always --log-opt max-size=50m --log-opt max-file=2 --name sftp -p 8334:8334 dockerregistry.artix.su:2443/artixcs-sftp-support:latest

# контейнер для удаления неиспользуемых образов контейнеров докера. Отрабатывает по крон выражению.
#глобальный docker registry заблокировали для РФ, поэтому не будем пока docker-gc-cron тянуть 
#docker rm -fv cron-docker-trimmer || true
#docker pull clockworksoul/docker-gc-cron
#docker run -d --restart always --log-opt max-size=50m --log-opt max-file=2 --name cron-docker-trimmer -v /var/run/docker.sock:/var/run/docker.sock -e CRON="0 0 * * *" clockworksoul/docker-gc-cron

# перезапуск сервисов, они не всегда запускаются после установки через скрипт
service ${SERVICE_NAME[${TYPE_INSTALL}]} restart
service artixcs-controlcenter restart
