This commit is contained in:
2025-11-08 15:59:45 +06:00
parent 4779c4bca4
commit 63876a393c
20 changed files with 1339 additions and 99 deletions

View File

@@ -0,0 +1,111 @@
# 📁 Структура проекта OllamaServer
## Файлы
```
Dockerfiles/OllamaServer/
├── Dockerfile # Multi-stage Dockerfile для сборки образа
├── entrypoint.sh # Скрипт запуска LCG и Ollama серверов
├── docker-compose.yml # Docker Compose конфигурация
├── podman-compose.yml # Podman Compose конфигурация
├── Makefile # Команды для сборки и запуска
├── README.md # Полная документация
├── QUICKSTART.md # Быстрый старт
├── STRUCTURE.md # Этот файл
├── .dockerignore # Исключения для Docker build
└── .gitignore # Исключения для Git
```
## Описание файлов
### Dockerfile
Multi-stage Dockerfile, который:
1. Собирает бинарник LCG из исходного кода
2. Устанавливает Ollama 0.9.5
3. Создает пользователя ollama
4. Настраивает рабочее окружение
### entrypoint.sh
Скрипт запуска, который:
1. Запускает Ollama сервер в фоне
2. Ожидает готовности Ollama API
3. Запускает LCG сервер в фоне
4. Мониторит состояние процессов
5. Корректно обрабатывает сигналы завершения
### docker-compose.yml / podman-compose.yml
Конфигурация для запуска через compose:
- Настройки портов
- Переменные окружения
- Volumes для персистентного хранения
- Healthcheck
### Makefile
Удобные команды для:
- Сборки образа
- Запуска/остановки контейнера
- Просмотра логов
- Работы с compose
### README.md
Полная документация с:
- Описанием функциональности
- Инструкциями по установке
- Настройками переменных окружения
- Примерами использования
- Решением проблем
### QUICKSTART.md
Краткое руководство для быстрого старта.
## Порты
- **8080**: LCG веб-сервер
- **11434**: Ollama API
## Volumes
- `ollama-data`: Данные Ollama (модели)
- `lcg-results`: Результаты генерации команд
- `lcg-prompts`: Системные промпты
- `lcg-config`: Конфигурация LCG
## Переменные окружения
Основные переменные (см. README.md для полного списка):
- `LCG_PROVIDER=ollama`
- `LCG_HOST=http://127.0.0.1:11434/`
- `LCG_MODEL=codegeex4`
- `OLLAMA_HOST=0.0.0.0`
- `OLLAMA_PORT=11434`
## Запуск
### Docker
```bash
cd Dockerfiles/OllamaServer
docker-compose up -d
```
### Podman
```bash
cd Dockerfiles/OllamaServer
podman-compose -f podman-compose.yml up -d
```
### Make
```bash
cd Dockerfiles/OllamaServer
make compose-up
# или
make podman-compose-up
```
## Архитектура
Контейнер запускает два сервиса:
1. **Ollama** (порт 11434) - LLM сервер
2. **LCG** (порт 8080) - Веб-интерфейс и API
Оба сервиса работают в одном контейнере и общаются через localhost.