Repo symbol

styri repository

styri_bridge

ROS Distro
humble

Repository Summary

Description
Checkout URI https://github.com/styri-dev/styri.git
VCS Type git
VCS Version main
Last Updated 2026-11-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
styri_bridge 2.0.1

README

Styri

Styri — one offline operator panel for ROS 2 and VDA 5050 robots. See, send and stop a mixed fleet from any browser on site. No cloud, no account. Free for up to 3 robots.

Styri panel: send a robot on the map, drive it from the browser, use Operator stop on one robot, then hold Stop all until every robot confirms

Watch the 1-minute demo with sound. Simulated robots and site shown.

Quickstart

Run it on any Linux box on the robots’ network (amd64 or arm64):

docker run --rm --network host ghcr.io/styri-dev/styri-core:v2.0.1

Open http://<this machine’s IP>:8080. Host networking lets Styri see DDS discovery on your LAN. Open source: read the code before you run it.

A mixed fleet, no hardware? One ROS 2 robot and two VDA 5050 vehicles on one map, all simulated:

cd examples/mixed-fleet && docker compose up

The first run builds the simulated robots, which takes a few minutes. Open http://localhost:8080 and log in with styri-demo. docker compose down -v resets the demo, map edits included.

On a Mac? Run Styri on the robot or any Linux machine on its network, and open the panel from any browser, Mac included. Docker on macOS can’t see a robot on another machine, but the mixed-fleet demo runs there too.

What you get

  • Mixed-fleet map — ROS 2 and VDA 5050 robots on one site map, each with its verdict and battery
  • Command status — a goal shows Sent, Accepted, Running, Done, or why it failed, from what the robot reports
  • Operator stop with confirmation — per robot or Stop all, then “Stopped”, “No reply from robot” or “Stop NOT confirmed”
  • Roles — viewer, operator and admin accounts, on the Users screen or with styri users
  • Audit log — every command and refusal in a local append-only log
  • styri check — tests your config against the live robots and broker, PASS or FAIL per line

Control and safety

Control is off until an admin turns it on. Operator stop is a software stop, not a safety function. Read SAFETY.md before you turn control on.

Compatibility

docs/COMPATIBILITY.md lists what Styri supports. So far it has been tested against simulators only: Nav2’s loopback simulator, Styri’s own ROS 2 sim and vda-5050-lib’s virtual AGV, not a real vendor robot.

Editions

  Robots Price  
Core Up to 3, one site Free, open source (Apache-2.0) You’re here
Pilot Up to 20, one site $360/month or $3,600/year Buy or talk to us
Enterprise More robots, multiple sites Talk to us Talk to us

More than three robots? Styri Pilot is the public ghcr.io/styri-dev/styri-pro image plus a license file: docs/PILOT.md.

VDA 5050 bench

Free VDA 5050 bench: styri-vda-bench, an unofficial self-check.

Help

Guides: styri.dev/help. Something not showing up? See docs/TROUBLESHOOTING.md.

Setup

Deploying to a client fleet? We can set it up for you. Styri Setup or talk to us.

License

Apache-2.0. See LICENSE. Bundled third-party software is listed in NOTICE. Styri comes with no warranty and no safety certification: see SAFETY.md.

Nothing phones home

  • Every asset is served locally: fonts, icons, scripts. No CDN.
  • No telemetry, no license server, no account.
  • Unplug the internet and it still works.

Verify it yourself:

sudo tcpdump -i any 'not net 10.0.0.0/8 and not net 172.16.0.0/12 and not net 192.168.0.0/16 and not host 127.0.0.1 and not net 224.0.0.0/4'

Nothing should appear while Styri runs. (DDS discovery uses LAN multicast, 224.0.0.0/4, which never leaves your network.)

How it works

ROS 2 nodes ──DDS──▶ Styri bridge ──local WebSocket──▶ Styri panel ──LAN──▶ any browser
                         │
                         └──▶ local activity log (SQLite)

One container: a small bridge subscribes to your ROS 2 topics and serves a static web panel. Nothing leaves the machine except to browsers on your LAN.

Configuration

File truncated at 100 lines see the full file

Repo symbol

styri repository

styri_bridge

ROS Distro
jazzy

Repository Summary

Description
Checkout URI https://github.com/styri-dev/styri.git
VCS Type git
VCS Version main
Last Updated 2026-11-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
styri_bridge 2.0.1

README

Styri

Styri — one offline operator panel for ROS 2 and VDA 5050 robots. See, send and stop a mixed fleet from any browser on site. No cloud, no account. Free for up to 3 robots.

Styri panel: send a robot on the map, drive it from the browser, use Operator stop on one robot, then hold Stop all until every robot confirms

Watch the 1-minute demo with sound. Simulated robots and site shown.

Quickstart

Run it on any Linux box on the robots’ network (amd64 or arm64):

docker run --rm --network host ghcr.io/styri-dev/styri-core:v2.0.1

Open http://<this machine’s IP>:8080. Host networking lets Styri see DDS discovery on your LAN. Open source: read the code before you run it.

A mixed fleet, no hardware? One ROS 2 robot and two VDA 5050 vehicles on one map, all simulated:

