Docker, Swarm, Podman, Kubernetes, ACI 컨테이너 환경을 관리하는 가벼운 웹 UI입니다.
sablierapp/sablier
요청이 들어오면 컨테이너와 기타 워크로드를 시작하고, 일정 시간 동안 활동이 없으면 중지하며, 리버스 프록시와 연동합니다.
- 스타
- 3,116
- 포크
- 106
- 열린 이슈
- 68
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
Sablier는 요청이 들어오면 대기 중인 워크로드를 시작하고, 설정 가능한 시간 동안 활동이 없으면 종료하는 셀프 호스팅 서버입니다. Docker, Docker Swarm, Podman, Kubernetes, Proxmox LXC, systemd를 프로바이더로 지원하므로 다양한 컨테이너 런타임과 호스트에서 같은 방식으로 사용할 수 있습니다.
Sablier는 보통 Traefik, Caddy, Nginx, Envoy, Apache APISIX 또는 Istio용 리버스 프록시 플러그인과 함께 사용합니다. 플러그인은 들어오는 요청을 가로채 Sablier API를 호출해 대상 서비스를 깨우고, 서비스가 준비될 때까지 대기 페이지를 표시합니다. 세션에는 연결을 유지하는 블로킹 전략이나 테마가 적용된 로딩 페이지를 제공하는 동적 전략을 사용할 수 있습니다.
워크로드를 중지하는 것 외에도 Sablier는 스케일 모드에서 워크로드를 중지하는 대신 CPU, 메모리, 블록 I/O를 제한할 수 있으며, 안티 어피니티를 통해 한 그룹이 다른 그룹에 리소스를 양보하도록 할 수도 있습니다. 시작 및 중지 이벤트를 위한 웹훅, Prometheus 메트릭, OpenTelemetry 트레이싱도 제공합니다.
핵심 기능
- 01Docker, Swarm, Podman, Kubernetes, Proxmox LXC, systemd 워크로드를 필요할 때 시작하고 중지합니다.
- 02프록시 플러그인을 통해 Traefik, Caddy, Nginx, Envoy, Apache APISIX, Istio와 연동합니다.
- 03워크로드가 준비되는 동안 테마를 적용할 수 있는 맞춤형 대기 페이지를 표시합니다.
- 04스케일 모드에서는 컨테이너를 중지하는 대신 유휴 상태일 때 CPU와 메모리 사용량을 제한합니다.
- 05인스턴스 시작 및 중지 시 웹훅 알림을 보냅니다.
- 06Prometheus 메트릭과 OpenTelemetry 트레이스를 제공합니다.
활용 사례
- Raspberry Pi에서 서비스를 실행하고, 거의 사용하지 않는 앱은 누군가 방문할 때까지 중지해 둘 수 있습니다.
- 가끔만 사용하는 QA 또는 스테이징 환경이 리소스를 계속 소비하지 않도록 할 수 있습니다.
- 유휴 Kubernetes 배포를 0개로 스케일링해 클라우드 비용을 절감할 수 있습니다.
- GPU를 많이 사용하는 서비스가 사용 중인 다른 서비스에 메모리를 양보하도록 할 수 있습니다.
빠른 시작
- 1
Docker로 Sablier 서버를 실행합니다(README에서 compose.yaml을 복사).
docker run --name sablier -p 10000:10000 -v /var/run/docker.sock:/var/run/docker.sock sablierapp/sablier:1.10.5 start --provider.name=docker - 2
Sablier 라벨이 지정된 데모 컨테이너를 시작합니다.
docker run -d --health-cmd "/mimic healthcheck" -p 8080:80 --name mimic --label sablier.enable=true --label sablier.group=demo sablierapp/mimic:v0.3.3 -running -running-after=5s -healthy=true -healthy-after=5s - 3
Sablier API를 통해 데모 그룹의 세션을 요청합니다.
curl -v http://localhost:10000/api/strategies/blocking\?group\=demo\&session_duration\=20s
사용 전 알아둘 점
- 워크로드를 관리하려면 Docker socket, Kubernetes API, Podman 또는 Proxmox 환경이 필요합니다.
- 안정적으로 0까지 스케일 다운하려면 컨테이너에 healthcheck를 정의해야 합니다.
- 네트워크 사용 의무가 적용되는 카피레프트 라이선스인 AGPL-3.0에 따라 라이선스가 부여됩니다.
포함된 컬렉션
토픽
자주 묻는 질문
- sablier은(는) 무엇인가요?
- 요청이 들어오면 컨테이너와 기타 워크로드를 시작하고, 일정 시간 동안 활동이 없으면 중지하며, 리버스 프록시와 연동합니다. Sablier는 요청이 들어오면 대기 중인 워크로드를 시작하고, 설정 가능한 시간 동안 활동이 없으면 종료하는 셀프 호스팅 서버입니다. Docker, Docker Swarm, Podman, Kubernetes, Proxmox LXC, systemd를 프로바이더로 지원하므로 다양한 컨테이너 런타임과 호스트에서 같은 방식으로 사용할 수 있습니다.
- sablier은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- sablier은(는) AGPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- sablier은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. sablier의 마지막 커밋은 2026년 11월 6일입니다.
- sablier은(는) 어디에 사용할 수 있나요?
- Raspberry Pi에서 서비스를 실행하고, 거의 사용하지 않는 앱은 누군가 방문할 때까지 중지해 둘 수 있습니다. 가끔만 사용하는 QA 또는 스테이징 환경이 리소스를 계속 소비하지 않도록 할 수 있습니다. 유휴 Kubernetes 배포를 0개로 스케일링해 클라우드 비용을 절감할 수 있습니다. GPU를 많이 사용하는 서비스가 사용 중인 다른 서비스에 메모리를 양보하도록 할 수 있습니다.
- sablier는 어떻게 설치하나요?
- Docker로 Sablier 서버를 실행합니다(README에서 compose.yaml을 복사).: docker run --name sablier -p 10000:10000 -v /var/run/docker.sock:/var/run/docker.sock sablierapp/sablier:1.10.5 start --provider.name=docker Sablier 라벨이 지정된 데모 컨테이너를 시작합니다.: docker run -d --health-cmd "/mimic healthcheck" -p 8080:80 --name mimic --label sablier.enable=true --label sablier.group=demo sablierapp/mimic:v0.3.3 -running -running-after=5s -healthy=true -healthy-after=5s Sablier API를 통해 데모 그룹의 세션을 요청합니다.: curl -v http://localhost:10000/api/strategies/blocking\?group\=demo\&session_duration\=20s
- sablier은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/sablierapp/sablier
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
여러 호스트의 컨테이너 웹 UI를 열고, 로그와 포트를 확인하고, 이미지 업데이트를 점검할 수 있는 경량 셀프 호스팅 Docker 대시보드입니다.
YAML을 직접 수정하지 않고 Traefik 리버스 프록시의 라우트, 미들웨어, 서비스, 인증서와 로그를 관리하는 셀프 호스팅 웹 UI입니다.
홈랩용 Docker 및 Docker Compose 환경을 자동으로 구성하는 도구로, 사전 설정된 셀프 호스팅 앱 160개 이상과 내장 리버스 프록시 및 인증 옵션을 제공합니다.
Traefik을 통해 라우팅되는 서비스를 자동으로 찾아 표시하는 현대적인 동적 대시보드입니다.
Docker와 Podman 컨테이너의 경로를 자동으로 설정하고 Let's Encrypt 인증서, SSO, 유휴 절전 기능을 제공하는 WebUI 기반 경량 리버스 프록시입니다.