Dockmesh – 여러 호스트에 걸친 Docker Compose용 자체 호스팅 UI를 구축했습니다 (단일 바이너리, 유료 등급 없음)
요약
Dockmesh는 여러 호스트에 걸쳐 Docker Compose 스택을 관리하기 위해 개발된 자체 호스팅 웹 UI입니다. 일반적인 compose.yaml 파일을 유지하면서 배포, 롤백, 이미지 업데이트 등을 중앙에서 관리할 수 있습니다. SSO, S3 등 다양한 백업 옵션과 취약점 스캔 기능까지 제공하며 모든 것이 오픈 소스로 공개되었습니다.
핵심 포인트
- 여러 호스트에 걸친 Docker Compose 스택을 통합 관리하는 웹 UI입니다.
- 일반 compose.yaml 파일을 유지할 수 있으며 Git 기반 배포 및 관리가 가능합니다.
- SSO(OIDC, SAML 등)와 2FA를 지원하며, 역할별 접근 제어 기능을 제공합니다.
- S3, WebDAV 등 다양한 백업 옵션과 Grype를 사용한 취약점 스캔을 지원합니다.
- 유료 등급이나 별도 에디션 없이 모든 기능이 오픈 소스(AGPL-3.0)입니다.
안녕하세요 r/selfhosted 여러분. 저는 몇 년 동안 집에서 몇 대의 머신에 걸쳐 Docker Compose를 실행해 왔습니다. 그 시간 동안 여러 관리 UI를 시도했지만, 원하는 대로 작동하는 것을 찾지 못했습니다. 어떤 것은 제 작업 흐름(workflow)과 맞지 않았고, 다른 것들은 SSO, 다중 호스트 또는 백업 같은 기능을 유료 등급 뒤에 숨겨두는 경우가 있었습니다. 결국 저는 직접 만들기로 결정했습니다. 이름은 Dockmesh이며, 방금 버전 0.5.1을 출시했습니다.
Dockmesh가 어떻게 작동하는지 간략히 설명드리자면, Dockmesh는 여러 호스트에 걸쳐 Docker Compose 스택을 관리하기 위한 웹 UI입니다. 제가 처음부터 유지하고 싶었던 한 가지 기능은 일반적인 Compose 파일로 작업할 수 있는 능력입니다. 사용자의 스택은 디스크에 평범한 compose.yaml 파일로 남아 있습니다. 이 파일을 수동으로 편집하거나, Git에 보관하거나, Dockmesh를 거치지 않고도 docker compose를 직접 사용할 수 있습니다. 서버는 UI가 내장된 단일 Go 바이너리입니다. 다른 호스트들은 작은 에이전트(agent)를 실행하며, 이를 통해 mTLS를 사용하여 서버로 아웃바운드 연결을 합니다. 따라서 모든 머신에 인바운드 포트를 열 필요가 없습니다.
현재 할 수 있는 기능들:
- 배포, 롤백, Git 기반 배포 및 스택 간 호스트 이동을 포함하여 호스트 전반의 Compose 스택 관리
- 이미지 업데이트 확인, 적용 및 필요한 경우 롤백
- 나이 암호화(age encryption)와 로컬 저장소, SMB, SFTP, WebDAV, S3를 지원하는 볼륨, 스택 및 Dockmesh 자체 백업
- 범위가 지정된 역할(scoped roles), SSO (OIDC, SAML, LDAP, OAuth2) 및 2FA를 통해 사용자 관리
- 컨테이너, 호스트, 디스크, 백업 및 인증서에 대한 경고 알림 전송
- Grype를 사용하여 취약점 스캔 실행
- Caddy를 통한 리버스 프록시 및 HTTPS 처리 옵션 제공
또한 해시 체인 감사 로그(hash-chained audit log), UI를 통한 에이전트 업데이트 등 몇 가지 다른 기능도 있습니다. 이 UI는 영어와 독일어로 제공됩니다. 모든 것은 오픈 소스(AGPL-3.0)입니다. 유료 등급이나 별도의 에디션은 없습니다.
시작하기:
설치하는 가장 쉬운 방법은 다음과 같습니다:
curl -fsSL https://get.dockmesh.dev | sudo bash
이 설치 프로그램은 amd64/arm64를 감지하고, 체크섬을 확인하며, systemd 서비스를 설정합니다.
실행하기 전에 스크립트를 검토하고 싶어 하는 분들을 위해(이해할 만하게), 해당 코드는 저장소에서 확인할 수 있습니다. 또한 수동 설치 가이드도 제공됩니다. 언급할 몇 가지 사항이 있습니다. 이 프로젝트는 아직 1.0 이전 버전이라서, 분명히 더 많은 작업이 필요합니다. 저는 서버/에이전트 업그레이드, 구 버전 업그레이드, 백업 대상 및 SSO(Single Sign-On) 로그인 기능을 포함하여 실험용 VM(Virtual Machine)에서 릴리스를 테스트한 후 배포합니다. 현재는 초기 서버 및 호스트 설정을 브라우저 내에서 구현하고, 인앱(in-app) 업데이트 기능도 추가하는 작업을 진행 중입니다. 또한 AI 사용에 대해서도 솔직하게 말씀드리고 싶습니다. 코드의 일부는 AI의 도움을 받아 작성되었습니다. 저는 배포하기 전에 변경 사항을 검토하고 테스트합니다. Dockmesh는 주로 몇 대에서 수십 대까지의 Docker 호스트를 운영하는 홈랩(homelab) 및 소규모 팀을 위해 구축되었습니다. Kubernetes를 대체하려는 목적은 아닙니다. 특히 여러 머신에 걸쳐 Compose 스택을 이미 관리하고 계신 분들의 의견이 궁금합니다. 현재 사용하시는 환경에서, 만약 이 도구로 전환한다면 어떤 기능이 그리울 것 같으신가요? 저장소(Repo): https://github.com/Dockmesh/dockmesh 문서(Docs): https://dockmesh.dev Processing img h6h44imxvlzh1... Processing img cydohraowlzh1... submitted by /u/BlinkMSP [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/SelfHosted (AI filter)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기