An easy-to-use desktop application to manage OSGi frameworks remotely
An easy-to-use desktop application to manage OSGi frameworks remotely
OSGi.fx is the ultimate remote management tool for your OSGi frameworks. Unlike legacy consoles, it offers a modern, responsive JavaFX interface and AI-driven capabilities that give you:
| Component | Technology |
|---|---|
| β Java (Application) | 25 |
| β Java (Agent) | 1.8 |
| π₯οΈ Rich Client Platform | JavaFX 25 |
| βοΈ Runtime (Application) | OSGi R8 (Equinox), Eclipse 4 (e4), e(fx)clipse |
| βοΈ Runtime (Agent) | OSGi R6 |
| π¨ UI Libraries | ControlsFX, TilesFX, FormsFX |
| π οΈ Software Tools | Bndtools 7.2.1 |
The latest released version is 2.4.5.
Visit the Project Website to download and install the latest version for your platform.
[!IMPORTANT] Important Notes for Download and Update:
- The required VM will directly be downloaded while installing the application using
jdeploy.- If the auto-update feature is enabled, every new version will be automatically downloaded while starting the application.
- Upgrade Note: Due to the update, the application might not work as expected as the old bundle cache (OSGi storage) still exists. Ensure you delete the existing OSGi storage area located in
~/.osgifx-ws.
[!NOTE] Minimum Requirements: Java 1.8 & OSGi R6.
To manage an OSGi framework, install the com.osgifx.console.agent bundle.
1. Socket Connection
Set osgi.fx.agent.socket.port system property in the runtime (e.g., 2000 or 0.0.0.0:2000).
Secure Sockets (SSL): To secure sockets, set:
osgi.fx.agent.socket.secure=trueosgi.fx.agent.socket.secure.sslcontext.filter=my_sslcontext (filter for SSLContext service)2. MQTT Connection
Install in.bytehue.messaging.mqtt5.provider.jar.
in.bytehue.messaging.client PID.osgi.fx.agent.mqtt.pubtopic: Topic for agent responses.osgi.fx.agent.mqtt.subtopic: Topic for agent requests.OAuth Support: You can use OAuth tokens instead of passwords. Configure the token in OSGi.fx application settings.
| Feature | Version | Implemented | Released |
|---|---|---|---|
| π¦ Bundle Inventory View all installed bundles and fragments |
2.4.4 | β | π |
| π¦ Package Insights Explore exported and imported packages |
2.4.4 | β | π |
| π οΈ Service Registry Inspect all registered OSGi services |
2.4.4 | β | π |
| π§© Component Viewer Visualize declarative services (DS) components |
2.4.4 | β | π |
| βοΈ System Properties Access robust system and framework properties |
2.4.4 | β | π |
| π§΅ Thread Monitor Track daemon and non-daemon threads |
2.4.4 | β | π |
| π’ Event Emitter Dispatch synchronous or asynchronous events |
2.4.4 | β | π |
| π Event Listener Subscribe to OSGi events in real-time |
2.4.4 | β | π |
| π Log Stream Live streaming of OSGi logs |
2.4.4 | β | π |
| logger R7 Logger Config Manage OSGi R7 logger levels and configurations |
2.4.4 | β | π |
| π Gogo Shell Execute Gogo commands remotely |
2.4.4 | β | π |
| π» CLI Executor Run system CLI commands directly |
2.4.4 | β | π |
| β¨ Smart Auto-Complete Intelligent suggestion for remote Gogo commands |
2.4.4 | β | π |
| π₯ Bundle Manager Install, update, starting and stopping bundles |
2.4.4 | β | π |
| π±οΈ Drag & Drop Install Effortless bundle installation via drag-and-drop |
2.4.4 | β | π |
| π§ Config Admin Manage configurations via ConfigurationAdmin |
2.4.4 | β | π |
| π Metatype Inspector Browse OCDs and property descriptors |
2.4.4 | β | π |
| β―οΈ Bundle Lifecycle Start, stop, and uninstall bundles/fragments |
2.4.4 | β | π |
| β‘ Component Control Enable or disable DS components on the fly |
2.4.4 | β | π |
| βοΈ Config Editor Create, update, and delete configurations |
2.4.4 | β | π |
| ποΈ Config Factory Instantiate new configurations from factory PIDs |
2.4.4 | β | π |
| π Runtime Dashboard Overview of memory, uptime, bundles, threads, and services |
2.4.4 | β | π |
| πΈοΈ Bundle Graph Visualize bundle dependencies interactively |
2.4.4 | β | π |
| π Component Graph Visualize DS component references and dependencies |
2.4.4 | β | π |
| π Cycle Detector Identify circular dependencies in DS components |
2.4.4 | β | π |
| π€ Graph Export Export dependency graphs to DOT (GraphViz) format |
2.4.4 | β | π |
| π Log Viewer Access and analyze application log files |
2.4.4 | β | π |
| π΅οΈ Leak Detector Identify suspicious classloader leaks |
2.4.4 | β | π |
| π HTTP Runtime Inspect Servlets, Filters, and Resources |
2.4.4 | β | π |
| π Heap Monitor Real-time heap usage and GC tracking |
2.4.4 | β | π |
| π Extension Manager Install and manage external plugins |
2.4.4 | β | π |
| ποΈ Extension Uninstaller Remove installed extensions easily |
2.4.4 | β | π |
| π OBR Generator Generate OBR XML repositories |
2.4.4 | β | π |
| π² DMT Explorer Traverse and update the Device Management Tree |
2.4.4 | β | π |
| π₯ User Admin Manage roles, users, and groups |
2.4.4 | β | π |
| β€οΈ Health Checks Execute and monitor Felix Health Checks |
2.4.4 | β | π |
| πΈ Snapshot Capture and analyze runtime state snapshots |
2.4.4 | β | π |
| βΉοΈ DTO Inspector Explore standard OSGi Runtime DTOs |
2.4.4 | β | π |
| π Advanced Search Powerful search across the OSGi framework |
2.4.4 | β | π |
| π€ MCP Support Model Context Protocol integration for AI agents. Read More |
2.4.5 | β | π |
| π» Headless Launch Start application with pre-configured connection |
2.4.5 | β | π |
You can install multiple bundles and create multiple configurations in one go.
Actions -> Batch Install.OSGi.fx is extensible. You can build your own plugins using OSGi and JavaFX.
-Dosgifx.config=/path/to/config.json system property to launch OSGi.fx with a pre-defined connection. See the Headless Launch Documentation.Amit Kumar Mondal (admin@amitinside.com)
Want to contribute? Great! Check out our Development Guide for instructions on building from source and setting up your IDE.