91 lines
2.0 KiB
Markdown
91 lines
2.0 KiB
Markdown
# Eldir
|
||
|
||
Docker Compose проект для LLM-инференса и мониторинга.
|
||
|
||
## Сервисы
|
||
|
||
| Сервис | Описание | Порт |
|
||
|---|---|---|
|
||
| `llama-server` | LLM inference (CUDA) | 8080 |
|
||
| `python+tcl` | GUI приложение (Tkinter/Tcl) | — |
|
||
| `node_exporter` | Метрики для Prometheus | 9100 |
|
||
|
||
## Запуск
|
||
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
## Остановка
|
||
|
||
```bash
|
||
docker compose down
|
||
```
|
||
|
||
## Gitea Container Registry
|
||
|
||
### Логин в registry
|
||
|
||
```bash
|
||
docker login gitea.hal9000.local
|
||
```
|
||
|
||
Введите логин и пароль от вашего Gitea аккаунта.
|
||
|
||
### Pull образов
|
||
|
||
```bash
|
||
docker pull gitea.hal9000.local/teramonious/eldir/python-tcl:latest
|
||
```
|
||
|
||
### Build и Push
|
||
|
||
```bash
|
||
docker build -t gitea.hal9000.local/teramonious/eldir/python-tcl:latest -f docker-tcl/Dockerfile .
|
||
docker push gitea.hal9000.local/teramonious/eldir/python-tcl:latest
|
||
```
|
||
|
||
### CI/CD
|
||
|
||
При пуше изменений в папку `docker-tcl/` автоматически запускается сборка:
|
||
|
||
```yaml
|
||
name: Build & Push
|
||
on:
|
||
push:
|
||
paths: ['docker-tcl/**']
|
||
|
||
jobs:
|
||
build:
|
||
runs-on: self-hosted
|
||
steps:
|
||
- uses: actions/checkout@v4
|
||
- uses: docker/login-action@v3
|
||
with:
|
||
registry: gitea.hal9000.local
|
||
username: ${{ secrets.GITEA_USERNAME }}
|
||
password: ${{ secrets.GITEA_PASSWORD }}
|
||
- uses: docker/build-push-action@v5
|
||
with:
|
||
context: .
|
||
file: docker-tcl/Dockerfile
|
||
push: true
|
||
tags: gitea.hal9000.local/teramonious/eldir/python-tcl:latest
|
||
```
|
||
|
||
### Docker Compose с образами из registry
|
||
|
||
```yaml
|
||
services:
|
||
python-tcl:
|
||
image: gitea.hal9000.local/teramonious/eldir/python-tcl:latest
|
||
```
|
||
|
||
## Стек
|
||
|
||
- **llama-server** — CUDA, GPU
|
||
- **python+tcl** — X11 forwarding
|
||
- **node_exporter** — Prometheus metrics
|
||
- Образы → Gitea Container Registry (OCI-compatible)
|
||
- CI/CD → Gitea Actions (автобилд при пуше в `docker-tcl/**`)
|