셀프 호스팅 · 내 하드웨어에서 실행
Docker 명령 한 줄

내 하드웨어를 브라우저 하나로 제어합니다.

Jetson, Raspberry Pi, 로컬 서버를 브라우저 기반 제어 스테이션으로 바꿉니다. 프론트엔드를 직접 만들지 않고도 실시간 영상, 컨트롤, 텔레메트리를 추가할 수 있습니다.

작동 방식 보기
JetsonRaspberry PiROS2MQTTWebSocketREST API실시간 영상PWADocker 지원
flintbay.local / tracked-robot
온라인
Flintbay 원격 조종 페이지: 실시간 카메라, 창고 평면도, 게이지, 비상 정지 버튼, 차량 목록 표

장비에 꼭 맞는 제어 스테이션을 만드세요

카메라, 조이스틱, 버튼, 배터리 상태로 시작하세요. 6개 카테고리, 42개의 재사용 가능한 위젯 중에서 운영자에게 필요한 것만 추가하면 됩니다.

실시간 로버 텔레메트리로 동작 중인 Flintbay 컨트롤 위젯

컨트롤

운영자의 반복 조작에 맞게 설계된 컨트롤로 하드웨어를 구동하고, 전환하고, 조정합니다. 모두 14종이며, 각각 상태를 쓰는 것뿐 아니라 읽을 수도 있습니다.

ButtonToggle ButtonToggle SwitchSliderKnobDropdownSelect ButtonRadio GroupNumber InputText InputColour PickerDirection PadJoystickEmergency Stop

로봇은 이미 잘 동작합니다. 제어 앱을 또 만들 필요가 있을까요?

조이스틱과 영상 플레이어는 프로토타입으로 금방 만들 수 있습니다. 하지만 재연결을 처리하고, 상태를 동기화하고, 장시간 세션을 견디고, 접근을 보호하며, 여러 기기에서 동작하는 제어 스테이션은 그 자체로 별개의 소프트웨어 프로젝트입니다.

Flintbay는 이 재사용 가능한 계층을 하나로 묶어 제공합니다. 장비와 그 로직은 여러분이 만들고, 브라우저 제어 화면은 Flintbay가 맡습니다.

왜 로컬에서 실행할까요?

빠른 응답

제어 경로를 장비 가까이에 둡니다.

프라이버시

텔레메트리가 직접 관리하는 인프라 안에 머무릅니다.

가용성

로컬 제어 스테이션은 인터넷 연결이 필요 없습니다.

따로 유지보수해야 하는 프론트엔드
여러 도구에 흩어진 영상, 컨트롤, 텔레메트리
재연결과 오래된 상태에서 생기는 엣지 케이스
처음부터 직접 구현하는 인증
특정 장비에 묶인 레이아웃
로컬 하드웨어인데도 클라우드에 의존

엔드포인트에서 시작해 동작하는 조종 화면까지

Jetson, Raspberry Pi, 노트북, 서버에서 Flintbay를 실행하세요. ROS2, MQTT, REST, WebSocket을 연결한 다음, 프론트엔드 코드 없이 실시간 영상, 컨트롤, 텔레메트리를 배치하세요.

여러분이 준비할 것:

  • 로봇, 테스트 벤치 또는 연결된 장치
  • ROS2, MQTT, REST, WebSocket 엔드포인트
  • 카메라와 텔레메트리 소스

Flintbay가 제공하는 것:

  • 실시간 미디어 위젯
  • 조이스틱과 D-Pad
  • 버튼과 설정값
  • 게이지와 차트
  • 변환과 바인딩
  • 명령 피드백
  • 사용자, 역할, 감사 로그
  • 저장되는 장치별 레이아웃

세 단계, 빌드 파이프라인 없이

