new proxy

This commit is contained in:
2026-03-18 21:18:17 +03:00
parent 971332c283
commit b51a8850bc
17 changed files with 126 additions and 516 deletions

View File

@@ -1,42 +1,64 @@
# НАЗВАНИЕ ПРОЕКТА — Бэкэнд — Go 1.24
# Ollama Proxy
Этот репозиторий реализует сервис, который обеспечивает:
* получение и сохранение метрик, полученных от внешней организации;
* управление параметрами экспортёров метрик и планами экспорта.
Прокси для подключения к серверу Ollama без SSH-туннелей.
## TL;DR
---
Создание пользователя и базы для него:
## Первый раз (один раз на ноутбуке)
createuser USERNAME -P <top_secret>
createdb --owner USERNAME DBNAME
### 1. Клонировать репозиторий
Проверка доступа:
psql -U USERNAME DBNAME
Для работы миграций надо сделать так:
psql -d DBNAME -c 'alter schema public owner to USERNAME;'
Затем:
```bash
# 0) Подготовьте Postgres + переменные окружения
export DATABASE_URL='postgres://USERNAME:top_secret@localhost:5432/DBNAME?sslmode=disable'
export PATH="$PATH:$(go env GOPATH)/bin"
# 1) Сгенерируйте код Ent по схемам (требуется один раз, при изменении схем)
Подключите ваш ORM как сабмодуль Git.
go install entgo.io/ent/cmd/ent@latest
ent generate ./orm/ent/schema
# 2) Примените миграции Atlas (готовые SQL в atlas/migrations)
go install ariga.io/atlas/cmd/atlas@v0.38.0
atlas migrate apply --dir file://orm/atlas/migrations --url "$DATABASE_URL"
# 3) Запустите сервис
go run ./cmd/server
```cmd
git clone <репозиторий> C:\ollama-proxy (диск C: как пример)
cd C:\ollama-proxy
```
### 2. Собрать
```cmd
go build -o proxy.exe ./src
```
### 3. Создать файл `.env` рядом с `proxy.exe`
```
LISTEN_ADDR=localhost:11434
OLLAMA_BACKEND=http://10.111.111.40:8080
```
---
## Перед работой
**Терминал 1** — запустить прокси:
```cmd
cd C:\ollama-proxy
proxy.exe
```
Дождись строки:
```
Прокси запущен addr=localhost:11434 backend=http://10.111.111.40:8080
```
**Терминал 2** — запустить Codex:
```cmd
ollama launch codex
```
Работаешь. Закончил — закрыл оба терминала.
---
## Проверка (если что-то не работает)
Убедись что прокси запущен и сервер доступен:
```cmd
curl http://localhost:11434/api/tags
```
Если вернулся список моделей — всё работает.