LeTissierCreative Studios
Cue 08The manualCrewbox 1.0

Docs / Crewbox

Version1.0 · latest

Crewbox 1.0

Setup, connect and the box

The setup page, the /connect poster, the terminal banner, the menu bar and tray, the command line, and every environment variable.

This page covers what's around the app: the pages the box serves for setting up and joining, the box's own controls, and the settings it reads when it starts.

The setup page

When a new box starts for the first time, it opens a browser at /setup. On a machine with no screen, the terminal prints the address as Set up:. The page stays open until someone joins or it's saved, and after that /setup goes to the poster instead. Everything on it can be changed later in the admin panel.

On an unlicensed box

A new 1.0 box has no licence yet, so the page shows Licence needed in place of the form. It gives you the event PIN to join with, and the admin password if the box generated one. Write the password down, because it isn't shown again. Open the app takes you to the join screen. Start the trial or enter a key in Admin → Licence, as in Getting started.

The setup page on a new box: Licence needed, and the event PIN to join with

On a licensed box

If the box already has a licence when it first starts, the page shows the form:

The setup form: event name, Wi-Fi network, event PIN, admin password and Networks, with Save and show the QR
  • Event name: shown to crew when they join.
  • Wi-Fi network: the network crew join to reach the box. Leave it blank if you don't know it yet.
  • Event PIN: already filled in with a random 4-digit PIN. Change it if you like. It must be at least 4 characters.
  • Admin password: opens the admin panel. It must be at least 8 characters. Write it down, because it's never shown again.
  • Networks: the same settings as Admin → This box → Networks. This section is open by default on a machine with more than one network adapter. Changes to it apply the next time the box starts; everything else applies straight away.

Save and show the QR saves and opens the poster. Skip — I'll set this up later in the app goes straight to the poster. Crew will use … shows the address phones will use.

The /connect poster

Open /connect on the box's address, or use Open the QR poster page in the menu bar or tray. It's the page to print, or to leave on a screen at the crew entrance.

The /connect poster: event name, Join Wi-Fi RW-CREW, a QR code, the join address and the event PIN

The poster shows the following:

  • the event name
  • 1. Join Wi-Fi: … 2. Scan 3. Pick a name, if a Wi-Fi network is set
  • a QR code with the join address under it, which is itself a link, so tapping it on a phone works like scanning
  • Event PIN: …
  • Android lock-screen alerts: download the Crewbox app, when the box has the Android app to serve (how)

The PIN is part of the QR code, so crew who scan it don't type the PIN. That only applies when the page is opened from a private network, such as the event Wi-Fi. If the page is opened from the internet (through a tunnel, for example), the QR code carries no PIN, and the page says Ask the production office for the event PIN.

The terminal banner

When the box starts from a terminal, it prints this:

  ┌─────────────────────────────────────────────┐
    Riverside Weekender is running

    Join:      http://192.168.1.20:8787
    Event PIN: 4242
    Onboarding page (QR + PIN + Android app):
               http://192.168.1.20:8787/connect
  └─────────────────────────────────────────────┘

A new box also prints Set up: with the setup page's address. If it generated an admin password, it prints that too. A box with more than one network lists its other addresses under Join. In an interactive terminal, a QR code follows.

The menu bar and tray

On a Mac, Crewbox has an item in the menu bar. On Windows, it has an icon in the system tray. On Linux, use the command line.

ItemDoes
Event name — runningShows the box is up.
Version …The version running.
Update available: …Only when there's a newer version. Opens the admin panel, where the update is two presses. Nothing installs from the menu.
Open the join pageOpens the app in your browser.
Open the QR poster pageOpens /connect.
Copy the join linkCopies the address crew use.
Copy the event PIN (…)Copies the PIN shown in brackets.
Other addressesOnly on a machine with more than one network. Pick an address to copy it.
Open the data folderOpens the folder holding the database, files and licence.
Stop Crewbox and quitStops the box properly and removes the item. On Windows it's Stop Crewbox and exit.

When the box isn't running, the item reads Crewbox — not running. On a Mac it reads Crewbox — starting… while the box starts, and offers Start Crewbox after a stop. If the box exits unexpectedly on a Mac, a notice says Crewbox stopped.

The command line

crewbox            # start the box
crewbox --status   # is it running: the event, its pid, join addresses, event PIN
crewbox --stop     # stop the running box cleanly

--status says No box is running. when none is running. A second copy refuses to start while one is already running, so it can't take over the live box's port. Both commands work over SSH on a machine with no screen.

Environment variables

The box reads these when it starts. A setting from the environment wins over the same setting saved in the admin panel, and the panel shows Set by … in the environment beside it. Changing an environment variable means restarting the box.

VariableDefaultWhat it does
CREWBOX_PORT8787The port the app is served on.
DATA_DIR~/.crewbox/dataWhere the database, uploads, certificate and licence live.
EVENT_PINa random 4-digit PINThe event PIN.
WIFI_SSIDnoneThe Wi-Fi name shown to crew.
ADMIN_PASSWORDset at setupThe admin password. When it's set here, the panel can't change it.
CREWBOX_IFACEall networksThe address of the crew-facing adapter. The box listens only there, and every address it shows points there.
CREWBOX_MODULESschedule,patch,lighting,incident,video,networkWhich modules to turn on. Chat is always on.
CREWBOX_DMXoffLighting network listening: sacn, artnet, both or off.
CREWBOX_DMX_IFACEchosen by the OSThe adapter on the lighting network.
CREWBOX_DMX_UNIVERSES1-16The sACN universes to join, for example 1-8,101.
CREWBOX_DMX_ARTNET_BASE1The plot universe that Art-Net universe 0 corresponds to.
CREWBOX_WATCHoff1 watches the audio and media network (PTP, Dante, NDI, AES67) for the network audit.
CREWBOX_WATCH_IFACEchosen by the OSThe adapter on the media network.
CREWBOX_VIDEO_IFACEnoneThe box's address on the video network. Needed only for the LED processor sweep.
CREWBOX_VIDEO_SNMP_COMMUNITYpublicThe SNMP community used to read LED processors.
CREWBOX_UPDATE_CHECKon0 makes no outbound connections at all: no update check, no licence check-in and no crash reports.
CREWBOX_TZthe machine'sThe timezone for the running order and the desk control API, such as Europe/London.
CREWBOX_CAPTIVEon0 turns off the responder that answers phones' "is there internet?" checks.
CREWBOX_CAPTIVE_PORT80The port for that responder.
CREWBOX_CONTROL_KEYgeneratedThe desk control key. When set, it's used in place of the generated one.
CREWBOX_TRUST_PROXYoff1 when the box runs behind a reverse proxy or tunnel, so rate limits see real addresses.
SESSION_TTL_DAYS60Days a sign-in lasts without being used.
LIVEKIT_URLthe built-in voice serverPoints voice at a LiveKit server you run instead, with LIVEKIT_KEY and LIVEKIT_SECRET.

On a box run from source rather than from a release download, DATA_DIR defaults to ./data, EVENT_PIN defaults to 1234, and voice, the update check and the captive responder are off unless set.