Skip to content
beeboENTERTAINMENT
← All docs

Run Beebo on a NAS or Linux server with Docker

Beebo has a headless server that runs without a window, in Docker on a Linux server, a NAS or a Raspberry Pi. It is the same server code as the Windows app, and it is new: a beta that is not yet available as a public download.

New · beta Status: The Docker image is built from Beebo’s source and is not published to a public registry yet, so today it is available to testers on request at testers@beeboentertainment.com. Hardware video conversion is untested on real graphics cards. This is separate from the Linux desktop beta, which needs a graphical session.

Before you start

Step by step

  1. Make folders for settings and media

    Create a folder for Beebo’s own data (settings, accounts, watch history, artwork cache and certificates), for example /srv/beebo/config, and know where your media folders are. Read-only media is fine for watching. Uploads from the phone app, the Inbox and file clean-up write to the media folders, so give it write access if you want those.

  2. Make a secret key and keep it

    Beebo encrypts saved secrets (password hashes, sign-in signing keys, your TMDB key, webhook secrets) in its settings file. The key comes from an environment variable. Make one, for example with openssl rand -hex 32, and save it somewhere safe. If you change or lose it, the saved secrets become unreadable, and Beebo stops at start-up with a message instead of quietly signing everyone out.

    What you’ll see: A 64-character string. Keep it outside the config folder if you want real separation: anyone who has the whole config folder and the key file has both.

  3. Start the container

    Run the container with your folders and key. This is the quick start from the server’s README:

    docker run -d --name beebo --restart unless-stopped \
      -p 47811:47811 \
      -e BEEBO_UPNP=0 \
      -e BEEBO_SECRET_KEY="<your key>" \
      -v /srv/beebo/config:/config \
      -v /srv/media/movies:/media/movies \
      -v /srv/media/tv:/media/tv \
      -v /srv/media/music:/media/music \
      -v /srv/media/photos:/media/photos \
      beebo-server

    A compose file that keeps the key in a Docker secret comes with the image. A wrong setting stops the container with a message listing every problem (exit code 78), so a typo does not start an empty server.

    Screenshot coming. A NAS container manager with the Beebo container running.

  4. Read the first-run message

    A new server has no accounts. It prints a one-time message to its log. Run docker logs beebo.

    What you’ll see: Lines like “First-run setup: this server has no owner account yet.”, an address such as https://192.168.1.20:47811/setup and a setup code shaped like 7KQ2-M9XD-4TNB.

  5. Create the owner account

    Open that address. Your browser will warn about the certificate, because Beebo made it itself; accept the warning. Enter the setup code, then choose the owner username and a password of 8 or more characters. Setup closes for good once the account exists. If you miss the message, restart the container for a new code. The code lives only in the log and in memory.

    What you’ll see: A sign-in page. Sign in at https://<server-ip>:47811/. The admin pages only open over HTTPS. Phones and TVs on your network can keep using http://<server-ip>:47811.

  6. Add posters and connect your devices

    Give it a TMDB key with the BEEBO_TMDB_API_KEY environment variable (see the free key steps in Get started on Windows). Then connect phones and TVs to http://<server-ip>:47811 as in Connect your phone.

Folders and users

Container pathWhatNotes
/configSettings, accounts, watch history, artwork cache, certificatesBack this up. It must be writable.
/media/movies, /media/tvMovies and TVRead-only is fine for watching.
/media/music, /media/photosMusic and photosMore folders: BEEBO_MOVIES_DIRS=/media/movies,/media/movies-2. The first in a list is where uploads go.

The server never runs as root. Media and /config must be readable, and /config writable, by whoever runs it. Either run the container as the owner of your files (user: in compose, or --user with docker run), or start as root and set PUID and PGID so Beebo takes ownership of /config and then drops to that user. Typical values: Synology 1026:100, Unraid 99:100, TrueNAS SCALE 568:568. On QNAP use your user’s id (id <user> over SSH). Beebo’s port can be changed with BEEBO_PORT, but that changes the address phones use.

Networking and video conversion

What is in v1, and what is not

FeatureStatus
Web viewer and phone or TV apps on your networkWorks Checked by an automated test that signs in and streams.
Library scan, video conversion on the processor, admin pages over HTTPS, first-run owner setupWorks Automated test.
Users, parental controls, history, playlists, requestsSame code as the desktop. Sign-in and admin checked.
Music, photos, uploads, Inbox, conversion queueStart at boot. Not exercised by the automated test.
Your yourname.beebo.tv address, Beebo sign-in, away-from-home peer connection, Beebo RelayNot in v1 Home network and your own address only.
Automatic HTTPS certificates, email and OpenSubtitles settings screensNot in v1 Bring your own certificate. Set the rest from the desktop app.
Tray icon, windows, folder pickers, story writer, BeeboSchool, home game server, desktop updaterNot included Update by pulling a newer image.

Beebo itself is proprietary software. The image includes FFmpeg under the LGPL; you may swap in your own build with BEEBO_FFMPEG. You can also run the same server directly with Node 22 or newer, without Docker.

If something goes wrong

The container stops straight away with exit code 78

A setting has a wrong value. The message in docker logs beebo lists every problem it found. Fix them and start again.

I missed the setup code

Restart the container: docker restart beebo gives a new code. The code exists only in the log and in memory.

It refuses to start and mentions the secret key

The key was changed or lost, or the settings file was written with a different one. Put the original key back. Beebo stops instead of silently signing everyone out. Setting BEEBO_ALLOW_PLAINTEXT_SECRETS=1 stores secrets unencrypted, is logged as a warning on every start, and we do not recommend it.

It cannot read or write my folders

Check the user the container runs as (PUID and PGID, or user:) against the folder permissions. On a Synology, also give that user read access to the shared folder.

Away from home does not work

In v1 it is not included: there is no beebo.tv address or away-from-home connection for the headless server. Use your home network, a VPN such as Tailscale or WireGuard, or forward the port yourself.

Written for Beebo for Windows 0.1.57 and the Beebo Android app 1.38, as of September 21, 2026. Found something that doesn’t match what you see? Tell us at testers@beeboentertainment.com. It is a plain email, with no form and no sign-up.