kintex/deploy/systemd/kintex-nanobanana.service
zio 21fecc37da feat(devops): Phase E CI/CD 파이프라인 — 개발서버 배포 구성
- deploy/systemd: kintex.service(백엔드 8021) + kintex-nanobanana.service(워커, GEMINI env 워커 한정)
- deploy/nginx: kintex.zioinfo.kr vhost(/ static, /api·/ws → 8021)
- deploy/deploy_kintex.sh: 검증→원자교체→헬스체크→롤백(WISE 패턴)
- deploy/setup_kintex_service.py: 멱등 프로비저닝(유닛·venv·nginx)
- deploy/deploy_server_kintex_block.py: 서버 webhook 블록 정본 사본
- Jenkinsfile: push→build(vite+bootJar)→deploy→health
- .gitattributes: 배포 산출물 LF 강제

포트 8021 배정(8003~8020 기존 GUARDiA 예약). 시크릿은 서버 env only(미커밋).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 18:30:03 +09:00

23 lines
922 B
Desktop File

[Unit]
# KINTEX 나노바나나 렌더 워커 — Redis 큐(kintex:renderjob:queue) 소비 → Gemini 이미지 생성.
# GEMINI_API_KEY 는 이 유닛의 EnvironmentFile(/opt/kintex/nanobanana.env, root 600)에서만 로드.
# 백엔드·타 서비스에 미노출. G1 승인(2026-07-11)으로 NANOBANANA_LIVE=1(라이브 생성).
Description=KINTEX Nanobanana Render Worker (Gemini)
After=network.target redis-server.service kintex.service
Wants=redis-server.service
[Service]
Type=simple
User=root
# `python -m tools.nanobanana.worker` 는 소스 루트(/opt/kintex/src)를 CWD·sys.path 로 요구.
WorkingDirectory=/opt/kintex/src
EnvironmentFile=/opt/kintex/nanobanana.env
ExecStart=/opt/kintex/worker/venv/bin/python -m tools.nanobanana.worker
Restart=on-failure
RestartSec=10
StandardOutput=append:/var/log/kintex/worker.log
StandardError=append:/var/log/kintex/worker.log
[Install]
WantedBy=multi-user.target