cd examples/mixed-fleet && docker compose up

The first run builds the simulated robots, which takes a few minutes. Open http://localhost:8080 and log in with styri-demo. docker compose down -v resets the demo, map edits included.

On a Mac? Run Styri on the robot or any Linux machine on its network, and open the panel from any browser, Mac included. Docker on macOS can’t see a robot on another machine, but the mixed-fleet demo runs there too.

What you get

  • Mixed-fleet map — ROS 2 and VDA 5050 robots on one site map, each with its verdict and battery
  • Command status — a goal shows Sent, Accepted, Running, Done, or why it failed, from what the robot reports
  • Operator stop with confirmation — per robot or Stop all, then “Stopped”, “No reply from robot” or “Stop NOT confirmed”
  • Roles — viewer, operator and admin accounts, on the Users screen or with styri users
  • Audit log — every command and refusal in a local append-only log
  • styri check — tests your config against the live robots and broker, PASS or FAIL per line

Control and safety

Control is off until an admin turns it on. Operator stop is a software stop, not a safety function. Read SAFETY.md before you turn control on.

Compatibility

docs/COMPATIBILITY.md lists what Styri supports. So far it has been tested against simulators only: Nav2’s loopback simulator, Styri’s own ROS 2 sim and vda-5050-lib’s virtual AGV, not a real vendor robot.

Editions

  Robots Price  
Core Up to 3, one site Free, open source (Apache-2.0) You’re here
Pilot Up to 20, one site $360/month or $3,600/year Buy or talk to us
Enterprise More robots, multiple sites Talk to us Talk to us

More than three robots? Styri Pilot is the public ghcr.io/styri-dev/styri-pro image plus a license file: docs/PILOT.md.

VDA 5050 bench

Free VDA 5050 bench: styri-vda-bench, an unofficial self-check.

Help

Guides: styri.dev/help. Something not showing up? See docs/TROUBLESHOOTING.md.

Setup

Deploying to a client fleet? We can set it up for you. Styri Setup or talk to us.

License

Apache-2.0. See LICENSE. Bundled third-party software is listed in NOTICE. Styri comes with no warranty and no safety certification: see SAFETY.md.

Nothing phones home

  • Every asset is served locally: fonts, icons, scripts. No CDN.
  • No telemetry, no license server, no account.
  • Unplug the internet and it still works.

Verify it yourself:

sudo tcpdump -i any 'not net 10.0.0.0/8 and not net 172.16.0.0/12 and not net 192.168.0.0/16 and not host 127.0.0.1 and not net 224.0.0.0/4'

Nothing should appear while Styri runs. (DDS discovery uses LAN multicast, 224.0.0.0/4, which never leaves your network.)

How it works

ROS 2 nodes ──DDS──▶ Styri bridge ──local WebSocket──▶ Styri panel ──LAN──▶ any browser
                         │
                         └──▶ local activity log (SQLite)

One container: a small bridge subscribes to your ROS 2 topics and serves a static web panel. Nothing leaves the machine except to browsers on your LAN.

Configuration

File truncated at 100 lines see the full file

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

styri repository

styri_bridge

ROS Distro
humble

Repository Summary

Description
Checkout URI https://github.com/styri-dev/styri.git
VCS Type git
VCS Version main
Last Updated 2026-11-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
styri_bridge 2.0.1

README

Styri

Styri — one offline operator panel for ROS 2 and VDA 5050 robots. See, send and stop a mixed fleet from any browser on site. No cloud, no account. Free for up to 3 robots.

Styri panel: send a robot on the map, drive it from the browser, use Operator stop on one robot, then hold Stop all until every robot confirms

Watch the 1-minute demo with sound. Simulated robots and site shown.

Quickstart

Run it on any Linux box on the robots’ network (amd64 or arm64):

docker run --rm --network host ghcr.io/styri-dev/styri-core:v2.0.1

Open http://<this machine’s IP>:8080. Host networking lets Styri see DDS discovery on your LAN. Open source: read the code before you run it.

A mixed fleet, no hardware? One ROS 2 robot and two VDA 5050 vehicles on one map, all simulated:

cd examples/mixed-fleet && docker compose up

The first run builds the simulated robots, which takes a few minutes. Open http://localhost:8080 and log in with styri-demo. docker compose down -v resets the demo, map edits included.

On a Mac? Run Styri on the robot or any Linux machine on its network, and open the panel from any browser, Mac included. Docker on macOS can’t see a robot on another machine, but the mixed-fleet demo runs there too.

What you get

  • Mixed-fleet map — ROS 2 and VDA 5050 robots on one site map, each with its verdict and battery
  • Command status — a goal shows Sent, Accepted, Running, Done, or why it failed, from what the robot reports
  • Operator stop with confirmation — per robot or Stop all, then “Stopped”, “No reply from robot” or “Stop NOT confirmed”
  • Roles — viewer, operator and admin accounts, on the Users screen or with styri users
  • Audit log — every command and refusal in a local append-only log
  • styri check — tests your config against the live robots and broker, PASS or FAIL per line

Control and safety

