{"id":44706454,"url":"https://github.com/fiestaboard/fiestaboard","last_synced_at":"2026-06-27T21:00:57.114Z","repository":{"id":336400655,"uuid":"1121512698","full_name":"Fiestaboard/FiestaBoard","owner":"Fiestaboard","description":"Fiestaboard","archived":false,"fork":false,"pushed_at":"2026-06-27T19:26:31.000Z","size":71818,"stargazers_count":23,"open_issues_count":33,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-06-27T20:20:29.232Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Fiestaboard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"fiestaboard","custom":["https://fiestaboard.app/buyavestaboard"]}},"created_at":"2025-12-23T05:42:33.000Z","updated_at":"2026-06-27T19:26:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Fiestaboard/FiestaBoard","commit_stats":null,"previous_names":["roblesi/fiestaboard","fiestaboard/fiestaboard"],"tags_count":535,"template":false,"template_full_name":null,"purl":"pkg:github/Fiestaboard/FiestaBoard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fiestaboard%2FFiestaBoard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fiestaboard%2FFiestaBoard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fiestaboard%2FFiestaBoard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fiestaboard%2FFiestaBoard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fiestaboard","download_url":"https://codeload.github.com/Fiestaboard/FiestaBoard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fiestaboard%2FFiestaBoard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34867616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-15T11:00:34.891Z","updated_at":"2026-06-27T21:00:57.085Z","avatar_url":"https://github.com/Fiestaboard.png","language":"Python","funding_links":["https://buymeacoffee.com/fiestaboard","https://fiestaboard.app/buyavestaboard","https://www.buymeacoffee.com/fiestaboard"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"docs-site/static/img/branding/logo-lockup-dark.png\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"docs-site/static/img/branding/logo-lockup-light.png\"\u003e\n    \u003cimg alt=\"FiestaBoard\" src=\"docs-site/static/img/branding/logo-lockup-light.png\" width=\"320\"\u003e\n  \u003c/picture\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Fiestaboard/FiestaBoard/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/Fiestaboard/FiestaBoard/ci.yml?label=CI\" alt=\"CI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://hub.docker.com/r/fiestaboard/fiestaboard\"\u003e\u003cimg src=\"https://img.shields.io/badge/docker-fiestaboard-blue?logo=docker\" alt=\"Docker\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://fiestaboard.app\"\u003e\u003cimg src=\"https://img.shields.io/badge/docs-fiestaboard.app-orange\" alt=\"Documentation\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.gg/JvN8y6ahaf\"\u003e\u003cimg src=\"https://img.shields.io/badge/Discord-Join%20us-7289da?logo=discord\u0026logoColor=white\" alt=\"Discord\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n**FiestaBoard is free, open-source software for Vestaboard and split-flap displays.** It gives you a self-hosted platform with a plugin system to pull in data from the sources that matter to you - weather, stocks, transit, sports, surf conditions, and more - and display it on your board. Compatible with Vestaboard Flagship (22x6) and Note (15x3).\n\nYou bring the board. You bring the API keys for the services you care about. FiestaBoard handles the rest.\n\n**[Full Documentation](https://fiestaboard.app)** \u0026nbsp;|\u0026nbsp; **[Discord Community](https://discord.gg/JvN8y6ahaf)**\n\n---\n\n## Get Started in 5 Minutes\n\n### 🥇 Easiest path for everyone: Flash a Raspberry Pi\n\nIf you have (or are willing to buy) a Raspberry Pi 3B or newer, this is by far the simplest way to run FiestaBoard — no Docker setup, no command line, no config files. You only need three things:\n\n1. A **Raspberry Pi** (3B / 3B+ / Zero 2 W / 4 / 5) with a microSD card and 5 V power supply\n2. **[Raspberry Pi Imager](https://www.raspberrypi.com/software/)** — a free official tool from the Raspberry Pi Foundation that flashes SD cards (works on Mac, Windows, Linux)\n3. The latest **FiestaPi image** from our [Releases page](https://github.com/Fiestaboard/FiestaBoard/releases/latest) (`FiestaPi-\u003cversion\u003e-arm64.img.xz`)\n\n**The 4-step flow:**\n\n1. Open Raspberry Pi Imager → **Choose OS** → **Use custom** → pick the FiestaPi `.img.xz`.\n2. Choose your microSD card and click **Next** → **Edit Settings** to pre-fill your Wi-Fi and timezone, then **Write**.\n3. Insert the SD card into the Pi, plug in power, and wait 2–3 minutes for first boot.\n4. Open **http://fiestapi.local:4420** in any browser on the same network. The setup wizard takes it from there.\n\nThat's it — FiestaBoard starts on every boot and updates itself with one click in Settings.\n\n**→ [Full Raspberry Pi setup guide](docs/setup/RASPBERRY_PI.md)** with detailed flashing instructions, headless Wi-Fi setup, and troubleshooting.\n\n\u003e **Why we recommend this path:** The Pi is inexpensive, low-power, runs 24/7, and is purpose-built to be a reliable always-on display controller. Even users who have never touched a Raspberry Pi before can complete this in under 15 minutes.\n\n### Already running Home Assistant? Use the HA add-on (beta)\n\nIf you have **Home Assistant OS** or **Home Assistant Supervised**, you can install FiestaBoard from the HA Add-on Store. You get sidebar Ingress, MQTT auto-discovery with the Mosquitto add-on, HA-managed backups of all your settings, and updates through HA's UI.\n\n[![Open your Home Assistant instance and show the app store with a specific repository URL pre-filled.](https://my.home-assistant.io/badges/supervisor_store.svg)](https://my.home-assistant.io/redirect/supervisor_store/?repository_url=https%3A%2F%2Fgithub.com%2FFiestaboard%2FFiestaBoard-Home-Assistant-App)\n\n**→ [Home Assistant Add-on setup guide](https://fiestaboard.app/docs/setup/home-assistant-addon)**\n\n\u003e 🧪 **The HA add-on is in beta and we want your feedback.** Report bugs or feature requests at the [add-on repo issues](https://github.com/Fiestaboard/FiestaBoard-Home-Assistant-App/issues), or come say hi on [Discord](https://discord.gg/JvN8y6ahaf) — even \"it just worked\" reports help us stabilize the beta.\n\n### Alternative: Run on a computer with Docker\n\nAlready have a laptop, desktop, NAS, or home server? FiestaBoard runs anywhere Docker runs. **All you need:** Your board's API key + [Docker](https://docs.docker.com/get-started/get-docker/) installed.\n\n#### Pull from Docker Hub (no clone needed)\n\n```bash\n# 1. Create a dedicated folder and move into it (this is where your settings will live)\nmkdir -p ~/fiestaboard \u0026\u0026 cd ~/fiestaboard\n\n# 2. Download the compose file\ncurl -O https://raw.githubusercontent.com/Fiestaboard/FiestaBoard/main/docker-compose.hub.yml\n\n# 3. Start FiestaBoard\ndocker compose -f docker-compose.hub.yml up -d\n```\n\nOpen **http://localhost:4420** in your browser, connect your board, and you're running.\n\n\u003e **Important — keep using the same folder.** FiestaBoard stores all your settings, board credentials, and plugin configuration in a `./data` folder next to the compose file. Always `cd ~/fiestaboard` (or wherever you put it) before running `docker compose pull`, `up`, `down`, or any other compose command. Running compose from a different folder creates a brand-new empty `./data` and your previous settings will appear to be gone. See the [troubleshooting guide](https://fiestaboard.app/docs/troubleshooting#settings-or-board-credentials-are-gone-after-an-update) if this has already happened to you.\n\n#### Clone and use the install wizard\n\n```bash\ngit clone https://github.com/Fiestaboard/FiestaBoard.git\ncd FiestaBoard\n\n# Mac/Linux\n./scripts/install.sh\n\n# Windows (PowerShell)\n.\\scripts\\install.ps1\n```\n\nThe wizard collects your board API key, starts the server, and opens the setup page in your browser.\n\n\u003e **New to Docker or the terminal?** Follow the detailed [Beginner's Guide](https://fiestaboard.app/docs/setup/beginners-guide) for step-by-step instructions with screenshots — it leads with the easy Pi-flash path and falls back to Docker if you don't have a Pi.\n\n### After Setup\n\n1. Open **http://localhost:4420** — the setup wizard will guide you through connecting your board\n2. The display service starts automatically once your board is connected\n3. Go to **Integrations** to enable plugins (weather, stocks, etc.)\n4. Go to **Pages** to create and design what your board displays\n5. Go to **Schedule** to automate when different pages show up\n\n\u003e **Tip:** Many plugins need no API key at all - Date \u0026 Time, Star Trek Quotes, Guest WiFi, Visual Clock, Sun Art, and more work right out of the box. Start with those while you gather API keys for others.\n\n\u003e **Accessing from other devices:** FiestaBoard advertises itself on your local network via mDNS/Bonjour, so you can open **http://fiestaboard.local:4420** from any device on the same network. If `.local` addresses don't work on your network, use your server's IP address instead (e.g. `http://192.168.1.50:4420`).\n\n---\n\n## What Can You Display?\n\nFiestaBoard has a catalog of **50+ plugins** covering weather, finance, transit, sports, entertainment, and home automation. Here's what they look like:\n\n**Weather** - Temperature, UV index, precipitation, high/low, sunset time\n\n![Weather Display](./docs-site/static/img/weather-display.png)\n\n**Stocks** - Real-time prices with color-coded change indicators\n\n![Stocks Display](./docs-site/static/img/stocks-display.png)\n\n**Sports Scores** - Recent match scores from NFL, Soccer, NHL, and NBA\n\n![Sports Scores Display](./docs-site/static/img/sports-scores-display.png)\n\n**Nearby Aircraft** - Real-time aircraft info with call signs, altitude, and speed\n\n![Nearby Aircraft Display](./docs-site/static/img/nearby-aircraft-display.png)\n\n### All Available Plugins\n\n\u003c!-- Sorted alphabetically by plugin name --\u003e\n| Plugin | What It Shows | API Key? |\n|--------|--------------|----------|\n| [Air Quality \u0026 Fog](https://github.com/Fiestaboard/fiestaboard-plugin--air-fog) | AQI and fog conditions | Yes |\n| [Airport Board](https://github.com/Fiestaboard/fiestaboard-plugin--airport-board) | Live flights near a configurable airport | No |\n| [Allergy \u0026 Health](https://github.com/Fiestaboard/fiestaboard-plugin--health) | Allergy levels and health risk indicators | No |\n| [Aurora Forecast](https://github.com/Fiestaboard/fiestaboard-plugin--aurora-forecast) | Geomagnetic Kp index and aurora visibility | No |\n| [Bay Wheels](https://github.com/Fiestaboard/fiestaboard-plugin--baywheels) | Bike availability at stations | No |\n| [Calendar Subscription](https://github.com/Fiestaboard/fiestaboard-plugin--calendar-sub) | Upcoming events from any .ics URL | No |\n| [Countdown](./plugins/countdown/README.md) | Time remaining until an event | No |\n| [Currency Exchange](https://github.com/Fiestaboard/fiestaboard-plugin--currency) | Live exchange rates (Frankfurter/ECB) | No |\n| [Dad Jokes](https://github.com/Fiestaboard/fiestaboard-plugin--dad-jokes) | Random dad jokes | No |\n| [Date \u0026 Time](./plugins/date_time/README.md) | Current date/time in many formats | No |\n| [Disney Park Queue Times](https://github.com/Fiestaboard/fiestaboard-plugin--disney-parks-times) | Wait times for Disney rides | No |\n| [Earthquake Monitor](https://github.com/Fiestaboard/fiestaboard-plugin--earthquake) | Recent USGS earthquake data | No |\n| [Element of the Day](https://github.com/Fiestaboard/fiestaboard-plugin--element-of-day) | Periodic table element of the day | No |\n| [Generic Data](https://github.com/Fiestaboard/fiestaboard-plugin--generic-data) | Custom data from any JSON/XML URL | No |\n| [Guest WiFi](https://github.com/Fiestaboard/fiestaboard-plugin--guest-wifi) | WiFi credentials for guests | No |\n| [Hacker News](https://github.com/Fiestaboard/fiestaboard-plugin--hacker-news) | Top Hacker News story title and score | No |\n| [Home Assistant](https://github.com/Fiestaboard/fiestaboard-plugin--home-assistant) | Smart home status (doors, locks, garage) | Yes (self-hosted) |\n| [ISS Tracker](https://github.com/Fiestaboard/fiestaboard-plugin--iss-tracker) | Real-time ISS position and altitude | No |\n| [Last.fm Now Playing](https://github.com/Fiestaboard/fiestaboard-plugin--last-fm) | Currently playing music | Yes (free) |\n| [Lightning Alerts](https://github.com/Fiestaboard/fiestaboard-plugin--lightning) | Active NWS weather alerts by US state | No |\n| [Moon Phase](https://github.com/Fiestaboard/fiestaboard-plugin--moon-phase) | Current lunar phase and illumination | No |\n| [Muni Transit](https://github.com/Fiestaboard/fiestaboard-plugin--muni) | Real-time SF Muni arrivals | Yes (free) |\n| [National Day](https://github.com/Fiestaboard/fiestaboard-plugin--national-day) | Today's national days and observances | No |\n| [Nearby Aircraft](https://github.com/Fiestaboard/fiestaboard-plugin--nearby-aircraft) | Real-time aircraft tracking | Optional |\n| [Network Speed](https://github.com/Fiestaboard/fiestaboard-plugin--network-speed) | Internet download/upload speed | No |\n| [On This Day](https://github.com/Fiestaboard/fiestaboard-plugin--on-this-day) | Historical event from today's date | No |\n| [Pet Facts](https://github.com/Fiestaboard/fiestaboard-plugin--pet-facts) | Random cat or dog fact | No |\n| [Pi-hole Stats](https://github.com/Fiestaboard/fiestaboard-plugin--pihole) | DNS query stats from local Pi-hole | No |\n| [Quote of the Day](https://github.com/Fiestaboard/fiestaboard-plugin--quote-of-day) | Daily inspirational quote | No |\n| [Random](./plugins/random/README.md) | Randomly selected values from a custom list, coin flip, or board color | No |\n| [Reddit Hot](https://github.com/Fiestaboard/fiestaboard-plugin--reddit-hot) | Top post from any subreddit | No |\n| [River Flow](https://github.com/Fiestaboard/fiestaboard-plugin--river-flow) | Real-time USGS streamflow data | No |\n| [Santa Tracker](https://github.com/Fiestaboard/fiestaboard-plugin--santa-tracker) | Track Santa's journey on Christmas | No |\n| [Solar Activity](https://github.com/Fiestaboard/fiestaboard-plugin--solar-activity) | Sunspot count and solar flare data | No |\n| [Spacecraft Launches](https://github.com/Fiestaboard/fiestaboard-plugin--spacecraft-launches) | Upcoming rocket launch countdowns | No |\n| [Sports Scores](https://github.com/Fiestaboard/fiestaboard-plugin--sports-scores) | NFL, Soccer, NHL, NBA scores | Optional |\n| [Star Trek Quotes](https://github.com/Fiestaboard/fiestaboard-plugin--star-trek-quotes) | Quotes from TNG, Voyager, DS9 | No |\n| [Stardate](https://github.com/Fiestaboard/fiestaboard-plugin--stardate) | Current TNG-era stardate | No |\n| [Stocks](https://github.com/Fiestaboard/fiestaboard-plugin--stocks) | Stock prices with color indicators | Optional |\n| [Sun Art](https://github.com/Fiestaboard/fiestaboard-plugin--sun-art) | Art pattern that follows the sun | No |\n| [Surf Conditions](https://github.com/Fiestaboard/fiestaboard-plugin--surf) | Wave height and quality ratings | No |\n| [Tide Times](https://github.com/Fiestaboard/fiestaboard-plugin--tide-times) | NOAA tide predictions by station | No |\n| [Traffic](https://github.com/Fiestaboard/fiestaboard-plugin--traffic) | Travel time with live traffic | Yes (free tier) |\n| [UV Index](https://github.com/Fiestaboard/fiestaboard-plugin--uv-index) | UV index and sun protection advice | No |\n| [Visual Clock](https://github.com/Fiestaboard/fiestaboard-plugin--visual-clock) | Large pixel-art style clock | No |\n| [Volcano Activity](https://github.com/Fiestaboard/fiestaboard-plugin--volcano) | Active volcanoes from Smithsonian GVP | No |\n| [Weather](https://github.com/Fiestaboard/fiestaboard-plugin--weather) | Temperature, UV, precipitation, high/low | Yes (free) |\n| [Webhook](https://github.com/Fiestaboard/fiestaboard-plugin--webhook) | Custom message via HTTP webhook | No |\n| [White Noise](https://github.com/Fiestaboard/fiestaboard-plugin--white-noise) | Ambient rain/white noise effect | No |\n| [Wildfire Monitor](https://github.com/Fiestaboard/fiestaboard-plugin--wildfire) | Active wildfires from NIFC | No |\n| [Word of the Day](https://github.com/Fiestaboard/fiestaboard-plugin--word-of-day) | Word, pronunciation, and definition | No |\n| [WSDOT Ferries](https://github.com/Fiestaboard/fiestaboard-plugin--wsdot) | WA State ferry schedules and alerts | Yes (free) |\n\n---\n\n## Features\n\n### Rich Page Editor (WYSIWYG)\n\nCreate and edit board pages with a visual editor. See exactly how content will appear on your display, including dynamic data from plugins, colors, and alignment - all in real time.\n\n![Rich Page Editor](./images/page-editor-wysiwyg.png)\n\n### Schedule Mode\n\nUse the visual calendar to schedule which page displays at which time. Set different pages for mornings, afternoons, and evenings. Choose a default page for gaps, or turn scheduling off to pick pages manually.\n\n![Schedule Calendar](./images/schedule-calendar.png)\n\n### Multi-Device Support\n\nCreate pages for both Vestaboard Flagship (22x6) and Note (15x3). The editor and preview adapt to each device's dimensions automatically.\n\n### AI Page Drafts (Optional)\n\nClick the **Gen AI** button in the page editor, describe what you want (\"commute home dashboard with weather and the next two Muni arrivals\"), and an LLM drafts the page for you. You always review and click **Save** — nothing is auto-published to your board.\n\n**Bring your own provider.** FiestaBoard ships with no bundled LLM credentials and supports both **OpenAI-compatible** APIs (OpenRouter, OpenAI, Ollama, LM Studio, vLLM, llama.cpp) and the **Anthropic Messages API** (direct Claude access). See [docs/setup/AI_PROVIDERS.md](docs/setup/AI_PROVIDERS.md) for setup.\n\n### More\n\n- **Configurable Update Interval** - Refresh every 10 seconds to every hour\n- **Silence Schedule** - Set quiet hours so the board doesn't flip at night\n- **Smart Caching** - Page previews load fast; active displays always get fresh data\n- **Docker Ready** - One command to deploy on any system, including Raspberry Pi\n\n---\n\n## Getting Your Board API Key\n\nYou'll need your board's API key to finish setup. There are two options:\n\n### Local API (Recommended)\n\nFaster, supports transition animations, works over your local network.\n\n1. Request a Local API enablement token at [vestaboard.com/local-api](https://www.vestaboard.com/local-api)\n2. After approval, Vestaboard emails you the token\n3. Use the token to enable the Local API on your board (see [Vestaboard Local API docs](https://docs.vestaboard.com/docs/local-api/authentication))\n4. Save the API key and note the board's IP address\n\n### Cloud API\n\nWorks from anywhere with internet. No transition animations.\n\n1. Go to [web.vestaboard.com](https://web.vestaboard.com)\n2. Navigate to **Settings** \u003e **API**\n3. Enable **Read/Write API**\n4. Copy the key\n\nSee [Cloud API Setup](https://fiestaboard.app/docs/setup/cloud-api) for details on choosing between the two modes.\n\n---\n\n## Running on a Raspberry Pi\n\nFor most users, the easiest way to run on a Pi is the pre-built **FiestaPi** image — see the [Get Started](#get-started-in-5-minutes) section above for the 4-step flash flow, or the [full Raspberry Pi setup guide](docs/setup/RASPBERRY_PI.md).\n\nIf you'd rather run Docker on a Pi you've already set up, the pre-built Docker image supports ARM64 out of the box — follow the same Docker Hub setup above. See the [Raspberry Pi Deployment guide](https://fiestaboard.app/docs/deployment/raspberry-pi) for advanced options.\n\n---\n\n## Stopping and Restarting\n\nRun these from the folder you originally started FiestaBoard in (the one with your `docker-compose.hub.yml` or cloned `docker-compose.yml` and your `./data` directory).\n\n```bash\n# Stop FiestaBoard\ndocker compose down\n\n# Start it again (no rebuild needed)\ndocker compose up -d\n\n# View logs if something isn't working\ndocker compose logs -f\n```\n\nIf you pulled the image with `docker-compose.hub.yml`, add `-f docker-compose.hub.yml` to each command (for example `docker compose -f docker-compose.hub.yml down`).\n\nThen open **http://localhost:4420** — the service starts automatically once the container is running.\n\n---\n\n## Troubleshooting\n\n### Board Not Updating\n\n- Make sure the service shows **Running** on the dashboard (http://localhost:4420)\n- Check your board API key is correct (Settings page in the web UI)\n- For local mode: verify your board is on the same network as the server\n- Check logs: `docker compose logs -f`\n\n### Docker Issues\n\n- Make sure Docker Desktop is running (look for the whale icon)\n- Check if the container is running: `docker ps`\n- Port conflict? Change the host port in your compose file (left side of `4420:3000`)\n\n### Plugin Issues\n\n- Find the setup guide for your plugin:\n  - **Built-in plugins** (Countdown, Date \u0026 Time, Random): `plugins/\u003cplugin_name\u003e/docs/SETUP.md` in this repo.\n  - **External plugins** (Weather, Stocks, Muni, and all others): open the plugin's GitHub repository, linked in the \"All Available Plugins\" table above, and look for `docs/SETUP.md` there. You can also reach setup docs from the **Integrations** page in the web UI.\n- Verify API keys are correct and have no extra spaces\n- Check API rate limits haven't been exceeded\n\n### Still stuck?\n\n- Check the full [Troubleshooting Guide](https://fiestaboard.app/docs/troubleshooting)\n- Ask in [Discord](https://discord.gg/JvN8y6ahaf)\n- [Open an issue](https://github.com/Fiestaboard/FiestaBoard/issues) on GitHub\n\n---\n\n## MCP Server\n\nFiestaBoard exposes a built-in **MCP (Model Context Protocol) server** at `/api/mcp`. This lets external AI tools — Claude Desktop, Claude Code, or any MCP-compatible client — fully control your FiestaBoard via conversation: install plugins, create pages, manage schedules, and more.\n\n### Connecting Claude Desktop\n\nClaude Desktop only accepts stdio MCP entries, so connect via the `mcp-remote` proxy. First generate a bearer token in **Settings → Integrations → MCP / external clients**, then add to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"fiestaboard\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-remote\",\n        \"http://fiestaboard.local:4420/api/mcp/\",\n        \"--allow-http\",\n        \"--header\",\n        \"Authorization: Bearer \u003cYOUR_TOKEN\u003e\"\n      ]\n    }\n  }\n}\n```\n\n### Connecting Claude Code\n\n```bash\nclaude mcp add fiestaboard --transport http \\\n    --url http://fiestaboard.local:4420/api/mcp/ \\\n    --header \"Authorization: Bearer \u003cYOUR_TOKEN\u003e\"\n```\n\n### Available tools\n\nThe MCP server exposes 28 tools covering the full FiestaBoard API:\n\n| Category | Tools |\n|----------|-------|\n| Plugins | `list_installed_plugins`, `list_registry_plugins`, `install_plugin`, `enable_plugin`, `disable_plugin`, `uninstall_plugin`, `configure_plugin`, `update_plugin`, `get_template_variables`, `get_plugin_data` |\n| Pages | `list_pages`, `get_page`, `create_page`, `update_page`, `delete_page`, `render_page_preview` |\n| Schedules | `list_schedules`, `create_schedule`, `update_schedule`, `delete_schedule` |\n| Collections | `list_collections`, `create_collection`, `update_collection`, `delete_collection` |\n| System | `get_system_status`, `get_settings_summary`, `set_active_page`, `set_schedule_mode` |\n\nThe MCP server requires a bearer token for all requests. Generate one in **Settings → Integrations → MCP / external clients**. See [MCP Clients Setup](docs/setup/MCP_CLIENTS.md) for full setup details and troubleshooting.\n\n---\n\n## Documentation\n\nFull documentation is at **[fiestaboard.app](https://fiestaboard.app)**, including:\n\n- **[Beginner's Guide](https://fiestaboard.app/docs/setup/beginners-guide)** - Step-by-step for non-technical users\n- **[Your First 10 Minutes](https://fiestaboard.app/docs/setup/first-10-minutes)** - What to do right after setup\n- **[Plugin Configuration](https://fiestaboard.app/docs/plugins/configuration)** - Enable and configure data sources\n- **[Schedule Mode](https://fiestaboard.app/docs/features/schedule)** - Automate your display\n- **[Raspberry Pi Deployment](https://fiestaboard.app/docs/deployment/raspberry-pi)** - Always-on setup\n- **[Plugin Development Guide](https://fiestaboard.app/docs/development/plugin-guide)** - Build your own plugins\n\n---\n\n## For Developers\n\nIf you want to **contribute code** or **build plugins** (not just use FiestaBoard), see the development guides:\n\n- **[Contributing Guide](./CONTRIBUTING.md)** - Branch workflow, PR process, standards\n- **[Local Development](./docs/setup/LOCAL_DEVELOPMENT.md)** - Dev environment with hot-reload\n- **[Plugin Development](./docs/development/PLUGIN_DEVELOPMENT.md)** - Create custom plugins\n\n```bash\n# Development environment (hot-reload for Python, volume mounts)\ndocker compose -f docker-compose.dev.yml up --build\n```\n\n### Project Structure\n\n```text\nFiestaBoard/\n├── plugins/          # Plugin-based data sources (weather, stocks, etc.)\n├── src/              # Platform core (API server, display service, plugin system)\n├── web/              # React Router v7 + Vite web UI\n├── docs/             # Development documentation\n├── docs-site/        # Documentation website (fiestaboard.app)\n├── Dockerfile        # Unified container (API + Web UI + nginx)\n└── docker-compose.yml\n```\n\n## Accessibility\n\nFiestaBoard aims to meet [WCAG 2.2 Level AA](https://www.w3.org/TR/WCAG22/) standards. We are committed to making the web UI accessible to everyone, including users who rely on assistive technologies. If you find an accessibility issue, please [open an issue](https://github.com/Fiestaboard/FiestaBoard/issues) or reach out on [Discord](https://discord.gg/JvN8y6ahaf).\n\n---\n\n## Sponsors\n\n- [Vestaboard](https://fiestaboard.app/buyavestaboard) — Get $200 off a Vestaboard. Using this referral link helps support FiestaBoard at no extra cost to you.\n\n## Support the Project\n\nFiestaBoard is free and open source. If you find it useful and want to support continued development, consider buying me a coffee!\n\n\u003ca href=\"https://www.buymeacoffee.com/fiestaboard\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e\n\n---\n\n## Disclaimer\n\nFiestaBoard is an independent, open-source project and is not affiliated with, sponsored by, or endorsed by Vestaboard, Inc. \"Vestaboard\" is a trademark of Vestaboard, Inc. FiestaBoard simply provides software that is compatible with Vestaboard hardware via their official APIs.\n\nMade with ❤️ in San Francisco.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffiestaboard%2Ffiestaboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffiestaboard%2Ffiestaboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffiestaboard%2Ffiestaboard/lists"}