npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

retold-databeacon

v1.0.12

Published

Deployable data beacon service — connect to remote databases, introspect schemas, generate REST endpoints, and expose beacon capabilities to the Ultravisor mesh.

Readme

Retold DataBeacon

A deployable data beacon service for the Retold ecosystem. Connect to remote databases, introspect their schemas, generate REST endpoints, and expose beacon capabilities to the Ultravisor mesh.

DataBeacon is designed to run on remote machines where you need to bridge access to databases that are not directly reachable from your primary infrastructure. Deploy it as a Docker container, point it at one or many databases, and instantly get REST APIs and Ultravisor beacon integration for any table you discover.

Features

  • Multi-Database Connectivity -- connect to MySQL, PostgreSQL, MSSQL, SQLite, MongoDB, RocksDB, and Solr through meadow-connection-manager
  • Schema Introspection -- automatically discover tables, columns, types, primary keys, and constraints from any connected database
  • Dynamic REST Endpoints -- enable standard CRUD REST APIs for any introspected table with a single click
  • Ultravisor Beacon -- register as a beacon in the Ultravisor mesh, exposing data access and management capabilities for distributed orchestration
  • Web UI -- built-in Pict-based web interface for managing connections, browsing schemas, and monitoring endpoints
  • Docker-Ready -- multi-stage Dockerfile with SQLite persistence via volume mounts
  • CLI and Library -- use as a global CLI tool, a local development server, or embed as a dependency in your own application
  • Retold Facto Integration -- compatible with retold-facto projections for mapping remote database tables into the Facto data pipeline

Documentation

Comprehensive documentation is available in the docs folder:

Usage Workflows

Step-by-step walkthroughs for real-world deployment scenarios:

Install

$ npm install retold-databeacon

Or install globally for CLI usage:

$ npm install -g retold-databeacon

Quick Start

As a CLI

# Initialize a database and start the server

> **[▶ Read the Retold-Databeacon Documentation](https://fable-retold.github.io/retold-databeacon/)** — interactive docs with the full API reference.

retold-databeacon init
retold-databeacon serve
# Or with options
retold-databeacon serve --port 9000 --db /mnt/data/beacon.sqlite

As a Library

const libPict = require('pict');
const libMeadowConnectionManager = require('meadow-connection-manager');
const libRetoldDataBeacon = require('retold-databeacon');

const fable = new libPict({
	Product: 'MyApp',
	ProductVersion: '1.0.0',
	APIServerPort: 8389,
	SQLite: { SQLiteFilePath: './data/databeacon.sqlite' }
});

fable.serviceManager.addServiceType('MeadowConnectionManager', libMeadowConnectionManager);
fable.serviceManager.instantiateServiceProvider('MeadowConnectionManager');

fable.MeadowConnectionManager.connect('internal',
	{ Type: 'SQLite', SQLiteFilePath: './data/databeacon.sqlite' },
	(pError, pConnection) =>
	{
		fable.MeadowSQLiteProvider = pConnection.instance;

		fable.serviceManager.addServiceType('RetoldDataBeacon', libRetoldDataBeacon);
		const beacon = fable.serviceManager.instantiateServiceProvider('RetoldDataBeacon',
			{ AutoCreateSchema: true });

		beacon.initializeService(
			(pInitError) =>
			{
				console.log('DataBeacon running on port 8389');
			});
	});

With Docker

# Build
docker build -t retold-databeacon .

# Run with a persistent volume
docker run -d -p 8389:8389 -v /path/to/data:/app/data retold-databeacon

Then open http://localhost:8389 to access the web UI.

Configuration

DataBeacon accepts configuration via CLI flags, a JSON config file, or environment variables:

| Option | CLI Flag | Default | Description | |--------|----------|---------|-------------| | Port | --port, -p | 8389 | HTTP server port | | Database Path | --db, -d | ./data/databeacon.sqlite | SQLite file path | | Config File | --config, -c | -- | Path to JSON config file | | Log File | --log, -l | -- | Write logs to file |

Environment variable: PORT overrides the default port.

REST API Overview

| Method | Route | Description | |--------|-------|-------------| | GET | /beacon/connections | List all connections | | POST | /beacon/connection | Create a connection | | POST | /beacon/connection/:id/connect | Establish live connection | | POST | /beacon/connection/:id/introspect | Introspect database schema | | GET | /beacon/connection/:id/tables | List introspected tables | | POST | /beacon/endpoint/:connId/:table/enable | Enable CRUD endpoints | | GET | /beacon/endpoints | List active dynamic endpoints | | GET | /1.0/{Table}s/{Begin}/{Cap} | Read records (dynamic) | | POST | /beacon/ultravisor/connect | Connect to Ultravisor mesh |

Testing

npm test

Building

# Build the web UI bundle
npm run build

# Build Docker image
npm run docker-build

Related Packages

License

MIT