피드로 돌아가기
Deploying CapRover Self-Hosted PaaS for Docker Applications on Ubuntu 24.04
Dev.toDev.to
DevOps

Docker Swarm 기반 self-hosted PaaS 구축을 통한 배포 자동화

Deploying CapRover Self-Hosted PaaS for Docker Applications on Ubuntu 24.04

Sanskriti Harmukh2026년 6월 16일3intermediate

Context

클라우드 종속성을 제거하고 인프라 제어권을 확보하기 위한 self-hosted PaaS 환경 필요성 증대. 수동 Docker 배포 방식의 번거로움을 해결하고 표준화된 배포 파이프라인 구축이 요구됨.

Technical Solution

  • Docker Swarm 및 Nginx 기반의 오케스트레이션 구조를 통한 애플리케이션 생명주기 관리
  • Wildcard DNS A record 설정을 통한 서브도메인 기반의 자동 서비스 라우팅 체계 구축
  • Let's Encrypt 및 ACME challenge를 활용한 서비스별 HTTPS 인증서 자동 발급 및 갱신 로직 적용
  • /var/run/docker.sock 볼륨 마운트를 통한 호스트 Docker 엔진 제어 권한 확보 및 컨테이너 관리
  • Docker Compose를 활용한 CapRover 코어 서비스의 격리된 배포 및 환경 변수 기반 설정 관리
  • UFW 방화벽 설정을 통한 Swarm 클러스터 통신 포트(2377, 7946, 4789) 및 HTTP/S 트래픽 제어

1. ACME challenge 성공을 위해 Cloudflare Proxy(Orange-cloud) 비활성화 여부 확인

2. Docker Swarm 클러스터 구성을 위한 필수 네트워크 포트(TCP/UDP) 개방 상태 검증

3. 초기 설정 완료 후 보안 강화를 위한 관리 포트(3000) 즉시 폐쇄 및 패스워드 변경 수행

4. 서비스 확장성을 고려한 Wildcard DNS 레코드 사전 구성

원문 읽기