피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Docker Compose 기반 Cal.com 자가 호스팅 및 Traefik HTTPS 자동화 구축
Deploying Cal.com Open-Source Calendly Alternative on Ubuntu 24.04
AI 요약
Context
기존 SaaS형 스케줄링 서비스의 데이터 통제권 부재 및 인프라 종속성 문제를 해결하기 위한 Self-hosted 대안 탐색. 인프라 제어권을 확보하면서도 보안 연결성과 데이터 무결성을 보장하는 배포 구조 설계가 필요함.
Technical Solution
- PostgreSQL 15 도입을 통한 스케줄링 데이터의 관계형 저장 및 트랜잭션 일관성 확보
- Traefik v3.6 Reverse Proxy 배포를 통한 L7 레이어 트래픽 제어 및 ACME 프로토콜 기반 HTTPS 자동 인증서 갱신
- Docker Compose 기반의 서비스 오케스트레이션으로 Application, Database, Proxy 간의 네트워크 격리 및 의존성 관리
- NEXTAUTH_SECRET 및 CALENDSO_ENCRYPTION_KEY의 환경 변수 분리를 통한 런타임 보안 강화
- Let's Encrypt HTTP-01 Challenge 방식을 활용한 도메인 기반의 자동 SSL/TLS 암호화 통신 구현
실천 포인트
- Self-hosted 솔루션 도입 시 .env 파일 내 시크릿 키의 무작위 생성 및 외부 저장소 관리 여부 검토 - Traefik의 Docker Provider 설정을 통한 서비스 추가 시 자동 라우팅 설정 최적화 - PostgreSQL 데이터 볼륨의 외부 마운트를 통한 컨테이너 생명주기와 무관한 데이터 영속성 확보 - Internal URL과 Public URL의 명확한 구분을 통한 네트워크 내부 통신 효율화