Skip to content

sudoBrandino/WelcomeBoard

WelcomeBoard

CI Docker

Self-hosted hotel-style guest welcome display. Show a beautiful welcome screen on any TV or tablet with guest names, live clock, weather, WiFi QR code, and custom info cards.

Features

  • TV Display — Elegant welcome screen with guest name, live clock, weather, and WiFi QR code
  • Admin Dashboard — Manage guests, themes, info cards, WiFi, and display settings from any device
  • Themes — Multiple built-in themes (dark elegant, minimal, warm) plus custom theme support
  • Info Cards — Admin-configured content blocks: house rules, checkout time, local recommendations
  • Weather — Current temperature and conditions via Open-Meteo (free, no API key)
  • UniFi Integration — Auto-sync guest WiFi SSID/password from your UniFi controller
  • WiFi QR Code — Guests scan to connect instantly (works on iOS and Android)
  • SQLite Database — Zero-config persistent storage, no external DB needed
  • Multi-guest Support — Multiple active guests shown as "Welcome, Jane & John"
  • Custom Messages — Per-guest welcome messages
  • Anti burn-in — Subtle content drift to protect your display

Quick Start

Pull the pre-built image from GitHub Container Registry:

docker compose up -d

Or build locally:

docker compose up -d --build
URL Purpose
http://<host>:3000/display TV-facing welcome screen
http://<host>:3000/admin Admin dashboard

Docker Pull (manual)

docker pull ghcr.io/sudobrandino/welcomeboard:main

Local Development

npm install
npm run dev

Configuration

Copy .env.example to .env and configure as needed. All settings have sensible defaults.

UniFi Integration (optional)

Set these environment variables (in .env or docker-compose.yml):

UNIFI_HOST=192.168.1.1
UNIFI_PORT=443
UNIFI_USER=admin
UNIFI_PASS=your-password
UNIFI_SITE=default
UNIFI_IS_UNIFIOS=true    # true for UDM/UDR/CK Gen2+

Then hit "Sync Guest WiFi" in the admin panel.

Tip: Create a read-only local admin account on your UniFi controller specifically for this integration.

Architecture

┌─────────────┐     ┌──────────────┐     ┌──────────────────┐
│  TV Display  │◄────│  Express API │────►│  UniFi Controller│
│  (HTML/JS)   │     │  + SQLite    │     │  (optional)      │
└─────────────┘     └──────────────┘     └──────────────────┘
                          ▲
                    ┌─────┴──────┐
                    │ Admin Panel│
                    │ (Alpine.js)│
                    └────────────┘

Single container. No build step. No external dependencies beyond Docker.

License

MIT

About

Self-hosted hotel-style guest welcome display with themes, weather, info cards, and UniFi WiFi integration

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors