---
title: Quick Setup
slug: quick-setup
docTags: 
createdAt: 2025-03-11T06:55:06.569Z
---

# DO NOT Power Up the Player

::::VerticalSplit{layout="left"}
:::VerticalSplitItem
::Image[]{src="https://api.archbee.com/api/optimize/0prk6SO2dy9LdU77jB8D1/WhSyWySWWlXhBOgg92z8P_hand-on-plug.svg" size="60" isUploading="false" position="center" width="262" height="226" darkWidth="262" darkHeight="226" showCaption="false"}
:::

:::VerticalSplitItem
New players will try to configure themselves upon first boot up.

Follow this guide to ensure that the player configures itself correctly upon boot up.
:::
::::

:::hint{type="info"}
This Quick Setup guide will get your player set up as quickly as possible. For a slightly more thorough explanation of the setup steps along with some helpful tips, go to [Player Setup](docId\:rCuHsQUJj1ethBHvT46xi).
:::

# Publishing Mode

The [Publishing Mode](docId\:rEScIigY-dJRPuZgwaA4e) establishes how content is delivered to the player and is an essential part of player setup. The series of questions below will help determine the appropriate Publishing Mode for your player.

:::Iframe{iframeHeight="0" code="<!DOCTYPE html>&#xA;<html lang=&#x22;en&#x22;>&#xA;<head>&#xA;<meta charset=&#x22;UTF-8&#x22;>&#xA;<meta name=&#x22;viewport&#x22; content=&#x22;width=device-width, initial-scale=1.0&#x22;>&#xA;<title>Publishing Mode Wizard (Internet)</title>&#xA;<style>&#xA;  :root {&#xA;    --accent: #4B2E83;&#xA;    --accent-hover: #3A2266;&#xA;    --accent-tint: #f1ecf8;&#xA;    --text-main: #1a1d29;&#xA;    --text-muted: #5b6274;&#xA;    --border: #e3e5ea;&#xA;    --bg-card: #ffffff;&#xA;    --bg-page: transparent;&#xA;    --radius: 14px;&#xA;  }&#xA;&#xA;  * { box-sizing: border-box; }&#xA;&#xA;  html, body {&#xA;    margin: 0;&#xA;    padding: 0;&#xA;    background: var(--bg-page);&#xA;    font-family: -apple-system, BlinkMacSystemFont, &#x22;Segoe UI&#x22;, Roboto, Helvetica, Arial, sans-serif;&#xA;    color: var(--text-main);&#xA;  }&#xA;&#xA;  .wizard-wrap {&#xA;    display: flex;&#xA;    justify-content: center;&#xA;    align-items: flex-start;&#xA;    padding: 24px 16px;&#xA;  }&#xA;&#xA;  .wizard-card {&#xA;    position: relative;&#xA;    width: 100%;&#xA;    max-width: 560px;&#xA;    background: var(--bg-card);&#xA;    border: 1px solid var(--border);&#xA;    border-radius: var(--radius);&#xA;    box-shadow: 0 4px 20px rgba(20, 24, 40, 0.06);&#xA;    padding: 28px 32px 32px;&#xA;  }&#xA;&#xA;  /* Progress dots */&#xA;  .progress {&#xA;    display: flex;&#xA;    gap: 6px;&#xA;    margin-bottom: 20px;&#xA;  }&#xA;  .progress span {&#xA;    flex: 1;&#xA;    height: 4px;&#xA;    border-radius: 2px;&#xA;    background: var(--border);&#xA;    transition: background 0.25s ease;&#xA;  }&#xA;  .progress span.active {&#xA;    background: var(--accent);&#xA;  }&#xA;&#xA;  /* Reset button */&#xA;  .reset-btn {&#xA;    display: none;&#xA;    align-items: center;&#xA;    gap: 6px;&#xA;    background: none;&#xA;    border: none;&#xA;    color: var(--text-muted);&#xA;    font-size: 13px;&#xA;    font-weight: 500;&#xA;    cursor: pointer;&#xA;    padding: 6px 8px;&#xA;    margin: -6px -8px 14px;&#xA;    border-radius: 8px;&#xA;    transition: background 0.15s ease, color 0.15s ease;&#xA;  }&#xA;  .reset-btn:hover {&#xA;    background: #f2f3f6;&#xA;    color: var(--text-main);&#xA;  }&#xA;  .reset-btn svg {&#xA;    width: 14px;&#xA;    height: 14px;&#xA;    flex-shrink: 0;&#xA;  }&#xA;  .reset-btn.visible { display: inline-flex; }&#xA;&#xA;  #screen {&#xA;    animation: fadeIn 0.2s ease;&#xA;  }&#xA;  @keyframes fadeIn {&#xA;    from { opacity: 0; transform: translateY(4px); }&#xA;    to { opacity: 1; transform: translateY(0); }&#xA;  }&#xA;&#xA;  h2.question {&#xA;    font-size: 18px;&#xA;    line-height: 1.5;&#xA;    margin: 0 0 22px;&#xA;    font-weight: 600;&#xA;  }&#xA;&#xA;  p.result-heading {&#xA;    font-size: 16px;&#xA;    line-height: 1.6;&#xA;    margin: 0 0 18px;&#xA;    color: var(--text-main);&#xA;  }&#xA;&#xA;  p.suggestion {&#xA;    font-size: 16px;&#xA;    line-height: 1.6;&#xA;    margin: 0;&#xA;  }&#xA;  p.suggestion a {&#xA;    font-weight: 600;&#xA;  }&#xA;&#xA;  .options {&#xA;    display: flex;&#xA;    flex-direction: column;&#xA;    gap: 10px;&#xA;  }&#xA;&#xA;  .option-btn {&#xA;    display: block;&#xA;    width: 100%;&#xA;    text-align: left;&#xA;    background: #f8f9fb;&#xA;    border: 1px solid var(--border);&#xA;    border-radius: 10px;&#xA;    padding: 14px 16px;&#xA;    font-size: 15px;&#xA;    font-weight: 500;&#xA;    color: var(--text-main);&#xA;    cursor: pointer;&#xA;    transition: border-color 0.15s ease, background 0.15s ease, transform 0.1s ease;&#xA;  }&#xA;  .option-btn:hover {&#xA;    border-color: var(--accent);&#xA;    background: var(--accent-tint);&#xA;  }&#xA;  .option-btn:active {&#xA;    transform: scale(0.99);&#xA;  }&#xA;&#xA;  .link-list {&#xA;    display: flex;&#xA;    flex-direction: column;&#xA;    gap: 10px;&#xA;  }&#xA;&#xA;  .link-item {&#xA;    display: block;&#xA;    border: 1px solid var(--border);&#xA;    border-radius: 10px;&#xA;    padding: 14px 16px;&#xA;    text-decoration: none;&#xA;    color: inherit;&#xA;    transition: border-color 0.15s ease, background 0.15s ease;&#xA;  }&#xA;  .link-item:hover {&#xA;    border-color: var(--accent);&#xA;    background: var(--accent-tint);&#xA;  }&#xA;  .link-item .link-title {&#xA;    font-size: 15px;&#xA;    font-weight: 600;&#xA;    color: var(--accent);&#xA;    margin-bottom: 3px;&#xA;  }&#xA;  .link-item .link-desc {&#xA;    font-size: 13.5px;&#xA;    color: var(--text-muted);&#xA;    line-height: 1.4;&#xA;  }&#xA;&#xA;  a.inline-link {&#xA;    color: var(--accent);&#xA;    font-weight: 600;&#xA;    text-decoration: none;&#xA;  }&#xA;  a.inline-link:hover {&#xA;    text-decoration: underline;&#xA;  }&#xA;</style>&#xA;</head>&#xA;<body>&#xA;&#xA;<div class=&#x22;wizard-wrap&#x22;>&#xA;  <div class=&#x22;wizard-card&#x22;>&#xA;    <button id=&#x22;resetBtn&#x22; class=&#x22;reset-btn&#x22; onclick=&#x22;goTo('q1')&#x22;>&#xA;      <svg viewBox=&#x22;0 0 24 24&#x22; fill=&#x22;none&#x22; stroke=&#x22;currentColor&#x22; stroke-width=&#x22;2&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22;>&#xA;        <polyline points=&#x22;1 4 1 10 7 10&#x22;></polyline>&#xA;        <path d=&#x22;M3.51 15a9 9 0 1 0 2.13-9.36L1 10&#x22;></path>&#xA;      </svg>&#xA;      Reset&#xA;    </button>&#xA;    <div class=&#x22;progress&#x22; id=&#x22;progress&#x22;>&#xA;      <span></span><span></span><span></span>&#xA;    </div>&#xA;    <div id=&#x22;screen&#x22;></div>&#xA;  </div>&#xA;</div>&#xA;&#xA;<script>&#xA;  // ---- Wizard data model ----&#xA;  var screens = {&#xA;    q1: {&#xA;      step: 1,&#xA;      question: &#x22;Will the player have internet access?&#x22;,&#xA;      options: [&#xA;        { label: &#x22;Yes&#x22;, next: &#x22;q2&#x22; },&#xA;        { label: &#x22;No&#x22;, next: &#x22;q3&#x22; }&#xA;      ]&#xA;    },&#xA;    q2: {&#xA;      step: 2,&#xA;      question: &#x22;A CMS (Content Management System) manages the content that players display. Select your preferred CMS.&#x22;,&#xA;      options: [&#xA;        { label: &#x22;BrightSign CMS (Author or Author Plus)&#x22;, next: &#x22;resultBrightSignCms&#x22; },&#xA;        { label: &#x22;Non-BrightSign CMS&#x22;, next: &#x22;resultNonBrightSignCms&#x22; }&#xA;      ]&#xA;    },&#xA;    q3: {&#xA;      step: 2,&#xA;      question: &#x22;Will the player be accessible over the local network?&#x22;,&#xA;      options: [&#xA;        { label: &#x22;Yes&#x22;, next: &#x22;resultLocalNetwork&#x22; },&#xA;        { label: &#x22;No&#x22;, next: &#x22;resultStandalone&#x22; }&#xA;      ]&#xA;    },&#xA;    resultBrightSignCms: {&#xA;      step: 3,&#xA;      type: &#x22;links&#x22;,&#xA;      heading: &#x22;This player's Publishing Mode should be one of the following:&#x22;,&#xA;      links: [&#xA;        { text: &#x22;Author Plus&#x22;, href: &#x22;https://docs.brightsign.biz/author-plus-setup&#x22;, desc: &#x22;Subscription required — publish using BrightSign’s cloud&#x22; },&#xA;        { text: &#x22;Local Network&#x22;, href: &#x22;https://docs.brightsign.biz/local-network-setup&#x22;, desc: &#x22;Free — publish over the local network&#x22; },&#xA;        { text: &#x22;Web Folder&#x22;, href: &#x22;https://docs.brightsign.biz/web-folder-setup&#x22;, desc: &#x22;Free — publish to a player-accessible URL&#x22; }&#xA;      ]&#xA;    },&#xA;    resultNonBrightSignCms: {&#xA;      step: 3,&#xA;      type: &#x22;links&#x22;,&#xA;      heading: &#x22;This player's Publishing Mode should be one of the following:&#x22;,&#xA;      links: [&#xA;        { text: &#x22;Partner CMS&#x22;, href: &#x22;https://docs.brightsign.biz/partner-cms-setup&#x22;, desc: &#x22;Select from a list of BrightSign’s CMS partners&#x22; },&#xA;        { text: &#x22;CMS URL&#x22;, href: &#x22;https://docs.brightsign.biz/cms-url-setup&#x22;, desc: &#x22;Install a CMS package from a URL&#x22; }&#xA;      ]&#xA;    },&#xA;    resultLocalNetwork: {&#xA;      step: 3,&#xA;      type: &#x22;links&#x22;,&#xA;      heading: &#x22;This player's Publishing Mode should be:&#x22;,&#xA;      links: [&#xA;        { text: &#x22;Local Network&#x22;, href: &#x22;https://docs.brightsign.biz/local-network-setup&#x22;, desc: &#x22;Free — publish over the local network&#x22; }&#xA;      ]&#xA;    },&#xA;    resultStandalone: {&#xA;      step: 3,&#xA;      type: &#x22;links&#x22;,&#xA;      heading: &#x22;This player's Publishing Mode should be:&#x22;,&#xA;      links: [&#xA;        { text: &#x22;Standalone&#x22;, href: &#x22;https://docs.brightsign.biz/standalone-setup&#x22;, desc: &#x22;Free — publish manually to the player’s storage device&#x22; }&#xA;      ]&#xA;    }&#xA;  };&#xA;&#xA;  var screenEl = document.getElementById(&#x22;screen&#x22;);&#xA;  var resetBtn = document.getElementById(&#x22;resetBtn&#x22;);&#xA;  var progressEl = document.getElementById(&#x22;progress&#x22;);&#xA;&#xA;  function escapeHtml(str) {&#xA;    var div = document.createElement(&#x22;div&#x22;);&#xA;    div.textContent = str;&#xA;    return div.innerHTML;&#xA;  }&#xA;&#xA;  function renderProgress(step) {&#xA;    var dots = progressEl.children;&#xA;    for (var i = 0; i < dots.length; i++) {&#xA;      dots[i].classList.toggle(&#x22;active&#x22;, i < step);&#xA;    }&#xA;  }&#xA;&#xA;  function goTo(id) {&#xA;    var screen = screens[id];&#xA;    if (!screen) return;&#xA;&#xA;    resetBtn.classList.toggle(&#x22;visible&#x22;, id !== &#x22;q1&#x22;);&#xA;    renderProgress(screen.step);&#xA;&#xA;    var html = &#x22;&#x22;;&#xA;&#xA;    if (screen.question) {&#xA;      html += '<h2 class=&#x22;question&#x22;>' + escapeHtml(screen.question) + '</h2>';&#xA;      html += '<div class=&#x22;options&#x22;>';&#xA;      screen.options.forEach(function (opt) {&#xA;        html += '<button class=&#x22;option-btn&#x22; data-next=&#x22;' + opt.next + '&#x22;>' + escapeHtml(opt.label) + '</button>';&#xA;      });&#xA;      html += '</div>';&#xA;    } else if (screen.type === &#x22;links&#x22;) {&#xA;      html += '<p class=&#x22;result-heading&#x22;>' + escapeHtml(screen.heading) + '</p>';&#xA;      html += '<div class=&#x22;link-list&#x22;>';&#xA;      screen.links.forEach(function (link) {&#xA;        html += '<a class=&#x22;link-item&#x22; href=&#x22;' + link.href + '&#x22;>' +&#xA;          '<div class=&#x22;link-title&#x22;>' + escapeHtml(link.text) + '</div>' +&#xA;          '<div class=&#x22;link-desc&#x22;>' + escapeHtml(link.desc) + '</div>' +&#xA;          '</a>';&#xA;      });&#xA;      html += '</div>';&#xA;    } else if (screen.type === &#x22;suggestion&#x22;) {&#xA;      html += '<p class=&#x22;suggestion&#x22;>' + escapeHtml(screen.before) +&#xA;        '<a class=&#x22;inline-link&#x22; href=&#x22;' + screen.link.href + '&#x22;>' + escapeHtml(screen.link.text) + '</a>' +&#xA;        '</p>';&#xA;    }&#xA;&#xA;    screenEl.innerHTML = html;&#xA;&#xA;    var buttons = screenEl.querySelectorAll(&#x22;.option-btn&#x22;);&#xA;    buttons.forEach(function (btn) {&#xA;      btn.addEventListener(&#x22;click&#x22;, function () {&#xA;        goTo(btn.getAttribute(&#x22;data-next&#x22;));&#xA;      });&#xA;    });&#xA;  }&#xA;&#xA;  goTo(&#x22;q1&#x22;);&#xA;</script>&#xA;&#xA;</body>&#xA;</html>"}

:::

Click the desired Publishing Mode to continue with player setup for that Publishing Mode.

