Finsys/hawser

The agent for Dockhand

해결하는 문제

Docker 호스트가 NAT 뒤에 있거나, 동적 IP를 가지거나, 중앙 관리 도구에서 직접 연결할 수 없는 경우 원격으로 관리하기 어려울 수 있습니다. Hawser는 각 Docker 호스트에서 작은 에이전트 역할을 하여 네트워크 설정에 관계없이 Dockhand(중앙 관리 플랫폼)가 해당 호스트와 안전하게 통신할 수 있도록 함으로써 이 문제를 해결합니다.

작동 방식

Hawser는 Docker 호스트에서 실행되는 경량 Go 프로그램입니다. 로컬 Docker API에 대한 전체 액세스를 제공하며 Docker Compose 작업도 처리할 수 있습니다. 두 가지 모드로 작동합니다:

  • 표준 모드: 에이전트는 Dockhand로부터의 수신 연결을 수신합니다. 이는 LAN 또는 고정 IP가 있는 호스트에 가장 적합합니다.
  • 엣지 모드: 에이전트는 Dockhand로 아웃바운드 WebSocket 연결을 시작합니다. 이는 VPS, NAT 네트워크 또는 동적 IP가 있는 호스트에 적합합니다. 호스트가 인터넷에서 연결 가능할 필요가 없기 때문입니다.

두 모드 모두에서 Hawser는 인증을 위해 토큰이 필요합니다(localhost에 바인딩하지 않는 한). 또한 연결을 보호하기 위한 선택적 TLS 암호화를 지원합니다. Hawser는 호스트 메트릭(CPU, 메모리, 디스크, 네트워크)을 수집하고 엣지 모드에서 30초마다 Dockhand로 전송합니다. 지수 백오프와 무작위 지터가 포함된 자동 재연결 기능이 있어 여러 에이전트가 재시작 후 서버에 과부하를 주지 않습니다.

대상 사용자

Dockhand를 사용하여 여러 Docker 호스트(홈 랩, 클라우드 VPS, NAS 또는 엣지 디바이스)를 관리하는 관리자와 개발자로, 특히 호스트가 NAT 뒤에 있거나 IP가 변경되는 경우 원격으로 안정적이고 안전하게 액세스해야 하는 사람들을 위한 것입니다.

주요 기능

  • 다양한 네트워크 설정을 지원하는 두 가지 모드: 표준(수신) 및 엣지(아웃바운드 WebSocket).
  • 전체 Docker API 프록시: 컨테이너, 이미지, 볼륨, 네트워크, 로그 및 대화형 exec 세션 관리.
  • up, down, pull, ps 및 logs와 같은 스택 작업을 위한 Docker Compose 지원.
  • 호스트 메트릭 수집(CPU, 메모리, 디스크, 네트워크)을 Dockhand에 보고.
  • 견고한 연결을 위한 지수 백오프 및 지터가 포함된 자동 재연결.
  • 보안을 위한 토큰 인증 및 선택적 TLS.
  • Docker 연결을 확인하기 위한 내장 상태 확인 엔드포인트.
  • systemd 서비스 또는 Docker 컨테이너로 배포 가능하며 다중 아키텍처(amd64 및 arm64)를 지원합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트