Initial commit

This commit is contained in:
Magzhan_Zhumabaev
2025-09-07 13:57:56 +05:00
commit bba9db9985
118 changed files with 27498 additions and 0 deletions
+97
View File
@@ -0,0 +1,97 @@
# Docker Setup для Sakai Vue
Этот проект настроен для работы с Docker. Ниже приведены инструкции по сборке и запуску приложения.
## Быстрый старт
### 1. Сборка и запуск с Docker Compose
```bash
# Сборка и запуск
docker-compose up --build
# Запуск в фоновом режиме
docker-compose up -d --build
```
Приложение будет доступно по адресу: http://localhost:3000
### 2. Сборка и запуск с Docker
```bash
# Сборка образа
docker build -t sakai-vue .
# Запуск контейнера
docker run -p 3000:80 sakai-vue
```
## Структура Docker файлов
- `Dockerfile` - основной файл для сборки образа
- `docker-compose.yml` - конфигурация для Docker Compose
- `nginx.conf` - конфигурация Nginx для SPA приложения
- `.dockerignore` - файлы, исключаемые из контекста сборки
## Особенности конфигурации
### Multi-stage build
Dockerfile использует многоэтапную сборку:
1. **Builder stage** - сборка приложения с Node.js
2. **Production stage** - запуск с Nginx
### Nginx конфигурация
- Поддержка Vue Router history mode
- Gzip сжатие
- Кэширование статических ресурсов
- Security headers
- Health check endpoint
### Health Check
Приложение включает health check endpoint по адресу `/health`
## Команды для разработки
```bash
# Остановка контейнеров
docker-compose down
# Просмотр логов
docker-compose logs -f
# Пересборка без кэша
docker-compose build --no-cache
# Вход в контейнер
docker exec -it sakai-vue-app sh
```
## Переменные окружения
Вы можете настроить переменные окружения в `docker-compose.yml`:
```yaml
environment:
- NODE_ENV=production
- API_URL=https://your-api.com
```
## Производственное развертывание
Для продакшена рекомендуется:
1. Использовать конкретные версии образов
2. Настроить SSL/TLS
3. Использовать внешний reverse proxy
4. Настроить мониторинг и логирование
```bash
# Пример для продакшена
docker run -d \
--name sakai-vue-prod \
--restart unless-stopped \
-p 80:80 \
-p 443:443 \
-v /path/to/ssl:/etc/nginx/ssl \
sakai-vue
```