Add template files for DLE deployment
This commit is contained in:
130
EXPORT-TEMPLATE.md
Normal file
130
EXPORT-TEMPLATE.md
Normal file
@@ -0,0 +1,130 @@
|
||||
# 🚀 Экспорт шаблона приложения в GitHub
|
||||
|
||||
## Цель
|
||||
Экспортировать все образы и тома как файлы в GitHub репозиторий для создания полного шаблона приложения.
|
||||
|
||||
## 📋 Команды для экспорта
|
||||
|
||||
### 1. Создать папки для данных
|
||||
```bash
|
||||
mkdir -p ./docker-data/images
|
||||
mkdir -p ./docker-data/volumes
|
||||
```
|
||||
|
||||
### 2. Экспортировать образы в файлы
|
||||
```bash
|
||||
# Backend образ
|
||||
docker save digital_legal_entitydle-backend:latest -o ./docker-data/images/backend.tar
|
||||
|
||||
# Frontend образ
|
||||
docker save digital_legal_entitydle-frontend:latest -o ./docker-data/images/frontend.tar
|
||||
|
||||
# Vector Search образ
|
||||
docker save digital_legal_entitydle-vector-search:latest -o ./docker-data/images/vector-search.tar
|
||||
|
||||
# Ollama образ
|
||||
docker save digital_legal_entitydle-ollama:latest -o ./docker-data/images/ollama.tar
|
||||
|
||||
# WebSSH Agent образ
|
||||
docker save digital_legal_entitydle-webssh-agent:latest -o ./docker-data/images/webssh-agent.tar
|
||||
```
|
||||
|
||||
### 3. Экспортировать тома в файлы
|
||||
```bash
|
||||
# PostgreSQL данные
|
||||
docker run --rm -v digital_legal_entitydle_postgres_data:/source -v $(pwd)/docker-data/volumes:/backup alpine tar czf /backup/postgres_data.tar.gz -C /source .
|
||||
|
||||
# Ollama данные
|
||||
docker run --rm -v digital_legal_entitydle_ollama_data:/source -v $(pwd)/docker-data/volumes:/backup alpine tar czf /backup/ollama_data.tar.gz -C /source .
|
||||
|
||||
# Vector Search данные
|
||||
docker run --rm -v digital_legal_entitydle_vector_search_data:/source -v $(pwd)/docker-data/volumes:/backup alpine tar czf /backup/vector_search_data.tar.gz -C /source .
|
||||
|
||||
# Backend node_modules
|
||||
docker run --rm -v digital_legal_entitydle_backend_node_modules:/source -v $(pwd)/docker-data/volumes:/backup alpine tar czf /backup/backend_node_modules.tar.gz -C /source .
|
||||
|
||||
# Frontend node_modules
|
||||
docker run --rm -v digital_legal_entitydle_frontend_node_modules:/source -v $(pwd)/docker-data/volumes:/backup alpine tar czf /backup/frontend_node_modules.tar.gz -C /source .
|
||||
```
|
||||
|
||||
### 4. Загрузить все в GitHub
|
||||
```bash
|
||||
# Добавить файлы в git
|
||||
git add docker-data/
|
||||
|
||||
# Закоммитить
|
||||
git commit -m "Add exported images and volumes"
|
||||
|
||||
# Запушить в репозиторий
|
||||
git push
|
||||
```
|
||||
|
||||
## 📊 Результат
|
||||
|
||||
После выполнения всех команд в репозитории будут:
|
||||
- ✅ Все образы как файлы (.tar)
|
||||
- ✅ Все тома как файлы (.tar.gz)
|
||||
- ✅ Полный шаблон приложения
|
||||
|
||||
## 🚀 Использование шаблона
|
||||
|
||||
### Для пользователей:
|
||||
```bash
|
||||
# Клонировать репозиторий
|
||||
git clone https://github.com/VC-HB3-Accelerator/DLE.git
|
||||
cd DLE
|
||||
|
||||
# Импортировать образы
|
||||
docker load -i docker-data/images/backend.tar
|
||||
docker load -i docker-data/images/frontend.tar
|
||||
docker load -i docker-data/images/vector-search.tar
|
||||
docker load -i docker-data/images/ollama.tar
|
||||
docker load -i docker-data/images/webssh-agent.tar
|
||||
|
||||
# Импортировать тома
|
||||
docker volume create digital_legal_entitydle_postgres_data
|
||||
docker run --rm -v digital_legal_entitydle_postgres_data:/target -v $(pwd)/docker-data/volumes:/backup alpine tar xzf /backup/postgres_data.tar.gz -C /target
|
||||
|
||||
docker volume create digital_legal_entitydle_ollama_data
|
||||
docker run --rm -v digital_legal_entitydle_ollama_data:/target -v $(pwd)/docker-data/volumes:/backup alpine tar xzf /backup/ollama_data.tar.gz -C /target
|
||||
|
||||
docker volume create digital_legal_entitydle_vector_search_data
|
||||
docker run --rm -v digital_legal_entitydle_vector_search_data:/target -v $(pwd)/docker-data/volumes:/backup alpine tar xzf /backup/vector_search_data.tar.gz -C /target
|
||||
|
||||
docker volume create digital_legal_entitydle_backend_node_modules
|
||||
docker run --rm -v digital_legal_entitydle_backend_node_modules:/target -v $(pwd)/docker-data/volumes:/backup alpine tar xzf /backup/backend_node_modules.tar.gz -C /target
|
||||
|
||||
docker volume create digital_legal_entitydle_frontend_node_modules
|
||||
docker run --rm -v digital_legal_entitydle_frontend_node_modules:/target -v $(pwd)/docker-data/volumes:/backup alpine tar xzf /backup/frontend_node_modules.tar.gz -C /target
|
||||
|
||||
# Запустить приложение
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## ⚠️ Важные замечания
|
||||
|
||||
1. **Размер файлов**: Образы могут быть большими (несколько GB)
|
||||
2. **Время загрузки**: Зависит от размера файлов и скорости интернета
|
||||
3. **Место на диске**: Убедитесь, что достаточно места для всех файлов
|
||||
|
||||
## 📁 Структура после экспорта
|
||||
|
||||
```
|
||||
docker-data/
|
||||
├── images/
|
||||
│ ├── backend.tar
|
||||
│ ├── frontend.tar
|
||||
│ ├── vector-search.tar
|
||||
│ ├── ollama.tar
|
||||
│ └── webssh-agent.tar
|
||||
└── volumes/
|
||||
├── postgres_data.tar.gz
|
||||
├── ollama_data.tar.gz
|
||||
├── vector_search_data.tar.gz
|
||||
├── backend_node_modules.tar.gz
|
||||
└── frontend_node_modules.tar.gz
|
||||
```
|
||||
|
||||
## ✅ Готово!
|
||||
|
||||
После выполнения всех команд у вас будет полный шаблон приложения в GitHub репозитории, который можно клонировать и запускать на любом устройстве.
|
||||
70
README-TEMPLATE.md
Normal file
70
README-TEMPLATE.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# 🚀 Digital Legal Entity (DLE) - Шаблон приложения
|
||||
|
||||
## Описание
|
||||
Полный шаблон приложения Digital Legal Entity
|
||||
|
||||
## 📋 Требования
|
||||
- Docker и Docker Compose
|
||||
|
||||
## 🚀 Быстрый запуск
|
||||
|
||||
### Автоматическая установка (рекомендуется)
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/VC-HB3-Accelerator/DLE/main/setup-template.sh | bash
|
||||
```
|
||||
|
||||
### Ручная установка
|
||||
```bash
|
||||
# 1. Клонирование репозитория
|
||||
git clone https://github.com/VC-HB3-Accelerator/DLE.git
|
||||
cd DLE
|
||||
|
||||
# 2. Импорт образов
|
||||
docker load -i docker-data/images/backend.tar
|
||||
docker load -i docker-data/images/frontend.tar
|
||||
docker load -i docker-data/images/vector-search.tar
|
||||
docker load -i docker-data/images/ollama.tar
|
||||
docker load -i docker-data/images/webssh-agent.tar
|
||||
|
||||
# 3. Создание и импорт томов
|
||||
docker volume create digital_legal_entitydle_postgres_data
|
||||
docker volume create digital_legal_entitydle_ollama_data
|
||||
docker volume create digital_legal_entitydle_vector_search_data
|
||||
docker volume create digital_legal_entitydle_backend_node_modules
|
||||
docker volume create digital_legal_entitydle_frontend_node_modules
|
||||
|
||||
docker run --rm -v digital_legal_entitydle_postgres_data:/target -v $(pwd)/docker-data/volumes:/backup alpine tar xzf /backup/postgres_data.tar.gz -C /target
|
||||
docker run --rm -v digital_legal_entitydle_ollama_data:/target -v $(pwd)/docker-data/volumes:/backup alpine tar xzf /backup/ollama_data.tar.gz -C /target
|
||||
docker run --rm -v digital_legal_entitydle_vector_search_data:/target -v $(pwd)/docker-data/volumes:/backup alpine tar xzf /backup/vector_search_data.tar.gz -C /target
|
||||
docker run --rm -v digital_legal_entitydle_backend_node_modules:/target -v $(pwd)/docker-data/volumes:/backup alpine tar xzf /backup/backend_node_modules.tar.gz -C /target
|
||||
docker run --rm -v digital_legal_entitydle_frontend_node_modules:/target -v $(pwd)/docker-data/volumes:/backup alpine tar xzf /backup/frontend_node_modules.tar.gz -C /target
|
||||
|
||||
# 4. Запуск приложения
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Доступ к приложению
|
||||
- **Frontend**: http://localhost:5173
|
||||
|
||||
## 🔧 Управление
|
||||
|
||||
### Запуск
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Остановка
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
## 📝 Лицензия
|
||||
|
||||
Copyright (c) 2024-2025 Тарабанов Александр Викторович
|
||||
All rights reserved.
|
||||
This software is proprietary and confidential.
|
||||
For licensing inquiries: info@hb3-accelerator.com
|
||||
|
||||
|
||||
**© 2024-2025 Тарабанов Александр Викторович. Все права защищены.**
|
||||
|
||||
247
setup-template.sh
Executable file
247
setup-template.sh
Executable file
@@ -0,0 +1,247 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2024-2025 Тарабанов Александр Викторович
|
||||
# All rights reserved.
|
||||
# This software is proprietary and confidential.
|
||||
# For licensing inquiries: info@hb3-accelerator.com
|
||||
|
||||
# Скрипт для автоматической установки шаблона приложения DLE
|
||||
# Скачивает репозиторий, проверяет Docker, импортирует образы и тома, запускает приложение
|
||||
|
||||
# Цветной вывод
|
||||
print_green() {
|
||||
echo -e "\e[32m$1\e[0m"
|
||||
}
|
||||
|
||||
print_blue() {
|
||||
echo -e "\e[34m$1\e[0m"
|
||||
}
|
||||
|
||||
print_yellow() {
|
||||
echo -e "\e[33m$1\e[0m"
|
||||
}
|
||||
|
||||
print_red() {
|
||||
echo -e "\e[31m$1\e[0m"
|
||||
}
|
||||
|
||||
# Проверка Docker
|
||||
check_docker() {
|
||||
print_blue "🔍 Проверка Docker..."
|
||||
if ! command -v docker &> /dev/null; then
|
||||
print_red "❌ Docker не установлен!"
|
||||
print_yellow "Установите Docker: https://docs.docker.com/get-docker/"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
|
||||
print_red "❌ Docker Compose не установлен!"
|
||||
print_yellow "Установите Docker Compose: https://docs.docker.com/compose/install/"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
print_green "✅ Docker и Docker Compose установлены"
|
||||
}
|
||||
|
||||
# Проверка Docker запущен
|
||||
check_docker_running() {
|
||||
print_blue "🔍 Проверка запуска Docker..."
|
||||
if ! docker info &> /dev/null; then
|
||||
print_red "❌ Docker не запущен!"
|
||||
print_yellow "Запустите Docker и повторите попытку"
|
||||
exit 1
|
||||
fi
|
||||
print_green "✅ Docker запущен"
|
||||
}
|
||||
|
||||
# Скачивание репозитория
|
||||
download_repo() {
|
||||
print_blue "📥 Скачивание репозитория..."
|
||||
if [ -d "DLE" ]; then
|
||||
print_yellow "⚠️ Папка DLE уже существует"
|
||||
read -p "Удалить существующую папку? (y/N): " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
rm -rf DLE
|
||||
else
|
||||
print_blue "Используем существующую папку"
|
||||
cd DLE
|
||||
return
|
||||
fi
|
||||
fi
|
||||
|
||||
git clone https://github.com/VC-HB3-Accelerator/DLE.git
|
||||
cd DLE
|
||||
print_green "✅ Репозиторий скачан"
|
||||
}
|
||||
|
||||
# Проверка файлов образов
|
||||
check_images() {
|
||||
print_blue "🔍 Проверка файлов образов..."
|
||||
if [ ! -d "docker-data/images" ]; then
|
||||
print_red "❌ Папка docker-data/images не найдена!"
|
||||
print_yellow "Убедитесь, что репозиторий содержит экспортированные образы"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local images=("backend.tar" "frontend.tar" "vector-search.tar" "ollama.tar" "webssh-agent.tar")
|
||||
for image in "${images[@]}"; do
|
||||
if [ ! -f "docker-data/images/$image" ]; then
|
||||
print_red "❌ Файл образа $image не найден!"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
print_green "✅ Все файлы образов найдены"
|
||||
}
|
||||
|
||||
# Проверка файлов томов
|
||||
check_volumes() {
|
||||
print_blue "🔍 Проверка файлов томов..."
|
||||
if [ ! -d "docker-data/volumes" ]; then
|
||||
print_red "❌ Папка docker-data/volumes не найдена!"
|
||||
print_yellow "Убедитесь, что репозиторий содержит экспортированные тома"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local volumes=("postgres_data.tar.gz" "ollama_data.tar.gz" "vector_search_data.tar.gz" "backend_node_modules.tar.gz" "frontend_node_modules.tar.gz")
|
||||
for volume in "${volumes[@]}"; do
|
||||
if [ ! -f "docker-data/volumes/$volume" ]; then
|
||||
print_red "❌ Файл тома $volume не найден!"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
print_green "✅ Все файлы томов найдены"
|
||||
}
|
||||
|
||||
# Импорт образов
|
||||
import_images() {
|
||||
print_blue "📦 Импорт образов..."
|
||||
|
||||
local images=("backend.tar" "frontend.tar" "vector-search.tar" "ollama.tar" "webssh-agent.tar")
|
||||
for image in "${images[@]}"; do
|
||||
print_blue "Импорт $image..."
|
||||
if docker load -i "docker-data/images/$image"; then
|
||||
print_green "✅ $image импортирован"
|
||||
else
|
||||
print_red "❌ Ошибка импорта $image"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
print_green "✅ Все образы импортированы"
|
||||
}
|
||||
|
||||
# Создание томов
|
||||
create_volumes() {
|
||||
print_blue "💾 Создание томов..."
|
||||
|
||||
local volumes=("digital_legal_entitydle_postgres_data" "digital_legal_entitydle_ollama_data" "digital_legal_entitydle_vector_search_data" "digital_legal_entitydle_backend_node_modules" "digital_legal_entitydle_frontend_node_modules")
|
||||
|
||||
for volume in "${volumes[@]}"; do
|
||||
if docker volume ls | grep -q "$volume"; then
|
||||
print_yellow "⚠️ Том $volume уже существует"
|
||||
else
|
||||
docker volume create "$volume"
|
||||
print_green "✅ Том $volume создан"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Импорт томов
|
||||
import_volumes() {
|
||||
print_blue "📥 Импорт данных в тома..."
|
||||
|
||||
# PostgreSQL
|
||||
print_blue "Импорт postgres_data..."
|
||||
docker run --rm -v digital_legal_entitydle_postgres_data:/target -v "$(pwd)/docker-data/volumes:/backup" alpine tar xzf /backup/postgres_data.tar.gz -C /target
|
||||
print_green "✅ postgres_data импортирован"
|
||||
|
||||
# Ollama
|
||||
print_blue "Импорт ollama_data..."
|
||||
docker run --rm -v digital_legal_entitydle_ollama_data:/target -v "$(pwd)/docker-data/volumes:/backup" alpine tar xzf /backup/ollama_data.tar.gz -C /target
|
||||
print_green "✅ ollama_data импортирован"
|
||||
|
||||
# Vector Search
|
||||
print_blue "Импорт vector_search_data..."
|
||||
docker run --rm -v digital_legal_entitydle_vector_search_data:/target -v "$(pwd)/docker-data/volumes:/backup" alpine tar xzf /backup/vector_search_data.tar.gz -C /target
|
||||
print_green "✅ vector_search_data импортирован"
|
||||
|
||||
# Backend node_modules
|
||||
print_blue "Импорт backend_node_modules..."
|
||||
docker run --rm -v digital_legal_entitydle_backend_node_modules:/target -v "$(pwd)/docker-data/volumes:/backup" alpine tar xzf /backup/backend_node_modules.tar.gz -C /target
|
||||
print_green "✅ backend_node_modules импортирован"
|
||||
|
||||
# Frontend node_modules
|
||||
print_blue "Импорт frontend_node_modules..."
|
||||
docker run --rm -v digital_legal_entitydle_frontend_node_modules:/target -v "$(pwd)/docker-data/volumes:/backup" alpine tar xzf /backup/frontend_node_modules.tar.gz -C /target
|
||||
print_green "✅ frontend_node_modules импортирован"
|
||||
|
||||
print_green "✅ Все тома импортированы"
|
||||
}
|
||||
|
||||
# Запуск приложения
|
||||
start_application() {
|
||||
print_blue "🚀 Запуск приложения..."
|
||||
|
||||
if docker-compose up -d; then
|
||||
print_green "✅ Приложение запущено"
|
||||
print_blue "🌐 Доступ к приложению: http://localhost:5173"
|
||||
else
|
||||
print_red "❌ Ошибка запуска приложения"
|
||||
print_yellow "Проверьте логи: docker-compose logs"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Проверка статуса
|
||||
check_status() {
|
||||
print_blue "🔍 Проверка статуса контейнеров..."
|
||||
sleep 10
|
||||
|
||||
if docker-compose ps | grep -q "Up"; then
|
||||
print_green "✅ Контейнеры запущены"
|
||||
print_blue "🌐 Приложение доступно по адресу: http://localhost:5173"
|
||||
else
|
||||
print_yellow "⚠️ Некоторые контейнеры могут быть не готовы"
|
||||
print_blue "Проверьте статус: docker-compose ps"
|
||||
print_blue "Просмотрите логи: docker-compose logs"
|
||||
fi
|
||||
}
|
||||
|
||||
# Основная функция
|
||||
main() {
|
||||
print_blue "🚀 Установка шаблона приложения Digital Legal Entity"
|
||||
print_blue "=================================================="
|
||||
|
||||
# Проверки
|
||||
check_docker
|
||||
check_docker_running
|
||||
|
||||
# Скачивание
|
||||
download_repo
|
||||
|
||||
# Проверка файлов
|
||||
check_images
|
||||
check_volumes
|
||||
|
||||
# Импорт
|
||||
import_images
|
||||
create_volumes
|
||||
import_volumes
|
||||
|
||||
# Запуск
|
||||
start_application
|
||||
check_status
|
||||
|
||||
print_green "🎉 Установка завершена!"
|
||||
print_blue "=================================================="
|
||||
print_blue "🌐 Приложение доступно: http://localhost:5173"
|
||||
print_blue "🔧 Управление:"
|
||||
print_blue " Запуск: docker-compose up -d"
|
||||
print_blue " Остановка: docker-compose down"
|
||||
print_blue " Логи: docker-compose logs"
|
||||
}
|
||||
|
||||
# Запуск
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user