데이터가 있는 곳을 지정하고, 운영자에게 필요한 위젯을 배치하고, 포트를 연결합니다. 그동안 대시보드는 계속 실시간으로 동작하며, 컴파일하거나 배포할 것은 없습니다.

  1. 1

    소스를 정의합니다

    Flintbay 소스 편집기: MQTT 브로커의 이름, 프로토콜, 호스트, 포트

    호스트, 포트, 그리고 사용하는 프로토콜. REST, MQTT, ROS 2, WebSocket, 미디어 스트림 중 무엇이든, 양식이 프로토콜별로 필요한 항목을 입력란에서 바로 안내합니다.

  2. 2

    위젯을 배치합니다

    실시간 대시보드 위에 열린 Flintbay 위젯 팔레트. 텔레메트리 위젯과 컨트롤 위젯이 보입니다

    6개 카테고리, 42개의 위젯을 팔레트에서 미리 볼 수 있습니다. 페이지 위에서 작업하는 동안에도 그 아래 페이지는 계속 동작합니다.

  3. 3

    포트를 연결합니다

    위젯의 타입 지정 포트와 그 포트에 값을 공급하는 엔드포인트를 나란히 보여 주는 연결 스튜디오

    모든 위젯은 타입이 지정된 포트를 제공합니다. 포트를 페이로드 경로에 지정하면 바로 바인딩되며, 연결 스튜디오에서 어떤 포트가 값을 받고 있고 어떤 포트가 아직 대기 중인지 확인할 수 있습니다.

각 단계는 MCP 도구로도 제공되므로, AI 어시스턴트가 장비에 대한 설명만으로 같은 작업을 수행할 수 있습니다.

손에 잡히는 하드웨어를 위해 만들었습니다

로봇 조종 화면부터 시작하세요. 같은 제어 화면을 테스트 벤치, 연구실, API가 있는 모든 로컬 장치에 그대로 재사용할 수 있습니다.

로봇 개발자

실시간 영상, 조이스틱, 주행 컨트롤, 배터리, 연결 상태를 하나의 브라우저 화면에 담습니다.

R&D 및 테스트 벤치

일회용 UI를 또 만드는 대신, 액추에이터, 센서, 카메라, 설정값을 위한 재사용 가능한 패널을 만듭니다.

메이커와 로보틱스 연구실

TurtleBot, 로버, Jetson 프로젝트에 노트북, 태블릿, 스마트폰에서 열리는 제어 스테이션을 제공합니다.

연결된 하드웨어

같은 위젯으로 조명, 관개 시설, 직접 만든 자동화 장치 등 API로 노출된 것이라면 무엇이든 제어할 수 있습니다.

컨트롤, 미디어, 텔레메트리를 한곳에

장비를 중심으로 운영자 화면을 구성합니다. 인터랙티브 컨트롤, 실시간 미디어, 현재 상태, 이력, 구조화된 데이터를 한 페이지에 담을 수 있습니다.

실시간 카메라, 평면도, 게이지, 비상 정지 버튼, 차량 목록 표가 나란히 배치된 Flintbay 페이지

프로토콜에 구애받지 않는 위젯

선언적 바인딩으로 MQTT, REST, WebSocket, ROS2를 연결합니다. 전송 방식이나 페이로드가 바뀌어도 레이아웃은 그대로 유지됩니다.

하나의 로버를 REST, MQTT, ROS 2, WebSocket으로 동시에 네 번 실시간 표시한 화면

애플리케이션 기반 기능 기본 포함

인증, 워크스페이스 역할, 계정 관리, 감사 로그와 시스템 로그, 재연결 처리, 명령 모드, 상태 동기화는 플랫폼에 이미 포함되어 있습니다. 로봇을 만들 때마다 새로 쌓이는 백로그가 아닙니다.

Flintbay 연결 로그: 레벨, 카테고리, 소스별 컨텍스트, 발생 횟수, 오류 유형

MCP를 통한 AI 지원 설정

지원되는 AI 클라이언트를 연결하면, 생성된 프론트엔드 코드를 고치는 대신 구조화된 도구로 소스, 엔드포인트, 위젯, 바인딩을 만들 수 있습니다.

연결된 소스 다섯 개와 그 엔드포인트, 그리고 이들이 공급하는 위젯을 보여 주는 연결 스튜디오

열두 개의 패널, 하나의 제품

