diff --git a/bazunov_andrew_lab_1/.gitignore b/bazunov_andrew_lab_1/.gitignore new file mode 100644 index 0000000..a1d0536 --- /dev/null +++ b/bazunov_andrew_lab_1/.gitignore @@ -0,0 +1,2 @@ +ollama +./ollama \ No newline at end of file diff --git a/bazunov_andrew_lab_1/README.md b/bazunov_andrew_lab_1/README.md new file mode 100644 index 0000000..273b8ef --- /dev/null +++ b/bazunov_andrew_lab_1/README.md @@ -0,0 +1,33 @@ +# Распределенные вычисления и приложения Л1 +## _Автор Базунов Андрей Игревич ПИбд-42_ + +В качестве сервисов были выбраны: +- 1.Ollama (_Сервис для использования LLMs моделей_) +- 2.Open Web Ui (_Сервис для удобного общения с моделью из сервиса Ollama_) +- 3.Gitea (_Гит сервис_) + +# Docker + +>Перед исполнением вполняем установку docker и проверяем версию + +```sh +docker-compose --version +``` + +>Далее производим настройку файла docker-compose.yaml и запускаем контейнер + +```sh +docker-compose up -d +``` + +>Для завершения работы контейнера используем команду +```sh +docker-compose down +``` +--- +> Замечание: после запуска контейнера, необходимо перейти в контейнер **ollamа** и выполнить установку модели [gemma2](https://ollama.com/library/gemma2:2b) +> ```sh +> docker-compose exec ollama ollama run ollama run gemma2:2b +> ``` +--- +Далее можно использовать веб сервис Open Web Ui по адресу **localhost:8080** для общения с моделью и Gitea по адресу **localhost:3000** - [демонстрация работы](https://vk.com/video/@viltskaa?z=video236673313_456239574%2Fpl_236673313_-2) diff --git a/bazunov_andrew_lab_1/docker-compose.yml b/bazunov_andrew_lab_1/docker-compose.yml new file mode 100644 index 0000000..2149608 --- /dev/null +++ b/bazunov_andrew_lab_1/docker-compose.yml @@ -0,0 +1,61 @@ +services: + gitea: # Имя сервиса + image: gitea/gitea:latest # Имя образа + container_name: gitea # Имя контейнера, может быть произовольным + ports: + - "3000:3000" # Проброс порта Gitea на хост + volumes: # хранилище + - data:/data + environment: # переменные окружения + USER_UID: 1000 + USER_GID: 1000 + + ollama: + image: ollama/ollama:latest + container_name: ollama + restart: always + ports: + - 7869:11434 + pull_policy: always + tty: true + volumes: + - .:/code + - ./ollama/ollama:/root/.ollama # Директория для данных Ollama + environment: + - OLLAMA_KEEP_ALIVE=24h + - OLLAMA_HOST=0.0.0.0 # Указываем хост для API Ollama + networks: + - ollama-docker + command: ["serve"] # Запускаем Ollama в режиме сервера + + ollama-webui: + image: ghcr.io/open-webui/open-webui:main # Образ Open Web UI + container_name: ollama-webui + restart: unless-stopped + volumes: + - ./ollama/ollama-webui:/app/backend/data + ports: + - 8080:8080 # Порт для веб-интерфейса + environment: # https://docs.openwebui.com/getting-started/env-configuration#default_models + - OLLAMA_BASE_URLS=http://host.docker.internal:7869 + - ENV=dev + - WEBUI_AUTH=False + - WEBUI_NAME=Viltskaa AI + - WEBUI_URL=http://localhost:8080 + - WEBUI_SECRET_KEY=t0p-s3cr3t + depends_on: + - ollama + extra_hosts: + - host.docker.internal:host-gateway + networks: + - ollama-docker + +networks: + ollama-docker: + external: false + +volumes: + ollama: + driver: local + data: + driver: local \ No newline at end of file