Control is off until an admin turns it on. Operator stop is a software stop, not a safety function. Read SAFETY.md before you turn control on.

Compatibility

docs/COMPATIBILITY.md lists what Styri supports. So far it has been tested against simulators only: Nav2’s loopback simulator, Styri’s own ROS 2 sim and vda-5050-lib’s virtual AGV, not a real vendor robot.

Editions

  Robots Price  
Core Up to 3, one site Free, open source (Apache-2.0) You’re here
Pilot Up to 20, one site $360/month or $3,600/year Buy or talk to us
Enterprise More robots, multiple sites Talk to us Talk to us

More than three robots? Styri Pilot is the public ghcr.io/styri-dev/styri-pro image plus a license file: docs/PILOT.md.

VDA 5050 bench

Free VDA 5050 bench: styri-vda-bench, an unofficial self-check.

Help

Guides: styri.dev/help. Something not showing up? See docs/TROUBLESHOOTING.md.

Setup

Deploying to a client fleet? We can set it up for you. Styri Setup or talk to us.

License

Apache-2.0. See LICENSE. Bundled third-party software is listed in NOTICE. Styri comes with no warranty and no safety certification: see SAFETY.md.

Nothing phones home

  • Every asset is served locally: fonts, icons, scripts. No CDN.
  • No telemetry, no license server, no account.
  • Unplug the internet and it still works.

Verify it yourself:

sudo tcpdump -i any 'not net 10.0.0.0/8 and not net 172.16.0.0/12 and not net 192.168.0.0/16 and not host 127.0.0.1 and not net 224.0.0.0/4'

Nothing should appear while Styri runs. (DDS discovery uses LAN multicast, 224.0.0.0/4, which never leaves your network.)

How it works

ROS 2 nodes ──DDS──▶ Styri bridge ──local WebSocket──▶ Styri panel ──LAN──▶ any browser
                         │
                         └──▶ local activity log (SQLite)

One container: a small bridge subscribes to your ROS 2 topics and serves a static web panel. Nothing leaves the machine except to browsers on your LAN.

Configuration

File truncated at 100 lines see the full file

No version for distro lyrical showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

styri repository

styri_bridge

ROS Distro
humble

Repository Summary

Description
Checkout URI https://github.com/styri-dev/styri.git
VCS Type git
VCS Version main
Last Updated 2026-11-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
styri_bridge 2.0.1

README

Styri

Styri — one offline operator panel for ROS 2 and VDA 5050 robots. See, send and stop a mixed fleet from any browser on site. No cloud, no account. Free for up to 3 robots.

Styri panel: send a robot on the map, drive it from the browser, use Operator stop on one robot, then hold Stop all until every robot confirms

Watch the 1-minute demo with sound. Simulated robots and site shown.

Quickstart

Run it on any Linux box on the robots’ network (amd64 or arm64):

docker run --rm --network host ghcr.io/styri-dev/styri-core:v2.0.1

Open http://<this machine’s IP>:8080. Host networking lets Styri see DDS discovery on your LAN. Open source: read the code before you run it.

A mixed fleet, no hardware? One ROS 2 robot and two VDA 5050 vehicles on one map, all simulated:

cd examples/mixed-fleet && docker compose up

The first run builds the simulated robots, which takes a few minutes. Open http://localhost:8080 and log in with styri-demo. docker compose down -v resets the demo, map edits included.

On a Mac? Run Styri on the robot or any Linux machine on its network, and open the panel from any browser, Mac included. Docker on macOS can’t see a robot on another machine, but the mixed-fleet demo runs there too.

What you get

  • Mixed-fleet map — ROS 2 and VDA 5050 robots on one site map, each with its verdict and battery
  • Command status — a goal shows Sent, Accepted, Running, Done, or why it failed, from what the robot reports
  • Operator stop with confirmation — per robot or Stop all, then “Stopped”, “No reply from robot” or “Stop NOT confirmed”
  • Roles — viewer, operator and admin accounts, on the Users screen or with styri users
  • Audit log — every command and refusal in a local append-only log
  • styri check — tests your config against the live robots and broker, PASS or FAIL per line

Control and safety

Control is off until an admin turns it on. Operator stop is a software stop, not a safety function. Read SAFETY.md before you turn control on.

Compatibility

docs/COMPATIBILITY.md lists what Styri supports. So far it has been tested against simulators only: Nav2’s loopback simulator, Styri’s own ROS 2 sim and vda-5050-lib’s virtual AGV, not a real vendor robot.

Editions

  Robots Price  
Core Up to 3, one site Free, open source (Apache-2.0) You’re here
Pilot Up to 20, one site $360/month or $3,600/year Buy or talk to us
Enterprise More robots, multiple sites Talk to us Talk to us

More than three robots? Styri Pilot is the public ghcr.io/styri-dev/styri-pro image plus a license file: docs/PILOT.md.

VDA 5050 bench

Free VDA 5050 bench: styri-vda-bench, an unofficial self-check.

Help

Guides: styri.dev/help. Something not showing up? See docs/TROUBLESHOOTING.md.

Setup

Deploying to a client fleet? We can set it up for you. Styri Setup or talk to us.

License

