diff --git a/dashboard/config/config.yaml b/dashboard/config/config.yaml deleted file mode 100644 index d633ec2..0000000 --- a/dashboard/config/config.yaml +++ /dev/null @@ -1,117 +0,0 @@ - -listenAddressSingleHTTPFrontend: 0.0.0.0:1337 -logLevel: "INFO" -showNavigation: false -pageTitle: МИС "Медицина" -showFooter: false - -actionGroups: - - title: МИС - icon: 🏥 - actions: - - mis-install - - mis-restart - - mis-update - - - title: Обслуживание - icon: 🛠️ - actions: - - ping-sync - - ping-docker - - check-disk-space - -actions: - - id: mis-install - title: Установить - icon: box - popupOnStart: execution-dialog-stdout-only - shell: /config/medicine-install.sh "{{ organization_name }}" "{{ organization_id }}" "{{ http_port }}" "{{ https_port }}" - timeout: 600 - arguments: - - name: organization_name - title: "Название организации" - default: "DEMO" - type: unicode_identifier - required: true - - - name: organization_id - title: "Идентификатор организации" - default: "1234" - type: ascii_sentence - - - name: http_port - title: "HTTP порт" - default: "80" - type: int - - - name: https_port - title: "HTTPS порт" - default: "443" - type: int - - - id: medicine-change-env - title: Изменить настройки - icon: ⚙️ - popupOnStart: execution-dialog-stdout-only - shell: /config/medicine-change-env.sh "{{ http_port }}" "{{ https_port }}" - timeout: 600 - arguments: - - name: http_port - title: "HTTP порт" - default: "80" - type: int - - - name: https_port - title: "HTTPS порт" - default: "443" - type: int - - - id: mis-restart - title: Перезапустить - icon: 🔄 - timeout: 60 - shell: /config/medicine-restart.sh - popupOnStart: execution-dialog-stdout-only - - - id: mis-update - title: Обновить - icon: ⬆️ - popupOnStart: execution-dialog-stdout-only - timeout: 60 - shell: /config/medicine-update.sh - - - id: ping-sync - title: Ping sync.med-logic.ru - shell: ping sync.med-logic.ru -c 2 - icon: ping - popupOnStart: execution-dialog-stdout-only - - - id: ping-docker - title: Ping docker.med-logic.ru - shell: ping docker.med-logic.ru -c 2 - icon: ping - popupOnStart: execution-dialog-stdout-only - - - id: check-disk-space - title: Check disk space - icon: disk - shell: df -h /media - popupOnStart: execution-dialog-stdout-only - -dashboards: - - title: Главная - contents: - - title: МИС - type: fieldset - contents: - - title: Установить - - title: Перезапустить - - title: Обновить - - title: Изменить настройки - - - title: "Системное" - type: fieldset - contents: - - title: Ping sync.med-logic.ru - - title: Ping docker.med-logic.ru - - title: Check disk space diff --git a/dashboard/config/medicine-change-env.sh b/dashboard/config/medicine-change-env.sh deleted file mode 100755 index 58899d8..0000000 --- a/dashboard/config/medicine-change-env.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -set -e -set -o pipefail - -GLOBAL_ENV_FILE="/medicine-config/.env" -ENV_FILE="/medicine-config/medicine/.env" - -HTTP_PORT="$1" -HTTPS_PORT="$2" - -set_env_var () { - local key="$1" - local value="$2" - - if grep -qE "^${key}=" "$ENV_FILE"; then - sed -i "s|^${key}=.*|${key}=${value}|" "$ENV_FILE" - else - echo "${key}=${value}" >> "$ENV_FILE" - fi -} - -unset_env_var () { - local key="$1" - - if grep -qE "^${key}=" "$ENV_FILE"; then - sed -i "/^${key}=/d" "$ENV_FILE" - fi -} - -echo "HTTP порт: $HTTP_PORT" -echo "HTTPS порт: $HTTPS_PORT" -echo "" - -touch "$ENV_FILE" -touch "$GLOBAL_ENV_FILE" - -if [ -n "$HTTP_PORT" ] && [ "$HTTP_PORT" != "80" ]; then - set_env_var "NGINX_HTTP_PORT" "$HTTP_PORT" -else - unset_env_var "NGINX_HTTP_PORT" -fi - -if [ -n "$HTTPS_PORT" ] && [ "$HTTPS_PORT" != "443" ]; then - set_env_var "NGINX_HTTPS_PORT" "$HTTPS_PORT" -else - unset_env_var "NGINX_HTTPS_PORT" -fi - -(cd /medicine-config/medicine && docker compose stop && docker compose up -d) - -echo "✅ Настройки изменены" diff --git a/dashboard/config/medicine-install.sh b/dashboard/config/medicine-install.sh deleted file mode 100755 index 1ad9d28..0000000 --- a/dashboard/config/medicine-install.sh +++ /dev/null @@ -1,135 +0,0 @@ -#!/bin/bash -set -e -set -o pipefail - -SECRET_KEY=$(head -c 32 /dev/urandom | base64) -NETWORK_NAME=medicine-network -GLOBAL_ENV_FILE="/medicine-config/.env" -ENV_FILE="/medicine-config/medicine/.env" -POSTGRES_CONTAINER=service-postgres -POSTGRES_USER=postgres -DB_NAME=medicine - -ORGANIZATION_NAME="$1" -ORGANIZATION_ID="$2" -HTTP_PORT="$3" -HTTPS_PORT="$4" - -set_global_env_var () { - local key="$1" - local value="$2" - - if grep -qE "^${key}=" "$GLOBAL_ENV_FILE"; then - sed -i "s|^${key}=.*|${key}=${value}|" "$GLOBAL_ENV_FILE" - else - echo "${key}=${value}" >> "$GLOBAL_ENV_FILE" - fi -} - -set_env_var () { - local key="$1" - local value="$2" - - if grep -qE "^${key}=" "$ENV_FILE"; then - sed -i "s|^${key}=.*|${key}=${value}|" "$ENV_FILE" - else - echo "${key}=${value}" >> "$ENV_FILE" - fi -} - -unset_env_var () { - local key="$1" - - if grep -qE "^${key}=" "$ENV_FILE"; then - sed -i "/^${key}=/d" "$ENV_FILE" - fi -} - -if [[ -z "$ORGANIZATION_NAME" || -z "$ORGANIZATION_ID" ]]; then - echo "❌ Ошибка: оба параметра обязательны" - exit 1 -fi - -echo "Название организации: $ORGANIZATION_NAME" -echo "Идентификатор организации: $ORGANIZATION_ID" -echo "HTTP порт: $HTTP_PORT" -echo "HTTPS порт: $HTTPS_PORT" -echo "" - -if [ -z $(docker network ls --filter name=^${NETWORK_NAME}$ --format="{{ .Name }}") ] ; then - docker network create ${NETWORK_NAME} ; - echo "🌐 Сеть $NETWORK_NAME создана" -else - echo "🌐 Сеть $NETWORK_NAME уже существует" -fi - -echo "" -echo "📁 Создаем файлы окружения" -touch "$ENV_FILE" -touch "$GLOBAL_ENV_FILE" - -set_global_env_var "ORGANIZATION_ID" "$ORGANIZATION_ID" -set_global_env_var "ORGANIZATION_NAME" "$ORGANIZATION_NAME" -set_global_env_var "POSTGRES_USER" "$POSTGRES_USER" -set_global_env_var "POSTGRES_HOST" "$POSTGRES_CONTAINER" -set_global_env_var "REDIS_HOST" "service-redis" - -set_env_var "SECRET_KEY" "$SECRET_KEY" - -if [ -n "$HTTP_PORT" ] && [ "$HTTP_PORT" != "80" ]; then - set_env_var "NGINX_HTTP_PORT" "$HTTP_PORT" -else - unset_env_var "NGINX_HTTP_PORT" -fi - -if [ -n "$HTTPS_PORT" ] && [ "$HTTPS_PORT" != "443" ]; then - set_env_var "NGINX_HTTPS_PORT" "$HTTPS_PORT" -else - unset_env_var "NGINX_HTTPS_PORT" -fi - -echo "" -echo "📦 Запускаем контейнер postgres" -(cd /medicine-config/service-postgres && docker compose pull -q && docker compose up -d) - -echo "" -echo "📦 Запускаем контейнер redis" -(cd /medicine-config/service-redis && docker compose pull -q && docker compose up -d) - -echo "" -if docker exec "$POSTGRES_CONTAINER" psql -U "$POSTGRES_USER" -tAc \ - "SELECT 1 FROM pg_database WHERE datname='$DB_NAME'" | grep -q 1; then - echo "✅ База данных уже существует: $DB_NAME" -else - echo "➕ База данных не найдена, создаём: $DB_NAME" - docker exec "$POSTGRES_CONTAINER" createdb -U "$POSTGRES_USER" "$DB_NAME" - echo "✅ База данных создана: $DB_NAME" -fi - -TABLES_COUNT=$(docker exec "$POSTGRES_CONTAINER" psql -U "$POSTGRES_USER" -d "$DB_NAME" -tAc \ - "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'public';") - -echo "" -if [ "$TABLES_COUNT" -gt 0 ]; then - echo "⚠️ Восстановление БД пропущено - в базе уже есть таблицы ($TABLES_COUNT)" -else - echo "📥 Восстанавливаем БД из бэкапа" - - unzip -o /medicine-config/backups/medicine.sql.zip -d /tmp - docker cp /tmp/medicine.sql "$POSTGRES_CONTAINER:/tmp/medicine.sql" - docker exec -i "$POSTGRES_CONTAINER" psql -U "$POSTGRES_USER" -d "$DB_NAME" -q --set ON_ERROR_STOP=on -f /tmp/medicine.sql - - echo "✅ Восстановление завершено" -fi - -echo "" -echo "Скачиваем образ" -docker pull docker.med-logic.ru/medicine:latest -q -docker tag docker.med-logic.ru/medicine:latest medicine:latest - -echo "" -echo "Запускаем систему" -(cd /medicine-config/medicine && docker compose up -d) - -echo "" -echo "🎉 МИС \"Медицина\" успешно установлена" diff --git a/dashboard/config/medicine-restart.sh b/dashboard/config/medicine-restart.sh deleted file mode 100755 index 061d8d6..0000000 --- a/dashboard/config/medicine-restart.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -set -e -set -o pipefail - -(cd /medicine-config/medicine && docker compose stop && docker compose up -d) - -echo "" -echo "✅ МИС \"Медицина\" успешно перезапущена" diff --git a/dashboard/config/medicine-update.sh b/dashboard/config/medicine-update.sh deleted file mode 100755 index 104ca1c..0000000 --- a/dashboard/config/medicine-update.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -set -e -set -o pipefail - -docker pull docker.med-logic.ru/medicine:latest - -(cd /medicine-config/medicine && - docker run --rm \ - --env-file .env \ - --env-file /medicine-config/.env \ - --network medicine-network \ - --name medicine-apply-migrations \ - docker.med-logic.ru/medicine:latest python manage.py migrate --noinput -) - -(cd /medicine-config/medicine && - docker compose stop && - docker compose up -d -) - -echo "" -echo "✅ МИС \"Медицина\" успешно обновлена" \ No newline at end of file