mirror of
https://github.com/screentinker/screentinker.git
synced 2026-08-13 13:53:12 -06:00
* feat(seo): enable IndexNow (key file + submission script) Instant re-crawl pings to Bing/Yandex/Seznam/Naver on content changes (Google ignores IndexNow but uses the same sitemap). Hosts the ownership key at frontend/<key>.txt (served at https://screentinker.com/<key>.txt) and adds scripts/indexnow-submit.sh which POSTs the sitemap URLs to api.indexnow.org (DRY_RUN=1 to preview). Run after a content deploy / from CI. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat(seo): landing-page optimization pass (schema fixes, FAQ, content depth, CWV) From a 3-way SEO audit (technical / structured-data / content). Highest-value fixes: Structured data (penalty risk + rich results): - REMOVE the fabricated aggregateRating (4.8/50) from SoftwareApplication — no visible reviews on the page = a "spammy structured markup" risk. Replace loose Offers with a proper AggregateOffer + publisher + image/screenshot. - Add a VISIBLE FAQ section (10 Q&As) so the FAQPage schema finally has on-page content (it shipped 4 Q&As with no visible counterpart — a mismatch); expand the FAQPage JSON-LD to mirror all 10. - Add a WebSite entity block; add YouTube to Organization sameAs + a description. - Fix the guides/compare BreadcrumbList position-2 target (dead /#features -> /). Content / keywords / IA: - Hero + Features subtitle rewritten to surface "digital signage software" / "digital signage CMS" / "self-host" / "free" above the fold. - New "How It Works" (3-step) and "Use Cases / Industries" (8 verticals) sections for snippet + long-tail intent. Platform tiles (Android TV / Fire TV / Raspberry Pi) now link to their guides. - FAQ answers add keyword-rich internal links to the guides + compare pages. Technical / Core Web Vitals: - Lazy-load the YouTube iframe (loading=lazy + youtube-nocookie + explicit width/height) — the top LCP/TBT win on mobile. - Title 84->~60 chars (keyword-front), meta description ~178->~156 + CTA. - <div> footer -> <footer> landmark; favicon sizes (192+512). - sitemap.xml: add <lastmod> to all 10 URLs. All JSON-LD validated (4 blocks parse; single H1; no fabricated data). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat(seo): open-source/what-is pillars, Xibo+Anthias compares, integrations hub [#177] Competitor-SEO gap-fill from the Yodeck/ScreenCloud/OptiSigns/Xibo teardowns. 11 new static pages + sitemap/landing/README wiring. All match the existing seo-page.css template; BreadcrumbList on every page, FAQPage (visible-backed) on guides + integration spokes. No fabricated ratings. Pillar guides: - guides/open-source-digital-signage.html (head term "open source digital signage") - guides/what-is-digital-signage.html (TOFU definitional pillar + FAQ) Comparisons (the open-source SERP Xibo/Anthias own): - compare/xibo-alternative.html (wedge: every ScreenTinker player free vs Xibo's paid Android/Tizen/webOS licences; no free plan) - compare/anthias-alternative.html (wedge: fleet + video walls + multi-platform vs one-Pi-one-screen) Integrations (OptiSigns' top tactic — one page per app): - integrations/index.html hub - google-slides / canva / power-bi (honestly framed as the universal Webpage widget, with the X-Frame-Options / publish-vs-edit-URL caveat + Power BI public-data warning) - youtube / rss / weather (native widgets) Wiring: - sitemap.xml +11 URLs (lastmod 2026-07-13) - landing.html Resources grid: 6 new cards (open-source, what-is, vs Xibo, vs Anthias, integrations hub) - README.md: keyword-rich open-source/self-hosted intro + platform list + guide links (GitHub-SERP asset) - docs/seo-directory-listings.md: off-repo G2/Capterra/AlternativeTo/awesome-selfhosted/fingoweb submission checklist + reusable kit Validated: all JSON-LD parses, canonicals match paths, 0 broken internal links, sitemap well-formed (21 URLs). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
217 lines
16 KiB
HTML
217 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Open Source Digital Signage Software - Free & Self-Hosted (2026) | ScreenTinker</title>
|
|
<meta name="description" content="A guide to open source digital signage software. Own your data, pay no per-screen fees, and self-host or use the cloud. ScreenTinker is a free, MIT-licensed digital signage CMS.">
|
|
<meta name="keywords" content="open source digital signage, open source digital signage software, open source digital signage cms, free digital signage software, self hosted digital signage, mit licensed signage">
|
|
<meta name="robots" content="index, follow">
|
|
<link rel="canonical" href="https://screentinker.com/guides/open-source-digital-signage.html">
|
|
|
|
<meta property="og:type" content="article">
|
|
<meta property="og:url" content="https://screentinker.com/guides/open-source-digital-signage.html">
|
|
<meta property="og:title" content="Open Source Digital Signage Software - Free & Self-Hosted (2026)">
|
|
<meta property="og:description" content="Own your data, pay no per-screen fees, self-host or use the cloud. ScreenTinker is a free, MIT-licensed digital signage CMS.">
|
|
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
|
<meta property="og:site_name" content="ScreenTinker">
|
|
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:title" content="Open Source Digital Signage Software - Free & Self-Hosted (2026)">
|
|
<meta name="twitter:description" content="Own your data, pay no per-screen fees, self-host or use the cloud. ScreenTinker is a free, MIT-licensed digital signage CMS.">
|
|
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
|
|
|
<meta name="theme-color" content="#111827">
|
|
<link rel="icon" href="/assets/icon-192.png">
|
|
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
|
<link rel="stylesheet" href="/css/seo-page.css">
|
|
</head>
|
|
<body>
|
|
<nav>
|
|
<div class="nav-inner">
|
|
<div class="nav-logo">
|
|
<a href="/" style="display:flex;align-items:center;gap:10px">
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
|
<span class="nav-logo-text">ScreenTinker</span>
|
|
</a>
|
|
</div>
|
|
<div class="nav-links">
|
|
<a href="/#features">Features</a>
|
|
<a href="/#pricing">Pricing</a>
|
|
<a href="/#compare">Compare</a>
|
|
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
|
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<main class="article">
|
|
<nav class="breadcrumb" aria-label="Breadcrumb">
|
|
<a href="/">Home</a>
|
|
<span>/</span>
|
|
<a href="/#features">Guides</a>
|
|
<span>/</span>
|
|
<span>Open Source Digital Signage</span>
|
|
</nav>
|
|
|
|
<h1>Open Source Digital Signage Software: Free & Self-Hosted (2026)</h1>
|
|
<p class="lead">Open source digital signage lets you own your content, skip per-screen subscription fees, and run your screens on your own terms. Here is what it means, why it matters, and how ScreenTinker fits in.</p>
|
|
|
|
<h2>What is open-source digital signage?</h2>
|
|
<p>Open-source digital signage is signage software whose source code is publicly available under a permissive license, so anyone can inspect, run, modify, and redistribute it. Instead of renting access to a closed cloud platform, you get the actual application - the content management system (CMS) that schedules and pushes content, plus the players that run on your screens.</p>
|
|
<p>ScreenTinker is an open-source digital signage CMS released under the <strong>MIT license</strong>. That license is about as permissive as it gets: you can audit the code, fork it, extend it, and deploy it commercially with no strings attached. You can run it as a managed cloud service or self-host it on a server you control - the same codebase either way.</p>
|
|
|
|
<h2>Why choose open source over cloud SaaS?</h2>
|
|
<ul>
|
|
<li><strong>Data ownership.</strong> With a self-hosted open-source deployment, your content, schedules, device list, and logs live on infrastructure you control - not in a vendor's cloud. For healthcare, finance, government, and education, that is often a hard requirement.</li>
|
|
<li><strong>No per-screen fees.</strong> Closed SaaS products charge a recurring fee for every screen, typically $5-15/screen/month. Self-hosting ScreenTinker replaces that with a flat server cost - a $5 VPS can run hundreds of screens.</li>
|
|
<li><strong>No vendor lock-in.</strong> If a cloud vendor raises prices, pivots, or shuts down, your deployment goes with it. With MIT-licensed source you own your copy and control your own roadmap.</li>
|
|
<li><strong>Auditable and MIT-licensed.</strong> You can read every line, run a security review, and satisfy procurement teams that need to know exactly what runs on the network.</li>
|
|
<li><strong>Self-host or cloud.</strong> Open source does not force you onto your own servers. Start on the hosted free plan to evaluate, then self-host when you are ready - or stay on the cloud if you prefer managed hosting.</li>
|
|
</ul>
|
|
|
|
<h2>What ScreenTinker gives you</h2>
|
|
<p>ScreenTinker is a full digital signage platform, not just a media player. Everything below is in the open-source project:</p>
|
|
<ul>
|
|
<li><strong>Content and scheduling:</strong> playlists, scheduling and dayparting, content expiry, and multi-zone layouts.</li>
|
|
<li><strong>Multi-screen:</strong> video walls with multi-screen sync, group sync, kiosk mode, and offline-native playback that keeps running when the network drops.</li>
|
|
<li><strong>Management:</strong> live remote control (Android players, with accessibility permission), auto-update/OTA, telemetry, a public API with scoped tokens, an agency portal, and white-label / reseller support.</li>
|
|
<li><strong>Every player is free:</strong> Android TV / Fire TV (native APK), Samsung Tizen (.wgt), LG webOS, Amazon Vega OS, Raspberry Pi (free setup script), and Windows / ChromeOS / any browser via the web player.</li>
|
|
<li><strong>Native widgets:</strong> YouTube, RSS, Weather, Clock, Text/HTML, Social, and a Directory-board. A universal <strong>Webpage</strong> widget embeds any framable public URL - published Google Slides, Canva, Power BI publish-to-web, and live dashboards.</li>
|
|
<li><strong>Self-host switch:</strong> set <code>SELF_HOSTED=true</code> to unlock the enterprise plan, disable subscription and Stripe checks, and run unlimited devices for free.</li>
|
|
</ul>
|
|
|
|
<h2>Open source vs the paid SaaS incumbents</h2>
|
|
<p>The dominant hosted products - Yodeck, ScreenCloud, OptiSigns - are closed, cloud-only, and billed per screen. Here is how an open-source CMS compares:</p>
|
|
<div class="compare-table-wrap">
|
|
<table class="compare-table">
|
|
<thead>
|
|
<tr><th>Concern</th><th>ScreenTinker (open source)</th><th>Cloud SaaS (Yodeck / ScreenCloud / OptiSigns)</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr><td>License / source access</td><td class="yes">Open source (MIT)</td><td class="no">Closed / proprietary</td></tr>
|
|
<tr><td>Per-screen monthly fee</td><td class="yes">None</td><td class="no">$5-15/screen/month</td></tr>
|
|
<tr><td>Self-host on your own server</td><td class="yes">Yes</td><td class="no">No</td></tr>
|
|
<tr><td>Data location</td><td class="yes">Your server (or ST cloud)</td><td class="no">Vendor's cloud</td></tr>
|
|
<tr><td>Air-gapped / offline LAN deployment</td><td class="yes">Possible</td><td class="no">Not possible</td></tr>
|
|
<tr><td>Player apps included free</td><td class="yes">All platforms</td><td class="partial">Varies / add-on hardware</td></tr>
|
|
<tr><td>Fork / customize the code</td><td class="yes">Yes</td><td class="no">No</td></tr>
|
|
<tr><td>Vendor lock-in risk</td><td class="yes">None (you own it)</td><td class="no">High</td></tr>
|
|
<tr><td>Managed cloud option available</td><td class="yes">Yes (free / $39 / $99)</td><td class="yes">Yes</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<h2>How ScreenTinker compares to other open-source options</h2>
|
|
<p>ScreenTinker is not the only open-source signage project - the two best-known alternatives are Xibo and Anthias (formerly Screenly OSE).</p>
|
|
<p><strong>vs Xibo:</strong> Xibo is open source on the server side, but its player apps are not all free - the Android, Tizen, and webOS players are paid licenses. With ScreenTinker every player is free on every platform. See the <a href="/compare/xibo-alternative.html">ScreenTinker vs Xibo comparison</a>.</p>
|
|
<p><strong>vs Anthias:</strong> Anthias is a lightweight single-screen player built for one Raspberry Pi at a time, without a true multi-device fleet CMS. ScreenTinker is a modern multi-device platform - manage Android TV, Fire TV, Tizen, webOS, Vega, Pi, and browsers from one dashboard. See the <a href="/compare/anthias-alternative.html">ScreenTinker vs Anthias comparison</a>.</p>
|
|
|
|
<h2>Getting started</h2>
|
|
<p>The fastest path is the hosted free plan - one device, no server to run. When you are ready to self-host, clone the repo:</p>
|
|
<pre><code>git clone https://github.com/screentinker/screentinker.git
|
|
cd screentinker/server
|
|
npm install
|
|
cp .env.example .env
|
|
# edit .env with your domain, JWT_SECRET, and SELF_HOSTED=true
|
|
node server.js</code></pre>
|
|
<p>ScreenTinker runs on Node.js with a SQLite database, so a $5 VPS is enough to manage hundreds of screens. Full deployment details are in the <a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub README</a>, and the <a href="/guides/self-hosted-digital-signage.html">self-hosted guide</a> walks through reverse proxy, TLS, and backups.</p>
|
|
|
|
<h2>Frequently asked questions</h2>
|
|
<h3>Is ScreenTinker really free and open source?</h3>
|
|
<p>Yes. ScreenTinker is released under the MIT license, so the full source code is public and you can audit, fork, and extend it. Self-hosting is free with unlimited devices; the managed cloud has a free plan plus paid tiers if you prefer hosted convenience.</p>
|
|
<h3>What does the MIT license let me do?</h3>
|
|
<p>The MIT license lets you run, modify, and redistribute the software - including commercially - with essentially no restrictions beyond keeping the copyright notice. You can build custom widgets, integrate it into your own systems, and white-label it.</p>
|
|
<h3>Do I have to self-host to use open-source digital signage?</h3>
|
|
<p>No. Open source means the code is available if you want it, but you can still use ScreenTinker's managed cloud. Many teams start on the hosted free plan and self-host later once their screen count grows.</p>
|
|
<h3>Are all the player apps free?</h3>
|
|
<p>Yes. Android TV / Fire TV, Samsung Tizen, LG webOS, Amazon Vega OS, Raspberry Pi, and the browser-based web player are all free on every platform, with no per-player license.</p>
|
|
<h3>How is ScreenTinker different from Xibo?</h3>
|
|
<p>Both are open source on the server, but Xibo charges license fees for its Android, Tizen, and webOS players. ScreenTinker keeps every player free on every platform.</p>
|
|
<h3>How many screens can a self-hosted server handle?</h3>
|
|
<p>ScreenTinker runs on Node.js and SQLite, which is efficient. A small $5/month VPS can comfortably manage hundreds of screens; larger fleets just need a bit more CPU, RAM, and storage.</p>
|
|
|
|
<div class="related">
|
|
<h2>Related guides</h2>
|
|
<ul>
|
|
<li><a href="/guides/what-is-digital-signage.html">What is digital signage? A complete guide</a></li>
|
|
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
|
<li><a href="/guides/raspberry-pi-digital-signage.html">How to set up digital signage on a Raspberry Pi</a></li>
|
|
<li><a href="/compare/xibo-alternative.html">Compare: ScreenTinker vs Xibo</a></li>
|
|
<li><a href="/compare/anthias-alternative.html">Compare: ScreenTinker vs Anthias</a></li>
|
|
<li><a href="/compare/yodeck-alternative.html">Compare: ScreenTinker vs Yodeck</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="cta">
|
|
<h2>Start with open-source signage</h2>
|
|
<p>Try the hosted free plan in under a minute, or clone the repo and self-host today.</p>
|
|
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free</a>
|
|
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
|
</div>
|
|
</main>
|
|
|
|
<footer>
|
|
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
|
<div class="links">
|
|
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
|
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
|
<a href="/legal/terms.html">Terms</a>
|
|
<a href="/legal/privacy.html">Privacy</a>
|
|
<a href="/legal/third-party.html">Licenses</a>
|
|
<a href="/app#/login">Sign In</a>
|
|
</div>
|
|
</footer>
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "BreadcrumbList",
|
|
"itemListElement": [
|
|
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
|
{ "@type": "ListItem", "position": 2, "name": "Guides", "item": "https://screentinker.com/" },
|
|
{ "@type": "ListItem", "position": 3, "name": "Open Source Digital Signage", "item": "https://screentinker.com/guides/open-source-digital-signage.html" }
|
|
]
|
|
}
|
|
</script>
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "FAQPage",
|
|
"mainEntity": [
|
|
{
|
|
"@type": "Question",
|
|
"name": "Is ScreenTinker really free and open source?",
|
|
"acceptedAnswer": { "@type": "Answer", "text": "Yes. ScreenTinker is released under the MIT license, so the full source code is public and you can audit, fork, and extend it. Self-hosting is free with unlimited devices; the managed cloud has a free plan plus paid tiers if you prefer hosted convenience." }
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "What does the MIT license let me do?",
|
|
"acceptedAnswer": { "@type": "Answer", "text": "The MIT license lets you run, modify, and redistribute the software - including commercially - with essentially no restrictions beyond keeping the copyright notice. You can build custom widgets, integrate it into your own systems, and white-label it." }
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Do I have to self-host to use open-source digital signage?",
|
|
"acceptedAnswer": { "@type": "Answer", "text": "No. Open source means the code is available if you want it, but you can still use ScreenTinker's managed cloud. Many teams start on the hosted free plan and self-host later once their screen count grows." }
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "Are all the player apps free?",
|
|
"acceptedAnswer": { "@type": "Answer", "text": "Yes. Android TV / Fire TV, Samsung Tizen, LG webOS, Amazon Vega OS, Raspberry Pi, and the browser-based web player are all free on every platform, with no per-player license." }
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "How is ScreenTinker different from Xibo?",
|
|
"acceptedAnswer": { "@type": "Answer", "text": "Both are open source on the server, but Xibo charges license fees for its Android, Tizen, and webOS players. ScreenTinker keeps every player free on every platform." }
|
|
},
|
|
{
|
|
"@type": "Question",
|
|
"name": "How many screens can a self-hosted server handle?",
|
|
"acceptedAnswer": { "@type": "Answer", "text": "ScreenTinker runs on Node.js and SQLite, which is efficient. A small $5/month VPS can comfortably manage hundreds of screens; larger fleets just need a bit more CPU, RAM, and storage." }
|
|
}
|
|
]
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|