Apache-2.0. See LICENSE. Bundled third-party software is listed in NOTICE. Styri comes with no warranty and no safety certification: see SAFETY.md.

Nothing phones home

  • Every asset is served locally: fonts, icons, scripts. No CDN.
  • No telemetry, no license server, no account.
  • Unplug the internet and it still works.

Verify it yourself:

sudo tcpdump -i any 'not net 10.0.0.0/8 and not net 172.16.0.0/12 and not net 192.168.0.0/16 and not host 127.0.0.1 and not net 224.0.0.0/4'

Nothing should appear while Styri runs. (DDS discovery uses LAN multicast, 224.0.0.0/4, which never leaves your network.)

How it works

ROS 2 nodes ──DDS──▶ Styri bridge ──local WebSocket──▶ Styri panel ──LAN──▶ any browser
                         │
                         └──▶ local activity log (SQLite)

One container: a small bridge subscribes to your ROS 2 topics and serves a static web panel. Nothing leaves the machine except to browsers on your LAN.

Configuration

File truncated at 100 lines see the full file

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

styri repository

styri_bridge

ROS Distro
humble

Repository Summary

Description
Checkout URI https://github.com/styri-dev/styri.git
VCS Type git
VCS Version main
Last Updated 2026-11-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
styri_bridge 2.0.1

README

Styri

Styri — one offline operator panel for ROS 2 and VDA 5050 robots. See, send and stop a mixed fleet from any browser on site. No cloud, no account. Free for up to 3 robots.

Styri panel: send a robot on the map, drive it from the browser, use Operator stop on one robot, then hold Stop all until every robot confirms

Watch the 1-minute demo with sound. Simulated robots and site shown.

Quickstart

Run it on any Linux box on the robots’ network (amd64 or arm64):

docker run --rm --network host ghcr.io/styri-dev/styri-core:v2.0.1

Open http://<this machine’s IP>:8080. Host networking lets Styri see DDS discovery on your LAN. Open source: read the code before you run it.

A mixed fleet, no hardware? One ROS 2 robot and two VDA 5050 vehicles on one map, all simulated:

cd examples/mixed-fleet && docker compose up

The first run builds the simulated robots, which takes a few minutes. Open http://localhost:8080 and log in with styri-demo. docker compose down -v resets the demo, map edits included.

On a Mac? Run Styri on the robot or any Linux machine on its network, and open the panel from any browser, Mac included. Docker on macOS can’t see a robot on another machine, but the mixed-fleet demo runs there too.

What you get

  • Mixed-fleet map — ROS 2 and VDA 5050 robots on one site map, each with its verdict and battery
  • Command status — a goal shows Sent, Accepted, Running, Done, or why it failed, from what the robot reports
  • Operator stop with confirmation — per robot or Stop all, then “Stopped”, “No reply from robot” or “Stop NOT confirmed”
  • Roles — viewer, operator and admin accounts, on the Users screen or with styri users
  • Audit log — every command and refusal in a local append-only log
  • styri check — tests your config against the live robots and broker, PASS or FAIL per line

Control and safety

Control is off until an admin turns it on. Operator stop is a software stop, not a safety function. Read SAFETY.md before you turn control on.

Compatibility

docs/COMPATIBILITY.md lists what Styri supports. So far it has been tested against simulators only: Nav2’s loopback simulator, Styri’s own ROS 2 sim and vda-5050-lib’s virtual AGV, not a real vendor robot.

Editions

  Robots Price  
Core Up to 3, one site Free, open source (Apache-2.0) You’re here
Pilot Up to 20, one site $360/month or $3,600/year Buy or talk to us
Enterprise More robots, multiple sites Talk to us Talk to us

More than three robots? Styri Pilot is the public ghcr.io/styri-dev/styri-pro image plus a license file: docs/PILOT.md.

VDA 5050 bench

Free VDA 5050 bench: styri-vda-bench, an unofficial self-check.

Help

Guides: styri.dev/help. Something not showing up? See docs/TROUBLESHOOTING.md.

Setup

Deploying to a client fleet? We can set it up for you. Styri Setup or talk to us.

License

Apache-2.0. See LICENSE. Bundled third-party software is listed in NOTICE. Styri comes with no warranty and no safety certification: see SAFETY.md.

Nothing phones home

  • Every asset is served locally: fonts, icons, scripts. No CDN.
  • No telemetry, no license server, no account.
  • Unplug the internet and it still works.

Verify it yourself:

sudo tcpdump -i any 'not net 10.0.0.0/8 and not net 172.16.0.0/12 and not net 192.168.0.0/16 and not host 127.0.0.1 and not net 224.0.0.0/4'

Nothing should appear while Styri runs. (DDS discovery uses LAN multicast, 224.0.0.0/4, which never leaves your network.)

How it works

ROS 2 nodes ──DDS──▶ Styri bridge ──local WebSocket──▶ Styri panel ──LAN──▶ any browser
                         │
                         └──▶ local activity log (SQLite)

One container: a small bridge subscribes to your ROS 2 topics and serves a static web panel. Nothing leaves the machine except to browsers on your LAN.

Configuration

File truncated at 100 lines see the full file

No version for distro github showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

styri repository

styri_bridge

ROS Distro
humble

Repository Summary

Description
Checkout URI https://github.com/styri-dev/styri.git
VCS Type git
VCS Version main
Last Updated 2026-11-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
styri_bridge 2.0.1

README

Styri

Styri — one offline operator panel for ROS 2 and VDA 5050 robots. See, send and stop a mixed fleet from any browser on site. No cloud, no account. Free for up to 3 robots.

Styri panel: send a robot on the map, drive it from the browser, use Operator stop on one robot, then hold Stop all until every robot confirms

Watch the 1-minute demo with sound. Simulated robots and site shown.

Quickstart

Run it on any Linux box on the robots’ network (amd64 or arm64):

docker run --rm --network host ghcr.io/styri-dev/styri-core:v2.0.1

Open http://<this machine’s IP>:8080. Host networking lets Styri see DDS discovery on your LAN. Open source: read the code before you run it.

A mixed fleet, no hardware? One ROS 2 robot and two VDA 5050 vehicles on one map, all simulated:

cd examples/mixed-fleet && docker compose up

The first run builds the simulated robots, which takes a few minutes. Open http://localhost:8080 and log in with styri-demo. docker compose down -v resets the demo, map edits included.

On a Mac? Run Styri on the robot or any Linux machine on its network, and open the panel from any browser, Mac included. Docker on macOS can’t see a robot on another machine, but the mixed-fleet demo runs there too.

What you get

  • Mixed-fleet map — ROS 2 and VDA 5050 robots on one site map, each with its verdict and battery
  • Command status — a goal shows Sent, Accepted, Running, Done, or why it failed, from what the robot reports
  • Operator stop with confirmation — per robot or Stop all, then “Stopped”, “No reply from robot” or “Stop NOT confirmed”
  • Roles — viewer, operator and admin accounts, on the Users screen or with styri users
  • Audit log — every command and refusal in a local append-only log
  • styri check — tests your config against the live robots and broker, PASS or FAIL per line

Control and safety

Control is off until an admin turns it on. Operator stop is a software stop, not a safety function. Read SAFETY.md before you turn control on.

Compatibility

docs/COMPATIBILITY.md lists what Styri supports. So far it has been tested against simulators only: Nav2’s loopback simulator, Styri’s own ROS 2 sim and vda-5050-lib’s virtual AGV, not a real vendor robot.

Editions

  Robots Price  
Core Up to 3, one site Free, open source (Apache-2.0) You’re here
Pilot Up to 20, one site $360/month or $3,600/year Buy or talk to us
Enterprise More robots, multiple sites Talk to us Talk to us

More than three robots? Styri Pilot is the public ghcr.io/styri-dev/styri-pro image plus a license file: docs/PILOT.md.

VDA 5050 bench

Free VDA 5050 bench: styri-vda-bench, an unofficial self-check.

Help

Guides: styri.dev/help. Something not showing up? See docs/TROUBLESHOOTING.md.

Setup

Deploying to a client fleet? We can set it up for you. Styri Setup or talk to us.

License

Apache-2.0. See LICENSE. Bundled third-party software is listed in NOTICE. Styri comes with no warranty and no safety certification: see SAFETY.md.

Nothing phones home

  • Every asset is served locally: fonts, icons, scripts. No CDN.
  • No telemetry, no license server, no account.
  • Unplug the internet and it still works.

Verify it yourself:

sudo tcpdump -i any 'not net 10.0.0.0/8 and not net 172.16.0.0/12 and not net 192.168.0.0/16 and not host 127.0.0.1 and not net 224.0.0.0/4'

Nothing should appear while Styri runs. (DDS discovery uses LAN multicast, 224.0.0.0/4, which never leaves your network.)

How it works

ROS 2 nodes ──DDS──▶ Styri bridge ──local WebSocket──▶ Styri panel ──LAN──▶ any browser
                         │
                         └──▶ local activity log (SQLite)

One container: a small bridge subscribes to your ROS 2 topics and serves a static web panel. Nothing leaves the machine except to browsers on your LAN.

Configuration

File truncated at 100 lines see the full file

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

styri repository

styri_bridge

ROS Distro
humble

Repository Summary

Description
Checkout URI https://github.com/styri-dev/styri.git
VCS Type git
VCS Version main
Last Updated 2026-11-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
styri_bridge 2.0.1

README

Styri

Styri — one offline operator panel for ROS 2 and VDA 5050 robots. See, send and stop a mixed fleet from any browser on site. No cloud, no account. Free for up to 3 robots.

Styri panel: send a robot on the map, drive it from the browser, use Operator stop on one robot, then hold Stop all until every robot confirms

Watch the 1-minute demo with sound. Simulated robots and site shown.

Quickstart

Run it on any Linux box on the robots’ network (amd64 or arm64):

docker run --rm --network host ghcr.io/styri-dev/styri-core:v2.0.1

Open http://<this machine’s IP>:8080. Host networking lets Styri see DDS discovery on your LAN. Open source: read the code before you run it.

A mixed fleet, no hardware? One ROS 2 robot and two VDA 5050 vehicles on one map, all simulated:

cd examples/mixed-fleet && docker compose up

The first run builds the simulated robots, which takes a few minutes. Open http://localhost:8080 and log in with styri-demo. docker compose down -v resets the demo, map edits included.

On a Mac? Run Styri on the robot or any Linux machine on its network, and open the panel from any browser, Mac included. Docker on macOS can’t see a robot on another machine, but the mixed-fleet demo runs there too.

What you get

  • Mixed-fleet map — ROS 2 and VDA 5050 robots on one site map, each with its verdict and battery
  • Command status — a goal shows Sent, Accepted, Running, Done, or why it failed, from what the robot reports
  • Operator stop with confirmation — per robot or Stop all, then “Stopped”, “No reply from robot” or “Stop NOT confirmed”
  • Roles — viewer, operator and admin accounts, on the Users screen or with styri users
  • Audit log — every command and refusal in a local append-only log
  • styri check — tests your config against the live robots and broker, PASS or FAIL per line

Control and safety

Control is off until an admin turns it on. Operator stop is a software stop, not a safety function. Read SAFETY.md before you turn control on.

Compatibility

docs/COMPATIBILITY.md lists what Styri supports. So far it has been tested against simulators only: Nav2’s loopback simulator, Styri’s own ROS 2 sim and vda-5050-lib’s virtual AGV, not a real vendor robot.

Editions

  Robots Price  
Core Up to 3, one site Free, open source (Apache-2.0) You’re here
Pilot Up to 20, one site $360/month or $3,600/year Buy or talk to us
Enterprise More robots, multiple sites Talk to us Talk to us

More than three robots? Styri Pilot is the public ghcr.io/styri-dev/styri-pro image plus a license file: docs/PILOT.md.

VDA 5050 bench

Free VDA 5050 bench: styri-vda-bench, an unofficial self-check.

Help

Guides: styri.dev/help. Something not showing up? See docs/TROUBLESHOOTING.md.

Setup

Deploying to a client fleet? We can set it up for you. Styri Setup or talk to us.

License

Apache-2.0. See LICENSE. Bundled third-party software is listed in NOTICE. Styri comes with no warranty and no safety certification: see SAFETY.md.

Nothing phones home

  • Every asset is served locally: fonts, icons, scripts. No CDN.
  • No telemetry, no license server, no account.
  • Unplug the internet and it still works.

Verify it yourself:

sudo tcpdump -i any 'not net 10.0.0.0/8 and not net 172.16.0.0/12 and not net 192.168.0.0/16 and not host 127.0.0.1 and not net 224.0.0.0/4'

Nothing should appear while Styri runs. (DDS discovery uses LAN multicast, 224.0.0.0/4, which never leaves your network.)

How it works

ROS 2 nodes ──DDS──▶ Styri bridge ──local WebSocket──▶ Styri panel ──LAN──▶ any browser
                         │
                         └──▶ local activity log (SQLite)

One container: a small bridge subscribes to your ROS 2 topics and serves a static web panel. Nothing leaves the machine except to browsers on your LAN.

Configuration

File truncated at 100 lines see the full file

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

styri repository

styri_bridge

ROS Distro
humble

Repository Summary

Description
Checkout URI https://github.com/styri-dev/styri.git
VCS Type git
VCS Version main
Last Updated 2026-11-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
styri_bridge 2.0.1

README

Styri

Styri — one offline operator panel for ROS 2 and VDA 5050 robots. See, send and stop a mixed fleet from any browser on site. No cloud, no account. Free for up to 3 robots.

Styri panel: send a robot on the map, drive it from the browser, use Operator stop on one robot, then hold Stop all until every robot confirms

Watch the 1-minute demo with sound. Simulated robots and site shown.

Quickstart

Run it on any Linux box on the robots’ network (amd64 or arm64):

docker run --rm --network host ghcr.io/styri-dev/styri-core:v2.0.1

Open http://<this machine’s IP>:8080. Host networking lets Styri see DDS discovery on your LAN. Open source: read the code before you run it.

A mixed fleet, no hardware? One ROS 2 robot and two VDA 5050 vehicles on one map, all simulated:

cd examples/mixed-fleet && docker compose up

The first run builds the simulated robots, which takes a few minutes. Open http://localhost:8080 and log in with styri-demo. docker compose down -v resets the demo, map edits included.

On a Mac? Run Styri on the robot or any Linux machine on its network, and open the panel from any browser, Mac included. Docker on macOS can’t see a robot on another machine, but the mixed-fleet demo runs there too.

What you get

  • Mixed-fleet map — ROS 2 and VDA 5050 robots on one site map, each with its verdict and battery
  • Command status — a goal shows Sent, Accepted, Running, Done, or why it failed, from what the robot reports
  • Operator stop with confirmation — per robot or Stop all, then “Stopped”, “No reply from robot” or “Stop NOT confirmed”
  • Roles — viewer, operator and admin accounts, on the Users screen or with styri users
  • Audit log — every command and refusal in a local append-only log
  • styri check — tests your config against the live robots and broker, PASS or FAIL per line

Control and safety

Control is off until an admin turns it on. Operator stop is a software stop, not a safety function. Read SAFETY.md before you turn control on.

Compatibility

docs/COMPATIBILITY.md lists what Styri supports. So far it has been tested against simulators only: Nav2’s loopback simulator, Styri’s own ROS 2 sim and vda-5050-lib’s virtual AGV, not a real vendor robot.

Editions

  Robots Price  
Core Up to 3, one site Free, open source (Apache-2.0) You’re here
Pilot Up to 20, one site $360/month or $3,600/year Buy or talk to us
Enterprise More robots, multiple sites Talk to us Talk to us

More than three robots? Styri Pilot is the public ghcr.io/styri-dev/styri-pro image plus a license file: docs/PILOT.md.

VDA 5050 bench

Free VDA 5050 bench: styri-vda-bench, an unofficial self-check.

Help

Guides: styri.dev/help. Something not showing up? See docs/TROUBLESHOOTING.md.

Setup

Deploying to a client fleet? We can set it up for you. Styri Setup or talk to us.

License

Apache-2.0. See LICENSE. Bundled third-party software is listed in NOTICE. Styri comes with no warranty and no safety certification: see SAFETY.md.

Nothing phones home

  • Every asset is served locally: fonts, icons, scripts. No CDN.
  • No telemetry, no license server, no account.
  • Unplug the internet and it still works.

Verify it yourself:

sudo tcpdump -i any 'not net 10.0.0.0/8 and not net 172.16.0.0/12 and not net 192.168.0.0/16 and not host 127.0.0.1 and not net 224.0.0.0/4'

Nothing should appear while Styri runs. (DDS discovery uses LAN multicast, 224.0.0.0/4, which never leaves your network.)

How it works

ROS 2 nodes ──DDS──▶ Styri bridge ──local WebSocket──▶ Styri panel ──LAN──▶ any browser
                         │
                         └──▶ local activity log (SQLite)

One container: a small bridge subscribes to your ROS 2 topics and serves a static web panel. Nothing leaves the machine except to browsers on your LAN.

Configuration

File truncated at 100 lines see the full file

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

styri repository

styri_bridge

ROS Distro
humble

Repository Summary

Description
Checkout URI https://github.com/styri-dev/styri.git
VCS Type git
VCS Version main
Last Updated 2026-11-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
styri_bridge 2.0.1

README

Styri

Styri — one offline operator panel for ROS 2 and VDA 5050 robots. See, send and stop a mixed fleet from any browser on site. No cloud, no account. Free for up to 3 robots.

Styri panel: send a robot on the map, drive it from the browser, use Operator stop on one robot, then hold Stop all until every robot confirms

Watch the 1-minute demo with sound. Simulated robots and site shown.

Quickstart

Run it on any Linux box on the robots’ network (amd64 or arm64):

docker run --rm --network host ghcr.io/styri-dev/styri-core:v2.0.1

Open http://<this machine’s IP>:8080. Host networking lets Styri see DDS discovery on your LAN. Open source: read the code before you run it.

A mixed fleet, no hardware? One ROS 2 robot and two VDA 5050 vehicles on one map, all simulated:

cd examples/mixed-fleet && docker compose up

The first run builds the simulated robots, which takes a few minutes. Open http://localhost:8080 and log in with styri-demo. docker compose down -v resets the demo, map edits included.

On a Mac? Run Styri on the robot or any Linux machine on its network, and open the panel from any browser, Mac included. Docker on macOS can’t see a robot on another machine, but the mixed-fleet demo runs there too.

What you get

  • Mixed-fleet map — ROS 2 and VDA 5050 robots on one site map, each with its verdict and battery
  • Command status — a goal shows Sent, Accepted, Running, Done, or why it failed, from what the robot reports
  • Operator stop with confirmation — per robot or Stop all, then “Stopped”, “No reply from robot” or “Stop NOT confirmed”
  • Roles — viewer, operator and admin accounts, on the Users screen or with styri users
  • Audit log — every command and refusal in a local append-only log
  • styri check — tests your config against the live robots and broker, PASS or FAIL per line

Control and safety

Control is off until an admin turns it on. Operator stop is a software stop, not a safety function. Read SAFETY.md before you turn control on.

Compatibility

docs/COMPATIBILITY.md lists what Styri supports. So far it has been tested against simulators only: Nav2’s loopback simulator, Styri’s own ROS 2 sim and vda-5050-lib’s virtual AGV, not a real vendor robot.

Editions

  Robots Price  
Core Up to 3, one site Free, open source (Apache-2.0) You’re here
Pilot Up to 20, one site $360/month or $3,600/year Buy or talk to us
Enterprise More robots, multiple sites Talk to us Talk to us

More than three robots? Styri Pilot is the public ghcr.io/styri-dev/styri-pro image plus a license file: docs/PILOT.md.

VDA 5050 bench

Free VDA 5050 bench: styri-vda-bench, an unofficial self-check.

Help

Guides: styri.dev/help. Something not showing up? See docs/TROUBLESHOOTING.md.

Setup

Deploying to a client fleet? We can set it up for you. Styri Setup or talk to us.

License

Apache-2.0. See LICENSE. Bundled third-party software is listed in NOTICE. Styri comes with no warranty and no safety certification: see SAFETY.md.

Nothing phones home

  • Every asset is served locally: fonts, icons, scripts. No CDN.
  • No telemetry, no license server, no account.
  • Unplug the internet and it still works.

Verify it yourself:

sudo tcpdump -i any 'not net 10.0.0.0/8 and not net 172.16.0.0/12 and not net 192.168.0.0/16 and not host 127.0.0.1 and not net 224.0.0.0/4'

Nothing should appear while Styri runs. (DDS discovery uses LAN multicast, 224.0.0.0/4, which never leaves your network.)

How it works

ROS 2 nodes ──DDS──▶ Styri bridge ──local WebSocket──▶ Styri panel ──LAN──▶ any browser
                         │
                         └──▶ local activity log (SQLite)

One container: a small bridge subscribes to your ROS 2 topics and serves a static web panel. Nothing leaves the machine except to browsers on your LAN.

Configuration

File truncated at 100 lines see the full file

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Repo symbol

styri repository

styri_bridge

ROS Distro
humble

Repository Summary

Description
Checkout URI https://github.com/styri-dev/styri.git
VCS Type git
VCS Version main
Last Updated 2026-11-13
Dev Status DEVELOPED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
styri_bridge 2.0.1

README

Styri

Styri — one offline operator panel for ROS 2 and VDA 5050 robots. See, send and stop a mixed fleet from any browser on site. No cloud, no account. Free for up to 3 robots.

Styri panel: send a robot on the map, drive it from the browser, use Operator stop on one robot, then hold Stop all until every robot confirms

Watch the 1-minute demo with sound. Simulated robots and site shown.

Quickstart

Run it on any Linux box on the robots’ network (amd64 or arm64):

docker run --rm --network host ghcr.io/styri-dev/styri-core:v2.0.1

Open http://<this machine’s IP>:8080. Host networking lets Styri see DDS discovery on your LAN. Open source: read the code before you run it.

A mixed fleet, no hardware? One ROS 2 robot and two VDA 5050 vehicles on one map, all simulated:

cd examples/mixed-fleet && docker compose up

The first run builds the simulated robots, which takes a few minutes. Open http://localhost:8080 and log in with styri-demo. docker compose down -v resets the demo, map edits included.

On a Mac? Run Styri on the robot or any Linux machine on its network, and open the panel from any browser, Mac included. Docker on macOS can’t see a robot on another machine, but the mixed-fleet demo runs there too.

What you get

  • Mixed-fleet map — ROS 2 and VDA 5050 robots on one site map, each with its verdict and battery
  • Command status — a goal shows Sent, Accepted, Running, Done, or why it failed, from what the robot reports
  • Operator stop with confirmation — per robot or Stop all, then “Stopped”, “No reply from robot” or “Stop NOT confirmed”
  • Roles — viewer, operator and admin accounts, on the Users screen or with styri users
  • Audit log — every command and refusal in a local append-only log
  • styri check — tests your config against the live robots and broker, PASS or FAIL per line

Control and safety

Control is off until an admin turns it on. Operator stop is a software stop, not a safety function. Read SAFETY.md before you turn control on.

Compatibility

docs/COMPATIBILITY.md lists what Styri supports. So far it has been tested against simulators only: Nav2’s loopback simulator, Styri’s own ROS 2 sim and vda-5050-lib’s virtual AGV, not a real vendor robot.

Editions

  Robots Price  
Core Up to 3, one site Free, open source (Apache-2.0) You’re here
Pilot Up to 20, one site $360/month or $3,600/year Buy or talk to us
Enterprise More robots, multiple sites Talk to us Talk to us

More than three robots? Styri Pilot is the public ghcr.io/styri-dev/styri-pro image plus a license file: docs/PILOT.md.

VDA 5050 bench

Free VDA 5050 bench: styri-vda-bench, an unofficial self-check.

Help

Guides: styri.dev/help. Something not showing up? See docs/TROUBLESHOOTING.md.

Setup

Deploying to a client fleet? We can set it up for you. Styri Setup or talk to us.

License

Apache-2.0. See LICENSE. Bundled third-party software is listed in NOTICE. Styri comes with no warranty and no safety certification: see SAFETY.md.

Nothing phones home

  • Every asset is served locally: fonts, icons, scripts. No CDN.
  • No telemetry, no license server, no account.
  • Unplug the internet and it still works.

Verify it yourself:

sudo tcpdump -i any 'not net 10.0.0.0/8 and not net 172.16.0.0/12 and not net 192.168.0.0/16 and not host 127.0.0.1 and not net 224.0.0.0/4'

Nothing should appear while Styri runs. (DDS discovery uses LAN multicast, 224.0.0.0/4, which never leaves your network.)

How it works

ROS 2 nodes ──DDS──▶ Styri bridge ──local WebSocket──▶ Styri panel ──LAN──▶ any browser
                         │
                         └──▶ local activity log (SQLite)

One container: a small bridge subscribes to your ROS 2 topics and serves a static web panel. Nothing leaves the machine except to browsers on your LAN.

Configuration

File truncated at 100 lines see the full file