Skip to main content
Version: 4.0

Plugins Overview

FiestaBoard uses a plugin architecture to bring live data to your Vestaboard. Each data source is a self-contained plugin you can enable or disable independently. There are currently 26 built-in plugins, and many work without any API key.

FiestaBoard supports three ways to add plugins:

SourceDescription
Built-inPlugins that ship with FiestaBoard in the plugins/ directory. These are always available.
RegistryCommunity plugins listed in the curated plugin-registry.json. They are installed from public git repositories that follow the fiestaboard-plugin--{name} naming convention.
Custom GitAny public git repository can be installed as a plugin. Custom repos do not need to follow the naming convention.

Enabling Plugins

All plugin management is done through the Web UI:

  1. Open http://localhost:4420
  2. Go to the Integrations page
  3. Toggle plugins on or off
  4. For plugins that need API keys, the Integrations page shows you where to get them and has fields to enter them
Full Integrations page with plugin list and settings

No API Key Required

These plugins work immediately after enabling - no registration or API keys needed:

PluginWhat It Shows
Bay WheelsBike availability at Bay Area stations
CountdownTime remaining until a target event
Dad JokesRandom dad jokes from icanhazdadjoke
Date & TimeCurrent date and time in multiple formats (12h/24h, US/international) with timezone support
Disney Parks Queue TimesLive wait times for rides at Disney parks worldwide
Generic DataFetch data from any URL (JSON or XML) and map fields to template variables
Guest WiFiYour WiFi network name and password for guests
Allergy & HealthDisplay allergy levels (pollen counts) and health risk indicators using Open-Meteo data
Santa TrackerTrack Santa's journey around the world on Christmas Eve
Spacecraft LaunchesTrack upcoming spacecraft launch countdowns and statuses
Star Trek QuotesRandom quotes from TNG, Voyager, and DS9
StardateCurrent TNG-era stardate
Sun ArtFull-screen art pattern that changes with the sun's position throughout the day
Surf ConditionsWave height, swell period, and quality ratings
Visual ClockLarge pixel-art style clock that fills the whole board
White NoiseAmbient rain/white noise effect with cascading tiles

Free API Key Required

These plugins need a free API key from an external service:

PluginWhat It ShowsWhere to Get the Key
WeatherTemperature, UV index, precipitation, high/low, sunsetweatherapi.com (1M calls/month free) or openweathermap.org
Muni TransitReal-time SF Muni arrival predictions511.org (free)
WSDOT FerriesWA State ferry schedules, vessel names, car spots, and alertswsdot.wa.gov/traffic/api (free)
Last.fm Now PlayingCurrently playing music via Last.fm scrobblinglast.fm/api (free)

Free Tier API Key Required

These plugins need an API key from a service with a generous free tier:

PluginWhat It ShowsWhere to Get the KeyFree Tier
TrafficTravel time to destinations with live trafficGoogle Cloud Console (Routes API)$200/month credit
Home AssistantSmart home status (doors, garage, locks, etc.)Your Home Assistant instanceSelf-hosted
Air Quality & FogAQI and fog conditionsPurpleAir or OpenWeatherMapVaries

Optional API Key

These plugins work without an API key but offer additional features with one:

PluginWithout API KeyWith API Key
StocksMonitor stock prices with color-coded indicatorsBetter symbol search/autocomplete (finnhub.io)
Sports ScoresNFL, Soccer, NHL, NBA match scoresExtended data (thesportsdb.com)
Nearby AircraftReal-time aircraft info from OpenSky NetworkHigher rate limits (opensky-network.org)

Using Plugin Data in Pages

Once a plugin is enabled, its data becomes available as template variables in the page editor:

  1. Create or edit a page in the Pages section
  2. Click the Variables button in the editor toolbar
  3. Browse variables grouped by plugin
  4. Click a variable to insert it at the cursor position

Variables look like {{weather.temperature}} or {{date_time.datetime}} and are automatically replaced with live data when the page is displayed.

For more details, see Plugin Configuration.

Creating Your Own Plugins

Want to add a data source that isn't built in? Check out the Plugin Development Guide to learn how to create custom plugins.

Installing External Plugins

External plugins can be installed from the plugin registry or from any public git repository.

From the Registry

The plugin registry is a curated list of community plugins maintained in the FiestaBoard repository. Browse available plugins and install them through the API:

# List all registry plugins
curl http://localhost:4420/api/plugins/registry

# Install a registry plugin
curl -X POST http://localhost:4420/api/plugins/registry/my_plugin/install

Registry plugins must follow the fiestaboard-plugin--{name} repository naming convention. This ensures they are easy to identify and maintain.

From a Git Repository

You can install any public git repository as a plugin. Only HTTPS URLs are accepted for security. Custom repositories do not need to follow the naming convention:

# Install from a git URL
curl -X POST http://localhost:4420/api/plugins/install \
-H "Content-Type: application/json" \
-d '{"repository": "https://github.com/someone/my-custom-plugin"}'

# Install with a specific branch
curl -X POST http://localhost:4420/api/plugins/install \
-H "Content-Type: application/json" \
-d '{"repository": "https://github.com/someone/my-custom-plugin", "branch": "main"}'

Uninstalling External Plugins

External plugins can be removed when no longer needed. Built-in plugins cannot be uninstalled.

curl -X DELETE http://localhost:4420/api/plugins/my_plugin/uninstall

External plugins are cloned into the external_plugins/ directory and persist across container restarts.