RunWisp: SSH 없이 서비스 모니터링 및 재시작, 크론 작업 실행 가능
요약
RunWisp는 TOML 파일 기반의 단일 Go 바이너리로, SSH 접속 없이도 크론 작업 및 서비스 모니터링을 가능하게 합니다. 웹 UI와 TUI를 통해 작업 실행 이력과 로그를 직관적으로 확인하며, 기존 crontab이나 supervisord 설정을 가져올 수 있습니다.
핵심 포인트
- SSH 없이 간편한 서비스 모니터링 및 재시작 제공
- TOML 파일 기반의 단일 소스 진실(Single Source of Truth) 유지
- 웹 UI/TUI를 통해 작업 실행 이력과 로그 확인 가능
- 기존 crontab 등 설정 가져오기 기능 지원
r/selfhosted에 계신 분들께 인사드립니다. 저는 Richard입니다. 거의 1년 동안 RunWisp를 개발해 왔고, 마침내 여기에 보여드릴 수 있는 상태가 되었다고 생각합니다.
RunWisp는 직관적인 TOML 파일에서 크론 작업과 서비스를 실행하는 단일 Go 바이너리이며, 무엇이 언제 실행되었는지, 종료 코드와 출력된 모든 내용을 볼 수 있는 웹 UI를 제공합니다. SSH 환경에 계신 분들을 위한 TUI(Text User Interface)도 있고, 자동화를 위한 CLI(Command Line Interface)도 있습니다.
이 프로젝트는 제가 일했던 여러 회사에서 시작되었습니다. 저희의 스크립트들은 한 서버의 crontab에 존재했고, 개발자 운영(devops) 담당자가 모든 것의 핵심 인물이었습니다. 누군가 가져오기(import) 작업을 다시 실행하거나 어젯밤 작업 실패 이유를 확인하고 싶으면 SSH로 접속하여 직접 실행한 후 로그를 Slack에 붙여넣어야 했습니다. 이제는 작업들이 git에 있는 TOML 파일에 담겨 있고, 사람들은 UI를 열고 '실행' 버튼을 누른 다음 출력을 지켜보기만 하면 됩니다. 이 UI는 작업을 트리거하고 중지할 수는 있지만, 편집은 할 수 없으므로 설정 파일이 유일한 진실의 원천(single source of truth)으로 유지됩니다.
저는 이것을 집의 Orange Pi에 설치했고, 솔직히 지금 가장 많이 사용하는 곳입니다. 이 장치가 제 Docker 서비스와 백업 작업을 돌봐주고, 무언가 고장 나면 박스 안을 뒤지기보다 휴대폰으로 출력 내용을 바로 확인할 수 있습니다.
여러분들이 관심을 가질 만한 몇 가지 기능이 있습니다:
- 단일 바이너리이며, SQLite가 내장되어 있고 UI도 내장되어 있습니다. 옆에서 실행할 데이터베이스나 추가 컨테이너가 필요 없습니다.
- 원한다면 Docker 이미지(runwisp/runwisp)를 사용할 수 있습니다.
- ARM에서도 잘 작동하며, 몇 달 동안 제 Orange Pi에 올라와 있었습니다.
- 완전히 오프라인으로도 작동합니다. 기본적으로 새 버전을 확인하지만,
check_updates = false로 비활성화할 수 있습니다. - 겹치는 실행(overlapping runs), 재시도(retries), 장치가 다운된 동안 놓친 작업들, 충돌 복구(crash recovery), 디스크에 느리게 차는 로그 같은 지루한 일들을 처리해 줍니다.
runwisp import를 사용하면 기존 crontab이나 supervisord 설정을 가져올 수 있어 모든 것을 손으로 다시 작성할 필요가 없습니다.- GPL-3.0 라이선스로, 오픈 소스입니다.
아무것도 건드리지 않고 사용해 보려면 bunx runwisp demo를 실행하면 샘플 작업이 있는 임시 /tmp 인스턴스가 시작됩니다. 이 장치는 워크플로우 엔진도 아니고 클러스터링 기능도 없습니다.
인스턴스당 비밀번호가 하나만 있어 사용자 계정이 없으므로 Tailscale이나 VPN 뒤에 두는 것이 가장 좋습니다. Linux, macOS 및 WSL에서 실행됩니다.
저는 2011년부터 소프트웨어를 작성해 왔습니다. 저는 아키텍처와 코드 패턴을 설계하고 그에 맞춰 모든 변경 사항을 검토했으며, AI 코딩 에이전트가 구현의 큰 부분을 담당했습니다. 이 서브레딧에서는 이 주제에 대해 질문하는 경우가 많으니 미리 말씀드리는 것이 좋겠다고 생각했습니다.
문서 및 설치는 https://runwisp.com 에서 확인하실 수 있습니다.
GitHub 저장소는 https://github.com/runwisp/runwisp 에 있습니다.
어떤 점이 혼란스러운지, 또는 무엇이 여러분이 이 서비스로 전환하는 것을 막을 것 같은지 듣고 싶습니다. 아니면 혹시 빠져있다고 생각하는 기능도 좋습니다.
제출자: /u/riki137
[링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/SelfHosted (AI filter)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기