터미널 만드는 고스티(Ghostty)가 깃허브를 떠난다고 했을 때(4월 28일) 개발자 판이 한 번 술렁였어요. 그 전에 Zig 언어 프로젝트도 조용히 나갔고요. 그리고 오늘 아침, '깃허브 탈출' 얘기가 또 해커뉴스 맨 위에 걸려 있더라고요. 그런데 저는 이 흐름을 좀 삐딱하게 봐요. 3년 전에 이미 팀 저장소를 깃허브 밖으로 빼봤거든요. 로망처럼 도는 셀프호스팅이 실제로 뭘 주고 뭘 가져가는지, 광고엔 절대 안 나오는 얘기를 해볼게요.

왜 갑자기 다들 "깃허브 나가자"고 할까요
불을 댕긴 건 고스티였어요. HashiCorp를 만들었던 미첼 하시모토가 4월 28일 "고스티는 깃허브를 떠난다"는 글을 올렸거든요. 하필 그 전날 깃허브에 큰 장애가 있어서 겹쳐 보였지만, 본인은 "몇 달 전부터 준비하던 계획"이라고 못 박았어요. 발목을 잡은 건 주로 Actions였대요. 올해 들어 CI가 몇 시간씩 멈추는 사고가 반복됐거든요.
떠나는 이유를 뜯어보면 대충 세 갈래예요. 첫째는 방금 말한 안정성. 배포가 걸린 CI가 남의 사정으로 멈추면 진짜 속이 타죠. 둘째는 내 코드가 남의 AI 학습에 쓰이는 것에 대한 찝찝함이에요. 코파일럿이 나온 뒤로 "내 오픈소스가 동의 없이 학습됐다"는 논쟁이 계속 있었잖아요. 셋째는 플랫폼의 무게중심이 온통 AI로 쏠리면서, "우리가 쓰던 그 조용한 협업 도구"의 느낌이 옅어졌다는 정서적인 이유고요.
그렇다고 깃허브가 무너지는 건 절대 아니에요. 저장소가 6억 개가 넘고 새 사용자가 초 단위로 붙는, 여전히 압도적인 곳이거든요. 그러니 이번 흐름은 "깃허브가 망해서 도망친다"가 아니라, "내 코드가 어디에 있어야 하나"를 값어치로 다시 따져보는 움직임에 가까워요. 이 구분을 안 하면 남 따라 나갔다가 크게 후회해요.
셀프호스팅 3년, 좋았던 건 확실히 좋아요
지난번에 Gitea 헤더 취약점 글을 쓰면서도 얘기했지만, 저는 팀 내부용 저장소를 3년째 Gitea로 도커에 올려 굴리고 있어요. 그래서 이번 '탈깃허브' 얘기가 남 일 같지가 않더라고요. 먼저 진짜로 좋았던 것부터 솔직하게 말할게요. 나쁜 얘기만 하면 그것도 편파적이니까요.
가장 큰 건 내 코드가 온전히 우리 손 안에 있다는 감각이에요. 사내 소스가 누구 모델 학습 데이터로 흘러갈 걱정을 안 해도 되고, 어느 날 갑자기 요금제나 약관이 바뀌어서 끌려다닐 일도 없죠. 사내망 안에 있으니 클론·푸시가 눈에 띄게 빠르고, 접근 권한도 우리 규칙대로 잘게 자를 수 있어요. 저는 프록시 인증을 앞에 세워서 사내 계정과 그대로 묶어뒀는데, 이런 세밀한 통제는 남의 서비스에선 못 누리는 맛이에요.
비용도 사람이 늘 때 유리해요. SaaS는 보통 인원당 과금이라 팀이 커질수록 청구서가 같이 커지는데, 자체 서버는 사람이 두 배가 돼도 서버가 버티는 한 추가 비용이 거의 안 붙거든요. 여기까지만 보면 "이거 왜 다들 진작 안 했지?" 싶죠. 문제는 이 장부에 안 적힌 항목들이 있다는 거예요.
근데 광고가 절대 말 안 해주는 비용
셀프호스팅 홍보 글은 "5분이면 띄운다"에서 끝나요. 진짜 비용은 그 5분 다음부터 시작되는데 말이죠. 3년 굴려보니 결국 핵심은 하나였어요. 깃허브가 조용히 대신 해주던 일들이, 전부 내 몫으로 넘어온다는 거예요.
제일 무거운 건 역시 운영 부담이에요. 서버가 새벽 2시에 죽으면 그게 곧 제 휴대폰 알림이거든요. 깃허브를 쓸 땐 장애가 나도 "얼른 복구되겠지" 하고 남 걱정이었는데, 이제는 제가 그 '남'이 된 거죠. 백업도 마찬가지예요. 그냥 있는 줄 알았던 백업을, 이젠 제가 설계하고 주기적으로 복구까지 실제로 해봐야 마음이 놓여요. 백업은 '돌려봐서 살아난 것'만 백업이니까요.
보안 패치도 오롯이 제 일이에요. 지난번 Gitea 헤더 취약점이 떴을 때, 저는 소식 보자마자 새벽에 우리 인스턴스 버전부터 확인했어요. 다행히 프록시 인증 구조라 무사했지만, 그 순간의 서늘함은 SaaS 쓸 땐 겪을 일이 없는 거죠. CI도 공짜가 아니에요. 깃허브가 넉넉히 주던 무료 실행 분(分) 대신, 저는 act_runner를 직접 세워서 관리하거든요. 이게 은근히 손이 많이 가요.
| 항목 | 깃허브(SaaS) | 직접 셀프호스팅 |
|---|---|---|
| 서버 다운 대응 | 깃허브가 밤새 처리 | 내 폰이 울림 |
| 백업 | 사실상 신경 안 씀 | 내가 설계·복구검증 |
| 보안 패치 | 알아서 반영됨 | CVE 뜰 때마다 내 손으로 |
| CI 실행기 | 무료 분(分) 제공 | act_runner 직접 운영 |
| 비용 성격 | 인원당 과금 | 서버비 + 내 시간 |
셀프호스팅으로 아끼는 건 '돈'이 아니라 '통제권'이에요. 대신 내주는 건 '내 시간'이고요. 이 교환이 남는 장사인지는 팀마다 완전히 달라요. 돈만 보고 넘어오면 시간에서 크게 물려요.
그래서 옮길까 말까 — 저는 이렇게 나눠서 봐요
가장 먼저 짚을 건, "깃허브를 떠난다"는 말 안에 전혀 다른 두 갈래가 섞여 있다는 거예요. 하나는 코드베르크(Codeberg) 같은 다른 호스팅으로 이사하는 것, 다른 하나는 아예 내 서버에 직접 올리는 진짜 셀프호스팅이에요. 이 둘을 뭉뚱그리면 판단이 꼬여요.
코드베르크는 독일의 비영리 단체가 운영하는 곳인데, 엔진으로 Forgejo를 써요. 이게 사실 제가 쓰는 Gitea에서 갈라져 나온 포크거든요. 광고도 없고 내 코드로 AI를 학습시키지도 않죠. 그러니까 셀프호스팅의 운영 부담은 지지 않으면서 가치(값어치)만 취하는 절충안이에요. 공개 오픈소스 프로젝트라면 저는 여기부터 권해요. 반대로 진짜 내 서버에 직접 올리는 건, 팀 안에 "이 서버를 내 것으로 여기고 챙길 사람"이 있을 때만 말리지 않아요.
그리고 대부분에게 현실적인 답은 '전면 이전'이 아니라 미러(mirror)예요. 고스티도 깃허브에 읽기 전용 사본을 남겨두겠다고 했잖아요. 저희도 사내 Gitea가 본진이지만, 공개용 저장소 몇 개는 깃허브에 미러를 둬서 외부 협업과 검색 노출을 챙겨요. 둘 중 하나를 고르는 문제가 아니라 본진과 창구를 나누는 문제로 보면 마음이 편해요.
도구를 고르는 것보다 "당번을 누가 맡느냐"가 먼저예요. 저는 매직넘버를 상수로 빼두듯, 이런 운영 책임도 문서에 이름까지 박아두는 편이에요. 담당이 공기처럼 흐릿하면, 셀프호스팅 서버는 아무도 안 돌보는 채로 몇 달씩 방치되다가 어느 날 조용히 사고를 내거든요. 이건 제가 옛 협업 서버에서 한 번 데어봐서 확실해요.
그럼 넌 다시 깃허브로 갈 거냐고요?
아니요. 저는 3년 전 선택을 후회하진 않아요. 근데 그건 셀프호스팅이 정답이라서가 아니라, 우리 팀에 이 서버를 챙길 사람(=저)이 마침 있었기 때문이에요. 순서가 반대면 안 돼요.
(이건 좀 여담인데) 사실 저도 이번에 공개 저장소를 코드베르크로 옮겨볼까 잠깐 설렜어요. 근데 막상 우리 미러 설정을 열어보니 지금 구조로도 아쉬운 게 없더라고요. 유행이 부추기는 대로 안 움직여도 되는 상태라는 게, 3년 굴린 값인가 싶었어요.
남들 다 나간다고 따라 나가기 전에, 팀에 이 질문부터 던져보세요. "이 서버가 새벽에 죽으면, 누가 일어날래?" 그 손을 드는 사람이 없으면 아직은 깃허브에 있는 게 맞아요. 그건 진 게 아니라 현명한 거고요. 반대로 그 손을 드는 사람이 있다면, 셀프호스팅은 생각보다 해볼 만하고 얻는 것도 분명해요. 결국 도구 이름이 아니라 '당번'이 이 결정의 전부더라고요.
이 포스팅에는 쿠팡 파트너스 활동의 일환으로 일정 수수료를 제공받을 수 있습니다.
'Tech > Dev Notes' 카테고리의 다른 글
| tmux 완벽 가이드 - 설치부터 .tmux.conf 설정, 세션 관리, 단축키까지 (1) | 2026.07.17 |
|---|---|
| 짝수 LTS만 골라 올리던 습관이 사라집니다 — Node.js 릴리스, 27부터 매년 4월 딱 하나·전부 LTS로 (0) | 2026.07.10 |
| 정품 서명 달고 온 악성 패키지 — 'Trusted Publishing'을 안전 인증으로 믿으면 안 되는 이유 (0) | 2026.07.09 |
| Node.js가 하루에 취약점 10여 개 패치 — TLS 인증 우회·프로세스 강제종료, 서버 버전 지금 확인하세요 (0) | 2026.07.08 |
| HTTP 헤더 딱 한 줄이면 관리자 계정 — 깃티(Gitea) 도커 기본값이 낸 CVE-2026-20896, 지금 서버 확인하세요 (0) | 2026.07.08 |