아래 화면은 모두 Flintbay로 만들고 실제로 동작하는 상태에서 캡처한 것입니다. 목업도 없고, 이름만 바꾼 화면도 없습니다. 각 화면은 저마다의 시뮬레이션 현장 데이터를 읽기 때문에, 냉각기는 온도를, 스핀들은 부하율을 표시합니다.

Flintbay 패널: Warehouse 4 · AGV fleet

Warehouse 4 · AGV fleet

REST · 로버 시뮬레이터

한 층에서 움직이는 로봇 여덟 대의 실시간 위치, 충전 중인 로봇, 처리량이 몰리는 통로를 평면도에 보여 줍니다. 지도 배경은 엔드포인트가 제공하는 이미지이므로, 새 현장에는 이미지 파일 하나만 있으면 됩니다.

MapData TableBar ChartAlarm ListTimelineValue Display
대시보드 너머

누구도 두 번 만들고 싶지 않은 부분

제어 스테이션은 위젯만으로 끝나지 않습니다. 계정, 역할, 자동화용 키, 감사 기록, 그리고 “이 소스는 왜 아무것도 안 보내지?”에 답해 주는 로그가 기본으로 들어 있습니다. 아래 각 패널은 기능 목록이 아니라 실제로 동작하는 제품을 캡처한 것입니다.

계정 네 개와 각 계정의 역할 선택 드롭다운이 있는 Flintbay 워크스페이스 멤버 패널

멤버십은 배포 전체가 아니라 워크스페이스 단위로 정합니다

같은 계정이 창고 현장은 운영하고 테스트 벤치는 보기만 할 수 있습니다. 플랫폼에는 admin, editor, operator, viewer 네 가지 역할이 기본 제공되며, 워크스페이스 소유자가 관리자를 거치지 않고 이 패널에서 직접 역할을 바꿀 수 있습니다.

제어 스테이션을 직접 살펴보세요

라이브 인스턴스에서 나만의 워크스페이스가 포함된 계정을 받으세요. 데모 설정 과정에서 시뮬레이션 로버 한 대의 텔레메트리, 영상, 오디오를 포함한 실시간 소스와 엔드포인트 추가를 시도합니다. 프로비저닝이 항상 완전히 성공하는 것은 아니므로, 실제로 추가된 항목은 활성화 화면에 표시됩니다. 그다음 아무것도 설치하지 않은 채 위젯을 추가하고 연결 스튜디오에서 연결해 보세요. 필요한 것은 이메일, 비밀번호, 활성화 링크 하나뿐입니다.

Flintbay 편집 모드: 실시간 데이터를 계속 받고 있는 대시보드 위에 점선 배치 그리드가 표시된 화면

예고 없이 초기화될 수 있는 공개 인스턴스입니다. 여기서 만든 것은 임시로 간주하고, 실제로 쓰는 비밀번호는 재사용하지 마세요.

배포

제어 스테이션을 장비 곁에 두세요

Flintbay는 웹 앱, API, PostgreSQL, Redis를 담은 하나의 Docker 이미지로 제공됩니다. 로봇의 Jetson, Raspberry Pi, 노트북, 가까운 서버에서 실행하면 하드웨어가 준비될 때마다 인터페이스도 준비됩니다.

엣지 대응

AMD64와 ARM64 이미지로 서버, 노트북, Jetson, Raspberry Pi를 모두 지원합니다.

기본적으로 영구 저장

저장한 레이아웃과 설정은 컨테이너 재시작과 이미지 업데이트 후에도 유지됩니다.

로컬 우선

제어 트래픽과 텔레메트리를 하드웨어와 같은 네트워크 안에 둘 수 있습니다.

애플리케이션 보안 기본 포함

인증, 세션, 워크스페이스 역할, 요청 제한, 감사 로그가 이미 스택에 포함되어 있습니다.

GitHub의 전체 설치 가이드
docker-compose.yml
# 하드웨어 옆에서 제어 스테이션 실행
services:
flintbay:
image: ghcr.io/flintbayhq/flintbay:0.1.7
ports:
- "19580:19580"
- "8189:8189/udp" # 실시간 영상
- "8189:8189/tcp"
environment:
FLINTBAY_PUBLIC_URL: http://localhost:19580
volumes:
- flintbay_data:/var/lib/flintbay
restart: unless-stopped
volumes:
flintbay_data:
$ docker compose up -d
✔ 제어 스테이션 준비 완료 :19580

0.1.7 버전이 현재 릴리스입니다. :latest 태그는 항상 최신 안정 버전을 따라갑니다. 프로덕션에서는 이처럼 버전을 고정해 두어야 업그레이드 시점을 직접 정할 수 있습니다.

릴리스

무엇이 출시되었고, 어떤 이미지인지

모든 릴리스는 AMD64와 ARM64를 함께 지원하는 하나의 이미지입니다. 그 인덱스 다이제스트에 cosign으로 서명하므로, 빌드를 식별하는 것은 태그가 아니라 다이제스트입니다. 실행 중인 배포는 이 목록을 똑같이 읽어 로컬에서 자신의 버전과 비교할 뿐이며, 배포에 관한 정보는 어디로도 전송되지 않습니다.

0.1.7

현재보안

아래 릴리스 노트는 영어로 게시됩니다.

  • Refresh tokens can no longer be raced, and a signed-in request is tied to its session's account rather than to a username.
  • API key rotation keeps exact scopes and lifetime, and rotating the JWT secret no longer breaks keys or signs everyone out.
  • The joystick can drive a ROS 2 robot directly through its new twist port, and lowpass now actually smooths.
전체 릴리스 노트 sha256:334a697773dca690d30f5d7a2722736e03b18f5f3b7cc1b37db3e29637f91bd3
전체 릴리스:

이전 릴리스와 각 변경의 배경은 변경 로그에서 확인할 수 있습니다.

개발자 한 명, 그리고 계속 쓸 수 있는 프로젝트

Flintbay는 우크라이나의 개발자 Andrii가 독립적으로 만들고 있습니다. 수많은 물리 스위치와 조작 장치를 브라우저 속 카메라, 조이스틱, 버튼, 텔레메트리로 대체하려는 데서 시작했습니다. 지금은 Jetson에서 실제 하드웨어와 함께 돌아가고 있으며, 다음 장비를 만들 때 제어 앱을 처음부터 다시 짤 필요가 없게 하는 것이 목표입니다.

셀프 호스팅은 무료이며 앞으로도 그렇습니다. 사용자 수 제한도, 유료 요금제도, 텔레메트리 수집도 없습니다. 프로젝트를 계속 이어 갈 시간은 오직 후원으로 마련됩니다.

개발용 하드웨어

보드, 카메라, 센서. 절대 오동작하지 않는 목업이 아니라 실제로 말썽을 부리는 장비를 상대로 위젯을 만들기 위해서입니다.

계속 출시할 시간

통합, 위젯, 그리고 재연결, 역할, 감사 기록처럼 눈에 잘 띄지 않는 부분들. 후원이 있으면 다음 릴리스는 “언젠가”가 아니라 “이번 주말”이 됩니다.

셀프 호스팅 유지

후원함은 요금제 페이지의 대안입니다. 덕분에 여러분의 장비에 설치된 배포는 여러분에게만 응답하고, 자신에 관한 정보를 어디에도 보고하지 않습니다. 외부에서 가져오는 것은 공개 릴리스 목록뿐이며, 이것도 끌 수 있습니다.

안정 릴리스
8
첫 출시
2026년 9월 8일
최신
2026년 9월 27일
모든 이미지
서명됨, AMD64 + ARM64
Ko-fi에서 후원하기 GitHub에서 Star 주기

한 번 후원해 주시는 것으로 충분하고, Star는 무료입니다.

브라우저를 여세요. 하드웨어를 제어하세요.

카메라, 컨트롤, 텔레메트리를 하나의 로컬 운영자 화면에.
Flintbay를 배포하고, 엔드포인트를 연결하고, 장비에 맞는 패널을 만드세요.

직접 배포하기
로컬 실행
실시간 제어
접근 제어 기본 포함