Files
photo-editor/deploy/docker-compose.yml
Coder bea2c61216 feat: редактирование фото через xAI Grok Imagine API (/v1/images/edits) вместо Codex CLI
EDIT_ENGINE=grok по умолчанию, XAI_API_KEY/XAI_BASE_URL/XAI_IMAGE_MODEL/XAI_TIMEOUT_MS;
Codex остаётся для подсказок и как fallback (EDIT_ENGINE=codex).
2026-11-04 19:01:50 +07:00

50 lines
2.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Файл развёртывания на хосте Portainer.
# Используется workflow .gitea/workflows/deploy.yml (публикует образ,
# уже собранный workflow build-container).
services:
photo-editor:
image: git.byte-mate.ru/coder/photo-editor:latest
pull_policy: always
container_name: kadr-photo-editor
ports:
- "3000:3000"
volumes:
# Основной том данных v2 (сессии, задания, история)
- kadr-data:/app/data
# Старый том истории для автоматической миграции при первом старте
- kadr-history:/app/history
# Аутентификация и конфиг Codex с хоста Portainer.
# Альтернатива — переменная OPENAI_API_KEY ниже.
- /root/.codex:/root/.codex
environment:
- COMFY_URL=http://192.168.31.240:8188
# Codex (ChatGPT API) через локальный прокси: прямой egress сервера
# блокируется OpenAI (403, cf-ray HEL). Прокси слушает на хосте :4067.
- HTTP_PROXY=http://192.168.31.240:4067
- HTTPS_PROXY=http://192.168.31.240:4067
- http_proxy=http://192.168.31.240:4067
- https_proxy=http://192.168.31.240:4067
# Внутренние адреса ходят напрямую (ComfyUI и свой же хост)
- NO_PROXY=localhost,127.0.0.1,192.168.31.240,git.byte-mate.ru,ptr.byte-mate.ru
- no_proxy=localhost,127.0.0.1,192.168.31.240,git.byte-mate.ru,ptr.byte-mate.ru
# Авторизация владельца. Передаются workflow deploy.yml из секретов
# APP_USER / APP_PASSWORD; если не заданы/пусты — сервер использует
# дефолты: логин admin и сгенерированный при старте пароль
# (печатается в лог контейнера).
- APP_USER=${APP_USER}
- APP_PASSWORD=${APP_PASSWORD}
# Редактирование фото через xAI Grok Imagine (POST /v1/images/edits).
# Ключ задаётся в переменных стека Portainer / секрете XAI_API_KEY.
- XAI_API_KEY=${XAI_API_KEY}
- EDIT_ENGINE=grok
# - XAI_IMAGE_MODEL=grok-imagine-image-2.0
# Node fetch не использует HTTP(S)_PROXY без этого флага; если прямой
# доступ к api.x.ai блокируется — раскомментируйте (Node >= 22.21):
# - NODE_USE_ENV_PROXY=1
# - OPENAI_API_KEY=${OPENAI_API_KEY}
restart: unless-stopped
volumes:
kadr-data:
kadr-history: