아이티제어

내 PC에 “나만의 GitHub” 만들기 (WSL + Gitea + 자동 푸시 워처)v0.1 본문

Linux/AI인공지능발전과 미래준비

내 PC에 “나만의 GitHub” 만들기 (WSL + Gitea + 자동 푸시 워처)v0.1

프로그래머 파이브010-2629-0471 2025. 10. 25. 10:53

내 PC에 “나만의 GitHub” 만들기 (WSL + Gitea + 자동 푸시 워처) — 초간단 가이드

이 글로 무엇을 얻게 되나요?

  • 내 PC(WSL)에 자가 Git 서버(Gitea) 설치
  • VSCode에서 파일 저장만 해도 자동 commit/push
  • 링크 하나( RAW )만 주면 누구든 최신 코드 열람 가능
  • PC 끄면 서비스도 자동 종료(보안상 편함)

준비물

  • Windows 11 (관리자 권한 PowerShell)
  • WSL Ubuntu-22.04 설치됨
    (PowerShell에서 wsl --list 했을 때 Ubuntu-22.04 보이면 OK)

1) 올인원 스크립트 내려받기 & 권한 주기

WSL(Ubuntu) 터미널에서:
curl https://download.blog.naver.com/open/c752db687b2123ffd23355665db6c7b41b47b654d4/EFsQaLZKxrrO9dxQLuoSggWaFwbSq_dvelkCLmFl_gMvH4u9V3ku6P25DocOgigsyAmAbkT38lhu5d3N0XHgmHnyJZmEFQ/yjm_stack_allinone.sh

 

chmod +x yjm_stack_allinone.sh

(직접 만든 파일이 있다면 그걸 쓰면 됩니다. 파일명만 맞추세요.)


2) 사전 세팅 + WSL→Windows 포워딩 자동화

**WSL(Ubuntu)**에서:

 
sudo FORWARD_PORTS="707" WSL_DISTRO="Ubuntu-22.04" \ bash ./yjm_stack_allinone.sh pre
  • 메시지에 따라 Windows에서 wsl --shutdown 한 번 실행 후, 우분투 다시 켜기.

3) 자가 Git 서버(Gitea) + Apache 프록시 설치

**WSL(Ubuntu)**에서:

 
sudo DOMAIN=github1.yjm.kr HTTP_PORT=707 GITEA_PORT=3000 \ bash ./yjm_stack_allinone.sh gitea

설치 후 브라우저에서 열어보기:

 
http://github1.yjm.kr:707/

아직 외부에서 열리지 않으면, 공유기에서 TCP 707 → Windows PC의 사설IP:707 포워딩만 추가하면 끝!


4) 자동 커밋·푸시 워처 설치

**WSL(Ubuntu)**에서 (작업 폴더와 리포/소유자 이름만 바꾸세요):

 
sudo RUN_USER=yjm WORK_DIR=/mnt/d/www/prj1 OWNER=prj1 REPO=prj1 \ DOMAIN=github1.yjm.kr HTTP_PORT=707 \ bash ./yjm_stack_allinone.sh watcher

상태 확인:

 
sudo bash ./yjm_stack_allinone.sh status

5) 첫 푸시(초보자용 최소 세 줄)

처음 한 번만 인증 저장을 위해:

 
cd /mnt/d/www/prj1 git init git remote add origin http://github1.yjm.kr:707/prj1/prj1.git git checkout -B main git config --global credential.helper store git add -A && git commit -m "init" && git push -u origin main

여기서 Git ID/PW(또는 토큰)를 한 번 입력하면 저장됩니다.
그 다음부터는 VSCode에서 저장만 해도 워처가 자동 commit/push!


6) 이렇게 사용하세요 (진짜 핵심)

  1. VSCode로 /mnt/d/www/prj1 열기
  2. 파일 수정 → 그냥 저장
  3. 몇 초 뒤 자동 커밋/푸시 (로그 보고 싶으면)
  4.  
    journalctl -u yjm-git-watch.service -f
  5. 웹에서 확인
  6.  
  7. RAW 링크를 복사해서 공유/검토→ 이 링크 하나면 협업자/AI가 최신 코드 그대로 바로 읽습니다.
  8.  
    http://github1.yjm.kr:707/<owner>/<repo>/raw/main/경로/파일.py

7) 자주 묻는 질문(초보 친화)

Q. PC 끄면 보안상 괜찮나요?
A. 네. PC/WSL 꺼지면 서비스도 함께 멈춥니다. 필요할 때만 켜세요.

Q. 포트 707이 안 열려요!
A. 순서대로 확인:

  • WSL에서 curl -I http://127.0.0.1:707/ → 응답 OK?
  • Windows 관리자 PowerShell:
  •  
    netsh interface portproxy show v4tov4 # 0.0.0.0:707 -> <WSL_IP>:707 보여야 정상
  • 공유기에서 707 → Windows 사설IP:707 포워딩 추가
  • 도메인 github1.yjm.kr A레코드가 공인IP로 가리키는지 확인

Q. 커밋 메시지가 자동으로 이상한 형식이에요.
A. 기본은 wsl:YYYY-MM-DD_HHMMSS입니다.
(스크립트의 PREFIX 값을 바꾸면 됩니다.)

Q. Git 어려워요. 명령 최소화 방법은?
A. 처음 한 번 위의 “첫 푸시 3~5줄”만 하고, 그 후엔 저장만 하세요.
나머지는 워처가 알아서 합니다.

Q. 포트를 바꾸고 싶어요.
A. HTTP_PORT를 바꾸고 pre를 다시 실행하세요:

 
sudo FORWARD_PORTS="708" WSL_DISTRO="Ubuntu-22.04" bash ./yjm_stack_allinone.sh pre sudo DOMAIN=github1.yjm.kr HTTP_PORT=708 GITEA_PORT=3000 bash ./yjm_stack_allinone.sh gitea

공유기 포워딩도 708으로 변경 필수.


8) 문제 생겼을 때 한 번에 보는 명령

 
# 서비스 상태 요약 sudo bash ./yjm_stack_allinone.sh status # Gitea 로그 journalctl -u gitea -n 100 --no-pager # 워처 로그(자동 커밋/푸시 확인) journalctl -u yjm-git-watch.service -n 100 --no-pager # 포워딩(Windows, 관리자 PowerShell) netsh interface portproxy show v4tov4

9) 삭제(데이터 보존)

 
sudo bash ./yjm_stack_allinone.sh uninstall # 데이터는 /var/lib/gitea, /etc/gitea, /opt/yjm_git_watch 등 보존

마무리

이제는 복붙 없이 VSCode에서 저장만 하면,
내 PC 안의 “나만의 GitHub”에 실시간 반영되고,
RAW 링크 한 번이면 협업/리뷰/AI 디버깅까지 한 번에 됩니다.

 

유용하다고 생각하시면 구독과 좋아요.. 답글 남겨주시면​

버전업하는데로 고유해드릴것입니다. ^^​

https://www.instagram.com/anymall1004/

 

로그인 • Instagram

 

www.instagram.com