이 글에서는 Capgo를 셀프 호스팅하는 방법에 대한 단계별 가이드와 함께, 셀프 호스팅의 장단점에 대해 알아봅니다.
소개
셀프 호스팅은 직접 서버와 네트워크를 구축하여 웹사이트나 애플리케이션을 운영하는 방식입니다. PaaS나 퍼블릭 클라우드 제공업체를 사용하는 대신, 셀프 호스팅을 선택하면 직접 네트워크를 운영하며 애플리케이션 구축뿐만 아니라 유지보수와 가동 시간(uptime)까지 직접 책임져야 합니다.
Capgo를 시작하는 가장 쉬운 방법은 저희 클라우드 기반의 공식 매니지드 서비스, 하지만 직접 관리하는 것을 선호한다면 서버에 Capgo를 셀프 호스팅할 수도 있습니다.
셀프 호스팅이란 무엇인가요?
디지털 환경에서 셀프 호스팅이란 온라인 서비스와 인프라를 직접 관리하고 제어하기 위해 자체 서버를 운영하는 방식을 의미합니다. 제3자 호스팅 제공업체에 의존하는 대신, 개인이나 조직이 원하는 조건에 맞춰 서버, 웹사이트, 애플리케이션 및 데이터 저장소를 직접 구축하고 관리하는 것입니다.
왜 셀프 호스팅을 선택하나요?
셀프 호스팅을 선택하는 이유는 다양합니다. 가장 대표적인 장점은 다음과 같습니다:
-
개인정보 보호 및 제어권: 셀프 호스팅을 하면 데이터와 개인정보에 대해 완전한 제어권을 가집니다. 제3자 제공업체가 사용자의 활동을 추적하거나 데이터를 판매할 걱정을 할 필요가 없습니다.
-
비용 절감: 많은 리소스를 사용하거나 여러 서비스를 운영하는 경우, 장기적으로 셀프 호스팅이 더 경제적일 수 있습니다.
-
커스터마이징: 셀프 호스팅을 통해 특정 요구 사항에 맞춰 애플리케이션과 서비스를 유연하게 커스터마이징할 수 있습니다.
-
학습 및 실험: Self-hosting은 Linux, 시스템 관리 및 기타 기술적 주제를 배우기에 아주 좋은 방법입니다. 또한 새로운 소프트웨어와 서비스를 실험해 볼 수 있는 즐거운 방법이기도 합니다.
-
독립성: Self-hosting을 통해 외부 제공자에 대한 의존도를 낮출 수 있습니다. 서비스 약관, 가격 변동 또는 잠재적인 서비스 중단에 휘둘리지 않습니다. 이러한 독립성은 핵심 기능에 온라인 환경을 활용하는 기업과 개인에게 매우 중요할 수 있습니다.
Capgo Cloud와 Capgo Self-Hosted의 차이점은 무엇인가요?
Capgo은 단 하나의 버전만 존재합니다. Cloud 제품과 Self-Hosted 제품은 완전히 동일합니다. 더 나은 기능이나 더 완전한 기능 세트를 갖춘 프리미엄 전용 상용 버전은 따로 없습니다.
두 방식 모두 동일한 dashboard, 동일한 실행 가능한 metrics, 그리고 동일한 방문자 개인정보 보호 원칙을 제공합니다.
저는 2018년 12월에 Capgo 개발을 시작했고, 2019년 5월에 SaaS 구독 비즈니스를 출시했습니다. 이 프로젝트는 현재 매우 활발하게 개발 및 성장 중이며, 견고하고 검증된 안정성을 갖추고 있습니다.
Capgo Cloud와 Capgo Self-Hosted의 차이점은 다음과 같습니다:
| 클라우드 | 셀프 호스팅 | |
|---|---|---|
| 호스팅 | 쉽고 편리합니다. 단 2분 만에 첫 업데이트를 전송할 수 있으며, 고가용성, 백업, 보안 및 유지보수까지 제가 모두 처리합니다. 제가 모든 것을 관리하므로 아무것도 걱정하실 필요가 없습니다. | 모든 것을 직접 관리해야 합니다. 서버를 준비하고 인프라를 직접 운영해야 합니다. 설치, 유지보수, 업그레이드, 서버 용량, 가동 시간, 백업, 보안, 안정성, 일관성, 로딩 시간 등을 모두 직접 책임져야 합니다. |
| 저장 공간 | 모든 방문자 데이터는 EU 소유의 클라우드 인프라에서만 처리됩니다. 사이트 데이터를 독일 내의 안전하고 암호화된 서버에 보관합니다. 이를 통해 사이트 데이터가 유럽 연합의 엄격한 데이터 개인정보 보호법에 의해 보호되며 GDPR을 준수하도록 보장합니다. 웹사이트 데이터는 절대 EU를 벗어나지 않습니다. | 완전한 제어권을 가집니다. 원하는 국가의 어떤 서버에서든 Capgo를 호스팅할 수 있습니다. 집 안의 서버에 호스팅하거나, GDPR을 준수하지 않는 곳을 포함하여 원하는 모든 클라우드 제공업체에 호스팅할 수 있습니다. |
| Raw 데이터 | 현대적이고 사용하기 쉬우며 로딩이 빠른 대시보드에서 사이트 통계와 메트릭을 확인할 수 있습니다. 대시보드에는 집계된 통계 데이터만 표시됩니다. | 데이터 분석가로서 Raw 데이터에 접근하고 싶으신가요? Capgo를 직접 호스팅하면 이 옵션을 사용할 수 있습니다. 데이터베이스에서 데이터를 직접 가져와 원하는 데이터 분석 도구로 가져오세요. |
| 비용 | 업데이트 서비스를 제공하는 데는 비용이 발생하므로 구독료를 청구합니다. | 서버 비용과 서버 운영에 필요한 비용만 지불하면 됩니다. Capgo에 별도의 수수료를 낼 필요 없이, 이용 중인 클라우드 제공업체에만 비용을 지불하세요. |
| 프리미엄 지원 | Capgo을 직접 빌드하고 관리하는 엔지니어가 제공하는 실질적인 지원을 경험하세요. | Premium support는 포함되어 있지 않습니다. Self-hosted 버전은 커뮤니티 지원만 제공됩니다. |
| 릴리스 | 매주 여러 차례 새로운 기능과 업데이트가 추가되며 지속적으로 개발 및 개선됩니다. | 연 2회 배포되는 장기 지원 버전(LTS)이므로, 클라우드에서 먼저 검증을 거친 최신 기능은 즉시 반영되지 않을 수 있습니다. |
Capgo 셀프 호스팅 방법
Capgo에서는 주로 Supabase를 사용합니다. 셀프 호스팅을 하려면 다음의 Supabase 셀프 호스팅 문서를 참고하세요..
자체 호스팅 capgo 환경에서 CLI 사용하기
셀프 호스팅된 capgo에서 CLI을 사용하려면, 앱 디렉토리의 capacitor.config.ts를 다음과 같이 수정하세요:
const config: CapacitorConfig = {
appId: 'com.demo.app',
appName: 'demoApp',
webDir: 'dist',
bundledWebRuntime: false,
plugins: {
CapacitorUpdater : {
localHost: "http://localhost:5173",
localWebHost: "http://localhost:5173",
localSupa: "http://localhost:54321",
localSupaAnon: "see_notes",
},
},
};
참고: localSupaAnon을 가져오려면 다음을 튜토리얼을 따라 anon key를 localSupaAnon에 복사하세요
자체 호스팅 capgo 환경에서 capacitor updater 사용하기
요구 사항
Cloned capgo
self-hosted capgo에서 capacitor updater를 사용하려면 capacitor.config.ts 앱 디렉토리에서 다음과 같이 설정하세요:
const config: CapacitorConfig = {
appId: 'com.demo.app',
appName: 'demoApp',
webDir: 'dist',
bundledWebRuntime: false,
plugins: {
CapacitorUpdater : {
statsUrl: "https://localhost:54321/functions/v1/stats",
channelUrl: "https://localhost:54321/functions/v1/channel_self",
updateUrl: "https://localhost:54321/functions/v1/updates"
},
},
};
이렇게 하면 개발 시 로컬 capgo를 사용할 수 있습니다. 하지만 기본 설정만으로는 부족합니다.
양쪽 OS에서 테스트하려면 HTTPS 설정이 반드시 필요합니다
결론
결론적으로, Capgo 셀프 호스팅은 이를 수행할 리소스와 전문 지식을 갖춘 조직에게 좋은 선택지가 될 수 있습니다. 업데이트 프로세스 제어, 보안 및 컴플라이언스 측면에서 다양한 이점을 제공합니다. 하지만 셀프 호스팅을 결정하기 전에 장단점을 신중하게 검토하는 것이 중요합니다.
만약 Capgo 셀프 호스팅을 고려 중이라면, 먼저 Capgo 셀프 호스팅 문서를 읽어보시는 것을 추천합니다. 이를 통해 셀프 호스팅에 필요한 요구 사항과 리스크를 충분히 파악할 수 있습니다.
Self hosted Capgo 계속 읽기
사용 중인 경우 Capgo 셀프 호스팅 CI/CD 자동화를 계획하려면, 이것을 연결하세요 Capgo CI/CD Capgo CI/CD의 제품 워크플로우를 위해, Capgo Native Build Capgo Native Builds의 제품 워크플로우를 위해, Capgo 연동 서비스 Capgo Integrations의 제품 워크플로우를 위해, CI/CD 통합 그리고 CI/CD Integration의 구현 세부 사항은, GitHub Actions 연동 구현 세부 사항은 GitHub Actions Integration을 참고하세요.