현재 정가 기준으로 GitHub Team, Vercel Pro, Sentry Team, Linear Basic, Notion Plus를 쓰는 3인 팀은 1Password, 사용량 요금, 추가 옵션을 빼고도 월 약 158달러부터 시작합니다. 범위를 신중하게 잡은 셀프 호스팅 스택은 이 청구서를 크게 줄일 수 있지만, 공정한 비교라면 4GB라는 실험용 하한보다 큰 VPS와 모두가 잊는 유지보수 시간까지 포함해야 합니다.
이 가이드는 “SaaS 청구서가 성가시다”와 “비공개 코드와 개발 워크플로를 외부 인프라에 두는 것이 불편하다”는 결론에 이미 도달했고, 이제 구체적으로 무엇을 돌릴지 알고 싶은 개발자나 소규모 팀을 위한 것입니다. 스택은 코드, 빌드와 배포, 실행, 문서화의 네 계층으로 이뤄집니다. 각 계층마다 권장 도구 하나, 대안 하나, 자원 비용, 그리고 실패 양상을 제시합니다. 범위는 단일 VPS 위의 개인 및 팀 사용입니다. 메일 호스팅, DNS, 고객 대상 인증, Kubernetes는 범위 밖이며 그 이유는 해당하는 자리에서 밝히겠습니다.
요약
요점만 읽는다면:
- 코드: 기본값은 Forgejo입니다. git, CI/CD, 레지스트리, 이슈를 한 제품에서 원할 때만 GitLab CE를 쓰세요. GitLab의 현재 단일 노드 기준선은 16GB RAM이며, 8GB는 메모리가 빠듯한 환경용으로 남겨둔 값입니다.
- 빌드와 배포: Coolify on the current stable release (v4.3.0 at QC time), with the dashboard kept off the public internet. Dokku suits solo developers; pure Docker Compose suits teams that prefer visible moving parts.
- 실행: 공유 자격 증명은 Vaultwarden, 모니터링은 Uptime Kuma, 오류 추적은 GlitchTip, 컨테이너 관리는 Portainer나 Dockge를 씁니다. GlitchTip은 공식 최소 사양이 16GB RAM에 16GB 스왑인 셀프 호스팅 Sentry보다 훨씬 작은 배포입니다.
- 문서화: 문서는 Docmost, 이슈 추적은 OpenProject(또는 Plane)를 씁니다. AFFiNE은 캔버스형 Notion 모델을 선호하는 팀에 어울립니다.
- 사이징: 4GB는 가벼운 서비스 몇 개를 위한 실험용 크기, 8GB는 OpenProject와 Plane, 로컬 빌드를 뺀 축소 파일럿, 16GB는 이 가이드의 완전한 Forgejo 기반 스택을 위한 현실적인 출발점으로 보세요. GitLab의 8 vCPU/16GB 기준선은 GitLab 자체에 해당하므로, GitLab 기반의 한 대짜리 스택은 추가 용량이나 별도의 부하 테스트가 필요합니다.
- 약점은: 외부 기여자가 필요한 공개 오픈소스 프로젝트입니다. GitHub의 네트워크 효과는 실재하며, 셀프 호스팅은 발견 가능성을 대가로 치릅니다.
필수 조건
더 읽기 전에, 이 가이드는 다음을 전제합니다:
- Docker와 Docker Compose가 설치된 Linux VPS. 완전한 Forgejo 기반 스택에는 약 16GB RAM을 잡으세요. 무거운 프로젝트 관리 도구와 로컬 빌드를 뺀 축소 파일럿이라면 8GB로 충분합니다.
- 최초 배포 시 계층당 30~60분의 집중 시간.
- Compose 파일을 읽고 환경 변수를 조정하는 데 익숙할 것.
- 정기 업데이트 창을 유지하고, 보안 수정을 신속히 적용하며, 백업을 설정만 하는 것이 아니라 검증하려는 의지.
이 중 하나라도 받아들일 수 없다면, SaaS 묶음이 정말로 여러분 팀에 맞는 답입니다. 그것은 변호할 수 있는 선택이지 실패가 아닙니다.
루트 액세스, NVMe, AMD EPYC 성능을 갖춘 Linux VPS에서 개발하세요.
Linux 요금제 보기계층 1, 코드: Forgejo, Gitea, GitLab CE
쓸 만한 선택지 셋, 자원과 거버넌스 곡선 위의 서로 다른 세 지점입니다. 2026년에 셀프 호스팅을 시작하는 사람에게 권하는 것은 Forgejo 먼저.
Forgejo는 소박한 인프라를 염두에 두고 설계되었으며 풀 리퀘스트, 이슈 추적, 프로젝트 보드, 위키, 패키지 레지스트리, Forgejo Actions를 제공합니다. 워크플로는 GitHub Actions 스타일 형식을 쓰지만 호환성이 완전하지는 않으니, 파이프라인이 의존하는 서드파티 액션은 모두 시험해 보세요.
Gitea는 이미 Gitea에만 있는 기능에 의존하고 있거나 도구가 특정 Gitea 버전에 고정된 경우에만 고르세요. 코드베이스 자체에는 아무 문제가 없습니다. Forgejo의 공식 비교 는 이 포크가 2022년 10월 Gitea의 도메인과 상표가 커뮤니티 승인 없이 영리 기업으로 이전된 뒤에 나왔다고 밝힙니다. Forgejo의 라이선스 공지 는 v9.0부터의 릴리스에 GPL v3+를 적용한다고 기록합니다.
git, CI/CD, 컨테이너 레지스트리, 이슈 추적을 한 제품으로 묶고 싶고 그 자원 하한을 감당할 수 있다면 GitLab CE를 고르세요. GitLab의 현재 요구 사양 은 단일 노드 기준선으로 16GB RAM과 8 vCPU를 제시합니다. 8GB는 메모리가 빠듯한 환경용입니다. Gitea는 작은 사설 인스턴스라면 대략 1~2GB RAM으로도 돌아갈 만큼 가볍고 Forgejo도 비슷하지만, 두 경우 모두 운영 환경의 사양은 저장소 수, 러너, 동시 사용자에 따라 달라집니다.
| 도구 | 시작 사양 | 거버넌스 | 라이선스 | 내장 CI/CD | 언제 고를까 |
|---|---|---|---|---|---|
| Forgejo | 1-2 vCPU / 1-2GB RAM (가벼운 사용 기준 추정) | 커뮤니티 주도 (Codeberg e.V.) | GPL v3+ (v9.0+) | Forgejo Actions, 호환성 확인 필요 | 2026년 셀프 호스팅 입문자의 기본 선택 |
| Gitea | 1-2 vCPU / 1-2GB RAM (가벼운 사용 기준 추정) | 영리 기업 (Gitea Ltd, 2022년 10월부터) | MIT | Gitea Actions, 호환성 확인 필요 | 이미 존재하는 Gitea 의존성이나 특정 버전에 고정된 도구 |
| GitLab CE | 8 vCPU / 16 GB RAM baseline; 8 GB constrained | GitLab Inc | MIT (Community Edition) | 네이티브, 기능 완비 | git, CI/CD, 레지스트리, 이슈를 한 플랫폼에서 원하고 RAM도 넉넉할 때 |
CI 문제는 짚고 넘어갈 가치가 있습니다. Gitea Actions는 GitHub Actions와 대체로 호환되도록 설계된 반면, Forgejo Actions는 완전한 호환보다 익숙함을 의도적으로 노립니다. 많은 워크플로는 작은 수정만으로 충분하지만 러너 이미지, 권한, 컨텍스트, 레이블, 서드파티 액션은 다르게 동작할 수 있습니다. 이전 전에 파이프라인이 의존하는 모든 워크플로와 액션을 시험하세요.
세 선택지 모두에 붙는 단서가 하나 있습니다. 이 가이드는 관리 표면을 VPN이나 IP 허용 목록 뒤에 두는 개인 및 팀 사용을 전제합니다. 공개 git 서비스는 작은 사설 배포에는 없는 봇 트래픽, 악용, 발견 가능성의 트레이드오프를 마주합니다. 공개 오픈소스라면 가시성을 위해 GitHub에 미러를 두고, 그 거버넌스 모델이 중요하다면 Forgejo를 진실의 원천으로 유지하세요.
서버는 제공업체의 요금제 이름이 아니라 작업 부하를 기준으로 잡으세요. 가벼운 사설 용도의 독립 Forgejo나 Gitea 서비스는 대략 1~2 vCPU와 1~2GB RAM에서 시작할 수 있습니다. OpenProject와 Plane, 로컬 빌드를 뺀 축소 스택은 대략 4 vCPU와 8GB RAM에서 시작합니다. 여기서 설명한 완전한 Forgejo 기반 스택은 약 8 vCPU와 16GB RAM에서 시작한 뒤, 실제 CI와 애플리케이션 부하로 검증하세요. GitLab의 공식 8 vCPU/16GB 기준선은 GitLab 자체에 해당하므로, GitLab에 이 스택의 나머지를 더한 몫으로 충분하다고 여기지 마세요. SSD나 NVMe 스토리지를 쓰고, 저장소와 컨테이너 이미지, 로그, 데이터베이스, 백업의 예산은 따로 잡으며, 업데이트와 부하 급증에 대비해 용량의 20~30%를 비워 두세요.
이 섹션의 핵심 요점: 2026년 코드 계층의 기본 추천은 Forgejo입니다. Gitea도 여전히 견실하며, GitLab CE는 16GB 기준선을 감당할 수 있거나 8GB 제약 구성을 알고서 운영할 때만 통합형 선택지가 됩니다.
계층 2, 빌드와 배포: Coolify(단서 있음), Dokku, 또는 순수 Docker Compose
솔직하게 정리하면: 최신 프로덕션 릴리스를 돌리고, 관리 대시보드를 공개 인터넷에서 차단하며, 보안 권고를 따르는 경우에 한해 Coolify가 이 스택에 권장되는 PaaS입니다. QC 시점 기준 GitHub는 Coolify v4.3.0 를 최신으로 표시합니다. 패치 적용과 관리 평면 격리는 선택적 강화가 아니라 운영 요건으로 다루세요.
전문가 팁: Coolify의 대시보드와 API를 방화벽, VPN, 또는 신뢰할 수 있는 접근 프록시로 제한하세요. 배포된 애플리케이션은 여전히 공개 트래픽을 받을 수 있습니다. 목표는 관리 제어 평면의 노출을 줄이는 것입니다.
1인 개발자를 위한 대안은 Dokku입니다. Heroku 방식의 git push 배포와 빌드팩을 지원하는 단출한 PaaS죠. Coolify보다 표면적이 작고 그만큼 기능도 적습니다. 그래서 대시보드가 필요 없는 한두 명의 개발자에게는 변호할 만한 “지루한 선택”이 됩니다.
경험 많은 운영자들이 손을 뻗는 세 번째 선택지는 PaaS 없이 Docker Compose만. 팀이 이미 Compose 파일을 쓰고 있고 움직이는 부품이 눈에 보이는 편을 선호한다면, 이것은 아주 합리적인 답입니다. docker compose restart 대신 클릭 한 번으로 재시작하고 싶다면 스택 관리용 UI 계층으로 Dockge나 Portainer를 얹으세요. 트레이드오프는 운영 쪽입니다. 프리뷰 환경도, 내장 TLS 자동화도 없고, 무중단 배포도 공을 들여야 얻습니다. 그런 기능은 스크립트를 써서 벌어야 하죠. Coolify에서는 이미 갖춰져 있고, 딸려오는 보안 이력도 함께입니다.
Cloudzy의 최고의 CI/CD 도구 가이드 는 별도의 러너가 필요한 팀을 위해 빌드 파이프라인을 더 깊이 다룹니다. Forgejo Actions나 GitLab CI/CD가 자리를 잡으면 작은 팀 상당수는 별도 러너가 필요 없어집니다.
이 섹션의 핵심 요점: Coolify는 현재 안정 릴리스에서, 관리 평면을 제한한 경우에만 권장되는 PaaS입니다. Dokku는 보수적인 1인용 선택이고, 순수 Docker Compose는 여전히 변호할 만한 세 번째 선택지입니다.
계층 3, 실행: Vaultwarden, Uptime Kuma, GlitchTip, 그리고 컨테이너 관리
이 스택에서 자원 격차가 가장 극명한 지점이 바로 여기입니다. 셀프 호스팅 Sentry의 공식 요구 사양 은 최소 사양으로 CPU 코어 4개, 16GB RAM, 16GB 스왑, 여유 디스크 20GB를 제시하며, 32GB RAM을 권장합니다. GlitchTip의 설치 안내서 는 512MB RAM을 권장하고, PostgreSQL을 요구하며, Valkey는 선택 사항으로 둡니다. VPS 한 대를 쓰는 작은 팀이라면 GlitchTip이 현실적인 기본값입니다.
| 도구 | RAM (일반적) | 컨테이너 수 | API 호환성 |
|---|---|---|---|
| 셀프 호스팅 Sentry | 16 GB RAM plus 16 GB swap minimum; 32 GB recommended | 여러 서비스로 이뤄진 대형 배포 | 기본 지원 |
| GlitchTip | 512 MB recommended; 256 MB minimum for the all-in-one setup | 핵심 서비스 2개, Valkey는 선택 | Sentry SDK 트래픽, 기능 동등성 확인 필요 |
이 계층에 남은 네 도구는 이야기가 짧습니다.
Vaultwarden은 Bitwarden 모바일 앱과 브라우저 확장, 그리고 팀 공유를 지원하는 Bitwarden 호환 비밀번호 관리자입니다. 실제 자원 사용량은 사용자 수, 첨부 파일, 선택한 데이터베이스에 따라 달라집니다. Cloudzy의 셀프 호스팅 비밀번호 관리자 비교 는 더 체계적인 권한, 감사 통제, 또는 다른 보안 모델이 필요할 때의 깊은 트레이드오프를 다룹니다.
Uptime Kuma는 자그마한 모니터링 겸 알림 도구입니다. HTTP, TCP, 핑, 푸시, 인증서 만료 점검을 지원하고 상태 페이지도 선택적으로 제공합니다. 알림은 채팅이나 이메일, 웹훅으로 보낼 수 있습니다. 자원 사용량은 모니터 수와 보존 기간에 따라 달라지며, 연속 두 번째 실패에서 알리도록 하면 짧은 요동을 실용적으로 눌러 줍니다.
GlitchTip은 오류 추적기입니다. 대부분의 Sentry SDK 연동은 GlitchTip DSN으로 보고할 수 있지만 기능 동등성이 완전하지는 않습니다. 성능 모니터링, 소스맵, 알림, 그리고 팀이 중요하게 여기는 연동은 모두 시험해 보세요.
컨테이너 UI로는 Portainer나 Dockge를 고르세요. Portainer는 컨테이너 관리 전반을 폭넓게 다루고, Dockge는 Docker Compose에 집중합니다. Compose만 쓰는 작은 스택이라면 Dockge가 더 깔끔하게 맞습니다. 더 넓은 범위가 필요할 때에만 Portainer로 옮기세요.
이 계층에 유용한 Compose 습관 하나: 도구마다 별도 하위 디렉터리에 각자의 compose.yml을 두고, 도구 간 통신이 필요한 곳에서만 Docker 네트워크를 공유하며, 앞단에 TLS 종료용 리버스 프록시를 하나 세우세요.
# /opt/stack/glitchtip/compose.yml (excerpt)
services:
web:
image: "glitchtip/glitchtip:${GLITCHTIP_VERSION:?Set GLITCHTIP_VERSION in .env}"
environment:
DATABASE_URL: "${DATABASE_URL:?Set DATABASE_URL in .env}"
SECRET_KEY: "${GLITCHTIP_SECRET_KEY:?Set GLITCHTIP_SECRET_KEY in .env}"
GLITCHTIP_DOMAIN: "https://errors.example.com"
DEFAULT_FROM_EMAIL: "[email protected]"
ports:
- "127.0.0.1:8000:8000"
전문가 팁: 백업은 서비스를 복구해 데이터까지 검증해 봐야 비로소 증명됩니다. 한 달에 한 번, 대표적인 서비스 하나를 격리된 테스트 환경에 복구해 기동하고, 로그인해 보고, 레코드와 첨부 파일을 살펴 애플리케이션이 정상 동작하는지 확인하세요. 복구된 파일 목록을 훑는 것은 압축본이 읽힌다는 사실만 증명할 뿐, 데이터베이스와 볼륨, 권한, 애플리케이션 상태까지 되살릴 수 있다는 증거는 아닙니다.
이 섹션의 핵심 요점: GlitchTip은 셀프 호스팅 Sentry보다 훨씬 작은 배포로 오류 추적의 핵심을 해냅니다. 다만 팀이 실제로 쓰는 Sentry 기능과 연동은 반드시 검증하세요.
계층 4, 문서화: Docmost, AFFiNE, 그리고 OpenProject 또는 Plane으로 하는 이슈 추적
Notion의 인터페이스는 위키가 커져서 탐색과 검색이 굼떠지기 전까지는 훌륭합니다. 작은 팀에 권하는 분담은 문서와 위키에 Docmost, 이슈 추적에 OpenProject입니다. 팀이 콕 집어 Linear 같은 시각적 모델을 원하고 지원되는 셀프 호스팅 배포를 감당할 수 있다면 OpenProject 대신 Plane을 쓰세요.
Docmost는 여기서 Notion에 가장 가까운 셀프 호스팅 대체재이면서, Notion인 척하지도 않습니다. 블록 편집기, 페이지 계층, 팀 권한이 전형적인 사내 위키에 잘 맞습니다. 이 계층의 사양은 동시 편집자 수, 첨부 파일, 그리고 PostgreSQL과 Redis가 같은 호스트를 공유하는지에 따라 잡으세요. AFFiNE은 중첩 페이지보다 캔버스와 화이트보드 모델을 선호하는 팀을 위한 대안입니다. 둘 다 합리적이니 하나를 고르세요.
OpenProject는 Jira풍 워크플로가 편한 팀의 이슈 추적을 감당합니다. 에픽, 작업 패키지, 스프린트, 시간 기록까지 갖췄죠. Plane은 Linear 형태의 대안으로, 더 빠른 이슈 중심 인터페이스와 다른 운영 특성을 지닙니다.
솔직히 인정합시다. 키보드 우선인 Linear의 속도감은 정말로 훌륭하고, Plane이 모든 상호작용을 그대로 재현하지는 않습니다. 팀의 업무 흐름이 Linear의 명령 메뉴에 대한 근육 기억 위에 세워져 있다면, 이전 과정의 마찰은 실재합니다. 반드시 무산 사유는 아니지만, 분명한 비용입니다.
이 섹션의 핵심 요점: Docmost가 사내 문서화 역할을 맡고, 이슈 추적은 OpenProject나 Plane이 담당합니다. Linear와의 키보드 사용성 격차가 이 계층에서 유일하게 타협을 요구하는 지점입니다.
이 스택의 비용과 구동 환경
한 대에 담는 완전한 Forgejo 기반 스택의 현실적인 출발점은 약 8 vCPU와 16GB RAM입니다. 2 vCPU에 4GB RAM은 가벼운 서비스 몇 개를 위한 실험용 크기로, 4 vCPU에 8GB RAM은 OpenProject와 Plane, 로컬 빌드를 뺀 축소 파일럿으로 보세요. 실제 요구 사양은 동시 사용자, CI 활동, 데이터베이스 증가, 첨부 파일, 이미지 저장소, 로그, 보존 기간에 따라 달라지므로 실제 부하로 스택을 검증하고 용량의 20~30%를 비워 두세요. 16GB 시작 등급은 부하가 가벼운 2~3인 개발팀 기준으로, 부하 시험을 전제로 다음 서비스들을 수용할 수 있습니다:
- Forgejo
- Coolify
- Vaultwarden
- Uptime Kuma
- GlitchTip
- Docmost
- OpenProject
- Dockge
4GB 서버는 가벼운 서비스 몇 개에만 맞습니다. 8GB 서버는 OpenProject와 Plane, 로컬 빌드를 뺀 축소 파일럿으로 보는 편이 낫습니다. 완전한 Forgejo 기반 스택은 16GB에서 시작하고, GitLab이나 동시 빌드, Plane, 긴 보존 기간, 더 무거운 데이터베이스 부하가 들어오면 용량을 늘리세요. 같은 팀의 SaaS 묶음에는 다음이 들어갑니다:
- GitHub Team
- Vercel Pro
- Sentry
- Linear
- Notion
- 1Password
각 가격 페이지에 공개된 기본 요금을 기준으로 했습니다(해당하는 경우 연간 결제 요금 포함). 유료인 다섯 제품을 합치면 3인 기준 월 약 158달러입니다: GitHub Team 은 첫 12개월 동안 사용자당 4달러, Vercel Pro 의 개발자 좌석 3개는 각 20달러, Sentry Team 은 26달러부터, Linear Basic 은 사용자당 10달러, 그리고 Notion Plus 은 사용자당 10달러입니다. 사용량 요금과 세금, 추가 옵션, 1Password는 별도입니다. 인프라가 여전히 상당히 저렴할 수는 있지만, 운영자의 시간을 빼놓은 비교는 의미가 없습니다.
언제 사양을 올릴까: GitLab의 단일 노드 기준선은 8 vCPU와 16GB RAM입니다. 여러 빌드를 동시에 돌리면 GitLab이 없어도 추가 용량이 필요할 수 있습니다. 셀프 호스팅 Sentry 역시 16GB RAM에 16GB 스왑에서 시작해 32GB를 권장하는데, 이 가이드가 한 대짜리 스택에 GlitchTip을 권하는 이유가 바로 그것입니다.
가격표에 없는 비용은 운영 시간입니다. 계획 단계의 어림수로 업데이트와 백업 검증에 월 1~2시간, 여기에 운영 중인 프로젝트의 보안 권고를 주간으로 짧게 훑는 시간을 잡으세요. 실제 숫자는 변경량, 장애 대응, 자동화 정도에 달려 있습니다. 0은 아니며, 비용 모델에 들어가야 마땅합니다.
배포 방식이 바꾸는 것은 편의성이지 운영 요건이 아닙니다. 공식 Compose 파일을 쓰든 마켓플레이스 템플릿을 쓰든, 이미지 버전을 고정하고, CPU와 메모리 한도를 걸고, 서비스 데이터를 명명된 볼륨에 두고, 백업과 복구를 모두 시험하세요. 전체 스택을 한 호스트에 몰면 장애 영역도 공유하게 되므로, 중단이나 자격 증명 노출의 파급이 큰 중요 서비스는 분리하세요.
이 스택을 배포하고 싶다면, 저희 Cloud VPS 요금제를 CPU, RAM, SSD 또는 NVMe 스토리지, 전송량, 지역 기준으로 비교한 뒤 위의 사양 산정 틀을 적용해 보세요. 더 빠르게 구축하려면 저희 원클릭 앱 카탈로그. 그래도 버전은 고정하고, 자원 한도를 걸고, 운영에 올리기 전에 백업을 검증하세요.
이 섹션의 핵심 요점: 작은 실험에는 4GB, 축소 파일럿에는 8GB, 완전한 Forgejo 기반 스택의 현실적인 출발점으로는 약 8 vCPU와 16GB RAM을 쓰세요. GitLab, 동시 빌드, 더 무거운 프로젝트 관리 도구, 커지는 데이터베이스를 위해서는 용량을 더하세요.
이 스택의 셀프 호스팅이 정말로 실패하는 지점
실패 양상 네 가지를 에두르지 않고 짚습니다. 이 가이드의 나머지는 줄곧 이 방식을 옹호해 왔으니까요.
실패 양상 1: 공개 오픈소스 프로젝트에서의 GitHub 네트워크 효과. 셀프 호스팅 git은 비공개 코드에는 옳은 선택입니다. 하지만 외부 기여자가 여러분을 찾아내는 데 가치 전부가 달린 프로젝트에는 틀린 선택입니다. 개발자들이 가장 먼저 보는 곳은 GitHub입니다. 풀 리퀘스트, 포크, 스타, github.com에 있다는 사실이 주는 암묵적 신뢰 신호, 서드파티 도구 연동까지 전부요. 프로젝트가 공개 오픈소스라면 정직한 방식은 가시성을 위해 GitHub에 미러를 두고 진실의 원천은 Forgejo에 두는 것입니다. 공개 작업에서 셀프 호스팅 인스턴스가 GitHub의 발견 가능성을 대신해 주리라 기대하지 마세요. 그렇게 되지 않습니다.
실패 양상 2: 공개 Git 인스턴스에 몰리는 봇과 스크래퍼 트래픽. 외부에 열려 있는 Forgejo와 Gitea 서비스에는 악용 방지 장치, 속도 제한, 모니터링, 그리고 예측 불가능한 트래픽을 감당할 여유 용량이 필요합니다. 이 가이드는 관리 표면을 VPN이나 IP 허용 목록 뒤에 두는 개인 및 팀 사용을 전제합니다. 진짜로 공개된 포지는 위협 모델도 용량 모델도 다릅니다.
실패 양상 3: 유지보수 부담. “여러분이 곧 IT 부서다”라는 상투적인 말은 대체로 사실입니다. 업데이트는 뭔가를 망가뜨립니다. Compose 파일은 표류합니다. 인증서는 만료됩니다. 백업은 가장 볼썽사나운 방식으로 조용히 실패합니다. Coolify의 2026년 보안 권고들은 패치 주기가 중요하다는 사실을 새삼 일깨워 줍니다. 시작하기 전에 유지보수 창을 약속할 수 없다면, 솔직히 SaaS 묶음이 맞는 답입니다.
실패 양상 4: 연동의 상실. 서드파티 GitHub Actions, GitHub PR에 묶인 Vercel 프리뷰 배포, PagerDuty·Linear와 이어지는 Sentry의 호스팅 알림 연동, 폭넓은 Notion 연동 카탈로그. 대부분은 셀프 호스팅 대응물이 있습니다(Forgejo Actions, Coolify의 웹훅 배포, GlitchTip 알림, 워크플로를 이어 붙이는 n8n). 하지만 대체가 늘 1:1은 아닙니다. 팀을 이전에 밀어 넣기 전에 가장 중요한 워크플로부터 시제품으로 만들어 보세요. 당연하게 여기던 연동이야말로 여러분을 놀라게 할 가능성이 가장 큽니다.
이 섹션의 핵심 요점: 이 스택은 비공개 코드와 작은 팀, 그리고 손을 걷어붙일 운영자에게 통합니다. 공개 오픈소스의 가시성, 손대기 싫어하는 팀, 유지보수 제로라는 기대에는 통하지 않습니다.
운영자의 스택
네 계층, 네 가지 권고를 정직하게 짚습니다. 코드: Forgejo. 빌드와 배포: 관리 평면을 제한한 Coolify, 또는 Dokku, 또는 Compose. 실행: Vaultwarden, Uptime Kuma, GlitchTip, Portainer 또는 Dockge. 문서화: Docmost와 OpenProject(또는 Plane). 축소 파일럿은 8GB에서, 완전한 Forgejo 기반 스택은 16GB에서 시작하세요. GitLab, 동시 빌드, 더 무거운 데이터베이스, 지속적인 애플리케이션 부하에는 용량을 더하세요.
이전을 진행한다면 Uptime Kuma와 중요도가 낮은 사내 서비스부터 시작하세요. 팀 업무 흐름이나 자격 증명 저장소를 옮기기 전에 운영 리듬(업데이트, 모니터링, 백업 검증, 인증서 갱신)을 더 낮은 위험으로 익힐 수 있습니다. Vaultwarden을 첫 시험 배포로 삼지 마세요. 호스트 외부의 암호화 백업, 성공한 복구 시험, 제한된 관리 권한, 다중 인증이 갖춰진 다음에만 옮기세요. 그 리듬이 안정되면 Forgejo로, 다음은 Coolify로, 그다음 나머지로 넘어가세요.
GitLab CE를 콕 집어 고른 팀이라면, 내장 CI/CD가 별도 러너를 대체하는지 아니면 여러분의 작업 부하에 여전히 전용 빌드 용량이 필요한지를 정하세요.
자주 묻는 질문
2026년 Gitea의 최고의 셀프 호스팅 대안은 무엇인가요?
2026년 셀프 호스팅을 시작하는 사람에게 권하는 선택은 Forgejo입니다. 2022년 10월 Gitea의 상표와 도메인이 커뮤니티의 사전 승인 없이 영리 기업으로 넘어간 일이 2022년 말 Forgejo 포크를 촉발했습니다. v9.0부터 Forgejo 릴리스는 GPL v3+를 쓰며, 그 이전의 v8.0과 v7.0 패치 릴리스는 MIT로 남았습니다. 일상적인 기능 면에서는 거의 대등합니다.
2026년에 Coolify를 운영 환경에서 안전하게 돌릴 수 있나요?
네, 다만 능동적인 유지보수와 다층 방어가 전제입니다. 검토를 거친 최신 안정 릴리스를 돌리고, 새 권고를 주시하고, 팀 권한을 제한하고, 대시보드와 API는 방화벽이나 VPN, 또는 신뢰할 수 있는 접근 계층 뒤에 두세요. beta.451이나 beta.474, 그 밖의 어떤 과거 패치 수준도 영구적인 안전선으로 여기지 마세요.
완전한 셀프 호스팅 개발자 스택에는 실제로 RAM이 얼마나 필요한가요?
개발자 2~3인 팀 기준으로 4GB는 가벼운 서비스 몇 개를 위한 실험용 크기, 8GB는 OpenProject와 Plane, 로컬 빌드를 뺀 축소 파일럿으로 보세요. 완전한 Forgejo 기반 스택의 현실적인 출발점은 약 8 vCPU와 16GB RAM입니다. GitLab의 8 vCPU/16GB 기준선은 GitLab 자체에 해당하고, 셀프 호스팅 Sentry는 16GB RAM에 16GB 스왑을 요구하며 32GB를 권장합니다. 최종 구성은 실제 작업 부하 조건에서 검증하세요.
왜 셀프 호스팅 Sentry가 아니라 GlitchTip인가요?
자원과 운영의 격차 때문입니다. 셀프 호스팅 Sentry는 최소 16GB RAM에 16GB 스왑을 요구하고, 여러 서비스로 이뤄진 대형 배포입니다. GlitchTip은 올인원 서비스에 512MB를 권장하고, PostgreSQL을 요구하며, Valkey는 선택 사항으로 둡니다. Sentry SDK 트래픽을 받아들이지만 기능 동등성이 완전하지는 않으니, 여러분이 의존하는 기능과 연동은 시험해 보세요.
이 스택은 SaaS 대응물과 비교해 실제로 얼마나 드나요?
4GB는 가벼운 서비스 몇 개를 위한 실험용 크기로, 8GB는 OpenProject와 Plane, 로컬 빌드를 뺀 축소 파일럿으로 보세요. 완전한 Forgejo 기반 스택의 현실적인 출발점은 약 8 vCPU와 16GB RAM입니다. 공개된 기본가 기준으로 GitHub Team, Vercel Pro, Sentry Team, Linear Basic, Notion Plus를 합치면 3인 기준 월 약 158달러이며, 여기에 1Password와 사용량 요금, 세금, 추가 옵션은 빠져 있습니다. 셀프 호스팅이 상당히 저렴할 수는 있지만, 운영자의 시간과 백업 인프라는 실재하는 비용입니다.
