{% extends "base.html" %} {% block title %}User guide · LibreSignage{% endblock %} {% block meta_description %}Learn how to manage content, playlists, schedules, layouts, and screens in LibreSignage.{% endblock %} {% block head %} {% endblock %} {% block content %}
End-user documentation

LibreSignage user guide

Create, organize, schedule, preview, and publish digital signage from one central dashboard.

This guide follows the usual workflow from adding your first item to confirming that it is playing on a screen.

Start with the basics Open dashboard

How LibreSignage works

LibreSignage separates preparation from delivery. You add reusable items to the content library, arrange them in playlists, optionally control when they play with schedules or where they appear with layouts, and then assign the result to managed screens.

{% for title, description in [ ("Content", "The individual images, videos, PDFs, messages, web pages, feeds, clocks, and QR codes."), ("Playlist", "An ordered sequence of content with timing, transitions, and looping settings."), ("Schedule", "A rule that activates a playlist by date, weekday, local time, and priority."), ("Layout", "A fixed multi-zone design in which each zone plays its own playlist."), ("Screen", "A registered display with a stable player URL, profile, assignment, and published revision."), ("Publish", "The action that delivers all staged screen changes to the players.") ] %}

{{ title }}

{{ description }}

{% endfor %}
Draft versus published: assignment changes are staged first. Screens keep showing their last published revision until an administrator selects Publish.

Quick start: put content on one screen

{% for number, title, description, endpoint, link_text in [ (1, "Add content", "Upload a file or create a text, clock, QR, feed, or web item. Give it a clear title and duration.", "content.index", "Open Content"), (2, "Build a playlist", "Create a playlist, open it, add library items, and arrange their playback order.", "content.playlists", "Open Playlists"), (3, "Register a screen", "Add the display, record its location, and set its resolution and media-scaling preference.", "dashboard.screen_inventory", "Open Screens"), (4, "Stage the assignment", "Choose Direct playlist as the screen playback source and select the playlist.", "dashboard.screen_inventory", "Assign content"), (5, "Preview and publish", "Preview the draft, correct anything unexpected, then publish the staged changes.", "dashboard.index", "Open Dashboard"), (6, "Open the player", "Open the screen player URL on the display and wait until the offline playlist reports ready.", "dashboard.screen_inventory", "Find player URL") ] %} {% endfor %}

Manage the content library

Go to Content to add and organize everything that can appear on a display.

Supported content

TypeWhat to provideImportant behavior
ImageAn image fileUses the screen's fit, crop, or stretch setting.
VideoA video fileProcesses in the background and is skipped until ready.
PDFA PDF fileDisplayed for the item's configured duration.
TextA messageRendered locally and available offline.
ClockAn IANA timezone, such as America/ChicagoContinues updating offline.
QR codeA website or contact detailsGenerated locally; contact codes can include a structured address.
Web pageAn HTTPS URLThe site must allow iframe embedding and requires connectivity.
FeedAn RSS or Atom URLRefreshes periodically and keeps the last successful result.

Organize and maintain assets

  • Set the default duration; a playlist entry can override it.
  • Use one folder and up to ten comma-separated tags for filtering.
  • Set an expiry date for temporary campaigns. Expired items remain visible but are skipped during playback.
  • Search by title, text, URL, folder, or tag, and use the folder filter for a narrower view.
  • Use Edit / replace to update an asset without losing its playlist positions.
  • Check the usage badge before deleting. An in-use item requires explicit confirmation and is removed from its playlists.
Video uploads show Video processing… while the server prepares them. Do not expect a new video to appear in players until its status is ready. A conversion failure is shown in the library.

Create designs from templates

Templates provide accessible announcement, promotion, and information-notice designs without requiring design software.

  1. Choose the template that best matches the message.
  2. Enter its labeled text, duration, brand color, and text color.
  3. If you upload an image, provide alternative text that describes it.
  4. Review the live preview, then create the item.

LibreSignage checks text contrast for accessibility. The finished design becomes a normal content item and can be reused anywhere.

Build and arrange playlists

Go to Playlists, create a named playlist, and open it to add items from the library.

  • Place entries in the exact order they should play.
  • Keep an entry's default duration or set an override for this playlist only.
  • Choose no transition or a fade transition between entries.
  • Enable looping for continuous signage, or disable it for one-time playback.
  • Use the playlist player to review the complete sequence.

A player automatically moves past media that fails. Expired and not-yet-ready items are excluded from the playable sequence.

Control playback with schedules

Use Schedules when screens should switch playlists automatically.

  1. Choose a playlist and give the schedule a descriptive name.
  2. Select its IANA timezone. All date and time rules use that local timezone.
  3. Optionally limit the rule to a start date, end date, and selected weekdays.
  4. Choose all-day playback or enter a start and end time. Overnight ranges are supported.
  5. Set its priority and leave it enabled.
