- 실제 nginx 설정 기반으로 정확한 경로 정보 업데이트
- 메인 도메인과 서브 도메인 구분
- 모든 프록시 경로와 포트 번호 명시
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- .github/workflows/deploy.yml 삭제 (Gitea 사용)
- README.md 내용 간소화 및 구조 정리
- 파일 구조에 default.conf, static/ 추가
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change from /var/www/html/frontend-customer to /home/admin/frontend-customer/dist
- Direct connection without symbolic link (permissions already fixed)
- Simpler and more efficient
- Change root from /var/www/html to /home/admin/frontend-customer/dist
- Replace proxy_pass with try_files for static file serving
- Both HTTP and HTTPS now serve same static content
- Enable external access to admin dashboard via ro-being.com/admin
- Proxy /admin requests to localhost:8000
- Maintain same proxy headers as API endpoints
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Use proper nginx -t instead of -c option
- Test by temporarily applying config, then restore
- Validates against full nginx context
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Switch from ubuntu-latest to self-hosted runner
- Enables direct access to local nginx configuration
- Allows sudo commands with admin account privileges
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- /rb8001/ → /rb10508/로 경로 변경
- 포트 8001 → 10508로 변경
- README.md 프록시 라우팅 정보 업데이트
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- /api/ 경로를 localhost:18000 → localhost:8000으로 변경
- frontend 백엔드 실제 포트에 맞춰 nginx 설정 수정
- README.md 프록시 라우팅 정보 업데이트
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- webfactory/ssh-agent 제거하고 직접 SSH 키 설정으로 단순화
- 배포 단계별 로그 출력 추가 (이모지 포함)
- 워크플로우 상단에 상세 문서화 주석 추가
- 성공/실패 조건 및 주요 작업 명시
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- SSH setup에 id 추가하여 참조 가능하게 설정
- 조건부 SSH agent cleanup 추가로 경고 제거
- README.md 파일 구조 설명 개선
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Docker nginx 대신 서버 nginx 설정 직접 적용
- sudo NOPASSWD 특정 명령어만 허용하여 보안 유지
- nginx -t 및 systemctl reload 자동화
- README.md 배포 플로우 업데이트
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- ssl 폴더가 없으므로 ~/robeing-nginx/* 로 내부 파일만 삭제
- README.md에서 ssl 폴더 보존 설명 제거
- 더 간단하고 안전한 배포 방식
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- ssl 폴더를 제외하고 나머지 파일만 삭제
- 권한 문제 해결 위해 find 명령어 사용
- README.md 배포 플로우 설명 업데이트
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- README.md 먼저 업데이트 (룰 준수)
- Docker 컨테이너는 8080 포트에서 HTTP만 처리
- SSL/HTTPS는 서버 자체에서 처리
- certbot 관련 복잡한 설정 모두 제거
- 권한 문제 해결
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- scp 대신 tar+ssh 파이프라인 사용
- .git 폴더 제외하여 권한 충돌 방지
- 기존 디렉토리 삭제 후 재생성으로 깨끗한 배포
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Ubuntu 서버 배포 방식으로 업데이트
- GitHub Actions SCP 방식 설명
- 불필요한 설정 제거
- 실제 사용 중인 프록시 라우팅 명시
- SSL 설정 및 테스트 방법 추가
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- 원격에 ~/robeing-nginx 디렉토리 생성 후 파일 전송
- scp -r . 로 전체 워크스페이스 전송
- git clone 인증 문제 해결
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Detect if system service (DSM/Web Station) uses port 80
- Automatically switch nginx to port 8080 if port 80 is occupied
- Avoid touching system services, only manage Docker containers
- Prevents conflicts with Synology NAS built-in services
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add port 80 usage detection with netstat and docker ps
- Stop and remove containers using port 80 before deployment
- Ensures clean port 80 for nginx service
- Prevents 'bind: address already in use' errors
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add -O flag to force legacy SCP protocol instead of SFTP
- Bypasses 'subsystem request failed on channel 0' error
- Works with Synology NAS without SFTP subsystem configuration
- Prevents Exit code 255 from connection failures
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create archive in /tmp/deploy-build to avoid path conflicts
- Add --exclude='*.tar.gz' to prevent self-archiving
- Add --warning=no-file-changed to ignore harmless warnings
- Prevents Exit code 1 from tar file change detection
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Use atomic swap strategy: tmp → backup → deploy
- Automatic backup with timestamp for rollback
- Clean up old backups (keep 5 latest)
- Safer file deployment preventing partial updates
- Based on 2024 GitOps best practices
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Use docker-compose down to clear old service definitions
- Use docker system prune -f to remove cached metadata
- Verify new compose file is deployed correctly
- Force rebuild with --build flag
- This ensures new nginx-only config is used instead of cached old stack
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Stop and remove old containers with docker-compose down
- Prevents conflicts with cached old configurations
- Ensures clean deployment of new nginx-only setup
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove unnecessary services (api-base, test_api, frontend containers)
- Configure nginx to proxy to host.docker.internal:5137
- Simplified docker-compose.yml for initial deployment test
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Synology NAS doesn't have 'groups' command
- Use 'id' command instead which is available on all Unix systems
- This fixes the deployment pipeline error
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>