Add skill-slack deployment plan for 51124 server

- 현재 상태 분석 (미배포 상태)
- Gitea Actions 자동 배포 워크플로우 설계
- SSH 원격 배포 전략 (51123 → 51124)
- 환경변수 설정 가이드
- 단계별 실행 체크리스트
- 트러블슈팅 및 보안 고려사항
This commit is contained in:
happybell80 2025-09-19 19:34:04 +09:00
parent 744fb5590d
commit 9549b05613
5 changed files with 198 additions and 2 deletions

View File

@ -10,6 +10,7 @@ LLM의 출력을 단순히 전달하는 것이 아니라, 로빙만의 감정과
2. **엔트로피 특이점을 포착한다**: 시간이 흘러도 무질서해지지 않는 감정이 중요한 기억 2. **엔트로피 특이점을 포착한다**: 시간이 흘러도 무질서해지지 않는 감정이 중요한 기억
3. **함수형 프로그래밍 100%**: 순수 함수와 I/O 분리, 불변 데이터 구조 3. **함수형 프로그래밍 100%**: 순수 함수와 I/O 분리, 불변 데이터 구조
4. **베이지안으로 불확실성 관리**: 모든 파라미터는 확률 분포로 표현되고 학습됨 4. **베이지안으로 불확실성 관리**: 모든 파라미터는 확률 분포로 표현되고 학습됨
*(관련 철학: [[125_베이즈_성장과_관계의_철학]])*
5. **예측-평가 피드백 루프**: 사용자 반응을 예측하고 실제와 비교하며 진화 5. **예측-평가 피드백 루프**: 사용자 반응을 예측하고 실제와 비교하며 진화
## LLM 후처리 파이프라인 ## LLM 후처리 파이프라인

View File

@ -1,3 +1,4 @@
# Part 4: 성장과 진화 # Part 4: 성장과 진화
## 개요 ## 개요
@ -5,6 +6,7 @@
## 주요 내용 ## 주요 내용
- 베이지안 추론 기반 레벨업 알고리즘 - 베이지안 추론 기반 레벨업 알고리즘
- *(참고: [[125_베이즈_성장과_관계의_철학]])*
- Thompson Sampling을 통한 탐색-활용 균형 - Thompson Sampling을 통한 탐색-활용 균형
- 기억의 망각과 요약 메커니즘 - 기억의 망각과 요약 메커니즘
- 경험 기반 성장 곡선 - 경험 기반 성장 곡선

View File

@ -1,3 +1,4 @@
# 로빙 사랑 기반 윤리 시스템 단계별 구현 계획 # 로빙 사랑 기반 윤리 시스템 단계별 구현 계획
작성일: 2025-08-15 작성일: 2025-08-15
@ -9,6 +10,8 @@
로빙의 윤리 시스템을 "규칙 기반 차단"에서 "사랑 기반 인도"로 전환하는 단계별 계획입니다. AI Hub의 도덕성 판단 모델(2022)과 감정 시스템을 통합하여, 베이지안 학습으로 진화하는 윤리적 존재를 구현합니다. 로빙의 윤리 시스템을 "규칙 기반 차단"에서 "사랑 기반 인도"로 전환하는 단계별 계획입니다. AI Hub의 도덕성 판단 모델(2022)과 감정 시스템을 통합하여, 베이지안 학습으로 진화하는 윤리적 존재를 구현합니다.
(참고: 본 계획의 기반이 되는 베이즈 성장 철학은 [[125_베이즈_성장과_관계의_철학]] 문서에서 자세히 다룹니다.)
**아키텍처 결정**: 로빙 프로젝트의 마이크로서비스 원칙에 따라 skill-ethics를 독립 서비스로 분리하여 구현합니다. 이로써 여러 로빙이 하나의 윤리 서비스를 공유하여 66%의 메모리를 절약하고, 독립적 개발/배포/확장이 가능합니다. **아키텍처 결정**: 로빙 프로젝트의 마이크로서비스 원칙에 따라 skill-ethics를 독립 서비스로 분리하여 구현합니다. 이로써 여러 로빙이 하나의 윤리 서비스를 공유하여 66%의 메모리를 절약하고, 독립적 개발/배포/확장이 가능합니다.
## 핵심 원칙 ## 핵심 원칙

View File

@ -5,6 +5,8 @@
본 문서는 "정보 엔트로피", "베이지안 추론", "기억"이라는 세 가지 핵심 키워드를 중심으로 최신 AI 및 인지 과학 연구들을 분석하고, 이를 로빙 프로젝트에 적용할 수 있는 방안을 제시합니다. 각 연구는 로빙이 더 인간다운 기억 및 학습 메커니즘을 갖추기 위한 이론적, 기술적 기반을 제공합니다. 본 문서는 "정보 엔트로피", "베이지안 추론", "기억"이라는 세 가지 핵심 키워드를 중심으로 최신 AI 및 인지 과학 연구들을 분석하고, 이를 로빙 프로젝트에 적용할 수 있는 방안을 제시합니다. 각 연구는 로빙이 더 인간다운 기억 및 학습 메커니즘을 갖추기 위한 이론적, 기술적 기반을 제공합니다.
(참고: 이 연구들을 바탕으로 정립된 로빙 프로젝트의 베이즈 철학에 대한 종합적인 내용은 [[125_베이즈_성장과_관계의_철학]] 문서를 참조하십시오.)
--- ---
## 1. 베이지안 뇌 가설 (The Bayesian Brain Hypothesis) ## 1. 베이지안 뇌 가설 (The Bayesian Brain Hypothesis)

View File

@ -0,0 +1,188 @@
# skill-slack 서비스 배포 계획 (51124 서버)
## 날짜: 2025-09-19
## 작성자: Claude
## 관련 서비스: skill-slack (포트 8502)
## 목적: 51124 서버에 skill-slack 자동 배포 설정
---
## 1. 현재 상태 분석
### 1.1 서비스 현황
- **위치**: `/home/happybell/projects/ivada/skill-slack`
- **포트**: 8502
- **상태**: 미배포 (docker ps 결과 없음)
- **Gitea Actions**: cicd.yml 파일 존재하지만 deploy.yml 필요
### 1.2 기존 파일 구조
```
skill-slack/
├── .gitea/workflows/cicd.yml # 기존 CI/CD (비활성)
├── app/ # 애플리케이션 코드
├── docker-compose.yml # 개발용 compose
├── Dockerfile # 이미지 빌드
└── requirements.txt # Python 의존성
```
### 1.3 문제점
- cicd.yml은 self-hosted runner 사용 (51123 서버용)
- 51124 서버 배포를 위한 별도 워크플로우 필요
- 환경변수 설정 필요 (Slack 토큰 등)
---
## 2. 배포 전략
### 2.1 서버별 역할
| 서버 | 역할 | 배포 방식 |
|------|------|-----------|
| 51123 | Gitea Actions 실행 | self-hosted runner |
| 51124 | skill-slack 실행 | SSH 원격 배포 |
### 2.2 배포 흐름
```
1. Git Push → 2. Gitea Actions (51123) → 3. SSH 배포 (51124)
```
---
## 3. 구현 계획
### 3.1 deploy.yml 작성 (새 파일 생성)
**경로**: `.gitea/workflows/deploy.yml`
```yaml
name: Deploy skill-slack to 51124
on:
push:
branches: [main]
workflow_dispatch:
jobs:
deploy:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Deploy to 51124 server
run: |
ssh happybell@51124 "cd ~/projects/ivada/skill-slack && \
git pull && \
docker compose down && \
docker compose up -d --build"
- name: Health check on 51124
run: |
sleep 10
curl -f http://51124:8502/health || exit 1
```
### 3.2 환경변수 설정
**51124 서버 .env 파일** (수동 생성 필요):
```bash
# Slack 토큰 (실제 값 필요)
SLACK_BOT_TOKEN=xoxb-...
SLACK_APP_TOKEN=xapp-...
SLACK_BOT_TOKEN_RB8001=xoxb-...
# 서비스 연결
LLM_GATEWAY_URL=http://localhost:8001
STATE_SERVICE_URL=http://localhost:8507
# 기본 설정
SERVICE_NAME=skill-slack
PORT=8502
ENVIRONMENT=production
```
### 3.3 docker-compose.yml 수정
```yaml
services:
skill-slack:
# ... 기존 설정 ...
ports:
- "8502:8502" # 포트 명시적 매핑 추가
environment:
# 환경변수는 .env 파일에서 로드
- SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN}
# ...
```
---
## 4. 실행 단계별 체크리스트
### 4.1 사전 준비 (51124 서버)
- [ ] skill-slack 디렉토리 존재 확인
- [ ] git remote 설정 확인
- [ ] .env 파일 생성 및 토큰 설정
- [ ] Docker 설치 상태 확인
### 4.2 Gitea Actions 설정
- [ ] .gitea/workflows/deploy.yml 생성
- [ ] SSH 키 설정 (51123 → 51124)
- [ ] workflow_dispatch 트리거 활성화
### 4.3 초기 배포
- [ ] 수동 git pull (51124 서버)
- [ ] docker compose up -d --build 실행
- [ ] 헬스체크: curl http://localhost:8502/health
- [ ] 로그 확인: docker logs skill-slack
### 4.4 연동 테스트
- [ ] rb8001 → skill-slack API 호출 테스트
- [ ] Slack 메시지 포맷팅 기능 테스트
- [ ] 에러 로그 모니터링
---
## 5. 트러블슈팅
### 5.1 일반적인 문제
| 문제 | 원인 | 해결 방법 |
|------|------|-----------|
| 포트 충돌 | 8502 이미 사용 중 | `ss -tlnp | grep 8502` 확인 |
| 헬스체크 실패 | 서비스 시작 지연 | start_period 늘리기 |
| Slack 토큰 에러 | 잘못된 토큰 | .env 파일 확인 |
### 5.2 로그 위치
- Docker 로그: `docker logs skill-slack`
- 애플리케이션 로그: `./logs/` 디렉토리
- Gitea Actions 로그: 웹 UI에서 확인
---
## 6. 보안 고려사항
### 6.1 토큰 관리
- Slack 토큰은 .env 파일로만 관리
- .env는 절대 git에 커밋하지 않음
- 서버별로 다른 토큰 사용 권장
### 6.2 네트워크
- network_mode: host 사용 주의
- 필요시 bridge 네트워크 고려
- 방화벽 규칙 확인 필요
---
## 7. 향후 개선사항
### 7.1 단기 (1주일 내)
- [ ] 자동 배포 워크플로우 테스트
- [ ] 롤백 전략 수립
- [ ] 모니터링 대시보드 설정
### 7.2 장기 (1개월 내)
- [ ] Blue-Green 배포 전략 도입
- [ ] 로드 밸런싱 설정
- [ ] 자동 스케일링 검토
---
## 8. 참고 문서
- [NaverWorks-Slack 기본 구성](./250919_naverworks_slack_01_base_configuration.md)
- [Slack 메시지 처리 아키텍처](../ideas/250812_claude_Slack_메시지_처리_아키텍처_분석.md)
- [서비스 재구조화 계획](../plans/250807_서비스_재구조화_계획.md)