When several rules match, the enabled schedule with the highest priority wins. If priorities are equal, the newest matching rule wins. Assign the screen to Scheduled channel for these rules to take effect.

Use multi-zone layouts

Layouts divide a display into independently playing zones. Available presets include a 70/30 split, main content with a ticker, and a 70/30 split with a ticker.

  1. Create a layout and choose a preset.
  2. Open the layout and assign one playlist to each zone.
  3. Preview the layout and confirm that each zone has useful content.
  4. Stage the layout as a screen's playback source, then publish.

Each zone advances independently. On portrait displays, split zones stack vertically. All local media used by the layout is included in the screen's offline cache.

Register and organize screens

Use Screens to manage each physical display.

Screen profile

  • Use a recognizable name, physical location, and operator notes.
  • Select a common resolution or enter custom dimensions.
  • Fit with letterboxing shows the whole image; Fill and crop fills the screen; Stretch changes the media proportions to match.
  • Add screens to reusable groups such as “Front of house” or “North campus.”

Assign playback

Choose Scheduled channel, Direct playlist, or Multi-zone layout. Assign one screen directly, select several screens, target a group, or target the whole fleet. Bulk targeting resolves the current members when you stage the change.

Connect the display

Select Open player to obtain the permanent managed player URL. A native PyWebView deployment can use the configuration command shown under PyWebView client setup for that screen. Keep each device on its own screen URL so health and commands are attributed correctly.

Preview drafts and publish safely

  1. Stage the desired assignment on the dashboard or screen inventory.
  2. Select Preview draft and check the content at the screen's saved resolution.
  3. Temporarily compare another resolution or scaling mode if needed.
  4. Return to the dashboard and select Publish.
  5. Confirm that the screen reports the new published revision and remains online.

Publish delivers all staged screen assignments as one fleet batch. Connected players normally detect a new revision within two seconds and switch to it atomically.

Previewing does not publish, advance a revision, or count as device contact. An external web page may also refuse to appear in Preview because of that website's embedding policy.

Monitor screens and offline playback

The Dashboard labels screens as online, degraded, offline, or never connected. It also shows last contact, cache readiness, service-worker state, storage use, revision, and the latest cache error.

  • After the first publish, open the player while online and wait for Offline playlist ready.
  • Local images, videos, PDFs, text, templates, and player assets can then survive a connection loss.
  • Live web pages and feeds still need connectivity and show an offline message when unavailable.
  • A failed cache update keeps the last complete published revision.
  • Administrators can request Sync now, restart the browser player, or clear LibreSignage caches.

An operating-system reboot is outside the browser player's control and requires the native client or a device-management agent.

Send an emergency message

Administrators can use the emergency override on the dashboard to interrupt normal playback on selected screens, a group, or the entire fleet.

  1. Enter a short title and clear message.
  2. Choose critical, warning, or information severity.
  3. Choose the target and activate the override.
  4. When the event ends, select Restore published playback.

Restoring clears only the override; it does not alter the screen's playlist, schedule, layout, or published assignment.

Accounts and roles

RoleTypical access
AdminEverything, including users, screens, groups, publishing, remote commands, and emergency overrides.
EditorCreate and update content, playlists, layouts, schedules, and staged assignments; cannot publish or administer devices and users.
ViewerInspect the CMS without making changes.

Administrators manage accounts {% if g.user.role == "admin" %} from Users. {% else %} from the Users page. {% endif %} Use an individual account for each person; passwords must contain at least 12 characters.

Troubleshooting checklist

{% for slug, question, answer in [ ("not-playing", "My change is not playing", "Look for a Draft changes badge. Confirm the correct source is staged for the screen, then publish. Compare the screen's published revision with the latest publish."), ("black-screen", "The player is blank or black", "Open Preview draft and inspect every playlist or layout zone. Confirm that content is not expired, a video is ready, and a web page permits iframe embedding. Check the dashboard for the player's cache or media error."), ("offline", "A screen is offline", "Check power and network access, confirm the display is using the correct permanent player URL, and review its last-contact time. Once connected, use Sync now if the published revision is stale."), ("cache", "Offline playlist is not ready", "Keep the player open while online. Check storage quota, service-worker state, and the latest cache error. Clear LibreSignage caches only when you can reconnect and download the full revision again."), ("schedule", "The wrong scheduled playlist is active", "Verify the screen uses Scheduled channel. Check timezone, date range, weekday, daypart, enabled state, and overlapping priorities. Remember that overnight ranges cross midnight."), ("web", "A web page or feed does not appear", "Test the URL from the player network. Web pages must allow iframe embedding. Feeds must be valid RSS or Atom and publicly reachable; live web content is unavailable offline.") ] %}

{{ answer }}
{% endfor %}
{% endblock %}