Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
FREEDOM251

Freedom251 › Blog › digital signage

How to Self-Host Xibo Digital Signage on an Ubuntu VPS

By Freedom251 Team · · 9 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The supported way to self-host Xibo is to run its Docker deployment on an Ubuntu Server VPS. The VPS hosts the Xibo CMS, database and media library; each screen still needs a separate Xibo Player that connects to the CMS and renders the scheduled content.

This guide covers the complete path from provisioning the server to enrolling a player, including resource planning, HTTPS, persistent storage, backups, updates and common recovery checks. Manual installation directly onto Ubuntu is community-supported, not the officially supported deployment route.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What you are building

A Xibo installation has two distinct layers. The CMS stores media, creates layouts, schedules campaigns, manages users and authorizes displays. A Player authenticates to that CMS, downloads its assigned schedule and renders it on a connected display. Installing only the CMS will not put an image on a television.

  • Ubuntu VPS: runs the Docker-based CMS stack, database, web service and persistent files.
  • Public endpoint: a DNS name or stable address through which players reach the CMS, preferably over HTTPS.
  • Player endpoint: dedicated hardware, a supported desktop operating system, or a browser/PWA option installed at each screen.
  • Display record: the CMS object created when a player is registered and approved.

Xibo’s manual-install documentation states that Docker is the only officially supported installation method. Installing PHP, a web server and a database directly on Ubuntu can work as a community project, but it is outside the official administration support path and increases the amount you must maintain yourself.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Decide whether a VPS is the right operating model

Self-hosting means deploying the platform on infrastructure you choose, such as an on-premises server or a third-party cloud provider. You retain control of the data and deployment, but your organization also owns the operational work: hardening SSH and the firewall, renewing certificates, applying Ubuntu and container updates, monitoring storage, protecting secrets and testing restores.

Decision area Self-hosted Docker on Ubuntu VPS Managed service
Support status Official Xibo deployment method when using the Docker files; direct non-Docker installation is community-supported. The provider operates the underlying service.
Operations You administer the VPS, Docker stack, DNS, TLS, backups, monitoring and upgrades. Infrastructure maintenance is handled by the service operator, subject to its terms.
Scaling You increase CPU, memory, disk or instances as player count, media and publishing activity grow. Capacity and limits follow the provider’s service plans.
Recovery You need off-host application backups and a documented restore procedure; VPS snapshots are an additional layer. Recovery options depend on the service’s published facilities.

A VPS is a practical fit when you can handle Linux administration and want control over where the CMS runs. If nobody can maintain the host or test recovery, a managed deployment may reduce operational risk.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Plan the Ubuntu VPS before installing Xibo

Choose a supported server image and address

Provision a current, supported Ubuntu Server image rather than an end-of-life release. Give the server a DNS name such as signage.example.com or a stable public address. Players must be able to resolve and reach that name consistently; changing an address later can require reconfiguration at every player.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Allocate resources from the workload, not a slogan

A 2019 Xibo Community answer described 2 GB of RAM and 2 GB of swap as a minimum starting point for an Ubuntu Docker setup. Treat that figure as a light test or small deployment baseline, not a current production capacity guarantee. Player count, simultaneous publishing, media-library size, video processing, retention and database activity all change the requirement.

Resource What to plan for Evidence and qualification
Memory At least 2 GB RAM for a small test, with headroom as the network grows. 2 GB was community guidance from 2019; no current universal official sizing table is published.
Swap At least 2 GB swap in the cited baseline, while avoiding reliance on swap as a substitute for RAM. Same 2019 community baseline; workload dependent.
CPU Choose more capacity for concurrent administration, video processing or many players. No universal official CPU table is stated.
Disk Size for the operating system, Docker images, database, logs, backups and the full media library, plus growth. Capacity depends on file sizes, retention and backup policy.
Network Allow administration traffic and player traffic, with sufficient egress for initial media downloads and updates. Actual bandwidth depends on media and the number of screens.

Record your assumptions—number of players, typical video resolution and duration, expected library growth, publishing concurrency and retention—before selecting a plan. Revisit them after observing disk, memory and CPU usage in production.

Set firewall and administration boundaries

  • Permit SSH only from trusted administration addresses or through a private access path.
  • Permit web traffic required by the CMS and players; use HTTPS for normal operation.
  • Do not expose database ports or Docker’s management socket to the public internet.
  • Use a non-root administrative account with controlled privilege escalation and strong, unique credentials.

Install Docker and obtain the Xibo deployment

  1. Update the Ubuntu host and install only the administration packages you need. Follow the current Ubuntu and Docker installation instructions for your release.
  2. Install Docker Engine and the Compose plugin. A community walkthrough used apt install docker.io docker-compose-v2, but package names and commands can change; verify them against the current distribution and Docker guidance instead of copying that older command blindly.
  3. Create a protected working directory, for example:
    sudo mkdir -p /opt/xibo
    sudo chown "$USER":"$USER" /opt/xibo
    cd /opt/xibo
  4. Download or clone the official Xibo Docker deployment files into that directory. A normal deployment contains docker-compose.yaml and a suitably configured config.env.
  5. Restrict the environment file so ordinary users and web-served directories cannot read it:
    chmod 600 config.env

Keep the compose file and environment file under change control, but never commit real passwords, application secrets, mail credentials or authentication keys to a public repository.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

Configure config.env safely

Open the supplied environment template and set the values required by the release you downloaded. Names vary by deployment version, so preserve the variables provided by that release rather than inventing new ones.

  • Database credentials: use long, unique values for the database user and password.
  • Application secrets: generate unpredictable secrets and keep them private. Changing them later can invalidate sessions or encrypted data.
  • Hostnames: set the public CMS name that players will use, not an internal container name.
  • Mail settings: configure an SMTP service only if password resets, alerts or other email features require it.
  • Authentication settings: apply the identity-provider values only after confirming the provider’s redirect and certificate requirements.

Back up this file through a protected secrets process, not by placing it in a public code repository. A restore that has the database and media but lacks the matching application configuration may not start correctly.

Start the stack and finish the web setup

  1. From /opt/xibo, validate the Compose configuration:
    docker compose config
    Correct missing variables or syntax errors before starting containers.
  2. Launch the services in the background:
    docker compose up -d
  3. Check container state and recent logs:
    docker compose ps
    docker compose logs --tail=200

    Look for database initialization failures, permission errors, port conflicts or an invalid environment value.
  4. Point DNS at the VPS and place a TLS-enabled reverse proxy or equivalent HTTPS termination in front of the web service. Use the final HTTPS address when enrolling players.
  5. Open the CMS in a browser and complete its web installer. Create the administrator account and immediately use a strong password.
  6. Configure the library, display profiles, users and any required authentication settings.

Do not enroll production players until the HTTPS endpoint works from the networks where the screens will operate. A plain HTTP test can hide certificate, redirect and mixed-content problems that stop players from downloading media later.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Understand persistent data and design backups

Containers are replaceable; the data they mount is not. The official Docker deployment identifies these persistent locations:

Path Purpose Backup treatment
/shared/cms/library Uploaded media and the CMS library. Back up with the database so a restored schedule still references available files.
/shared/db Database data. Protect with database-consistent backups and test that they can be restored.
/shared/backup Automated daily database backups created by the deployment. Copy off the VPS; local copies do not protect against host loss or compromise.
Custom themes, modules and user-script locations Site customizations and extensions. Include them when your installation uses them, or a restored CMS may look or behave differently.

A workable backup routine

  1. Schedule database backups and verify that new files appear in the backup location.
  2. Copy database backups, the media library, customizations and the protected configuration to storage outside the VPS.
  3. Encrypt backups and restrict who can retrieve them.
  4. Record the Xibo deployment version, Compose files and restore prerequisites alongside the backup set.
  5. Periodically build a temporary test environment, restore the database and library, start the stack and confirm that layouts, media and displays are present.

Provider snapshots are useful for fast whole-server rollback, but they do not replace application-level backups. A snapshot can preserve a corrupted database, deleted media or compromised credentials; an independent backup gives you another recovery point.

Install and enroll a Xibo Player

Xibo publishes player images and installation paths for Ubuntu/Debian and other supported platforms, including kiosk-style packages and browser/PWA approaches. Select a platform that matches the display hardware and verify support for the Xibo release you are running.

  1. Install the chosen Player on the device connected to the screen.
  2. Start it and enter the CMS HTTPS URL when prompted.
  3. Record the authorization code or registration information shown by the Player.
  4. In the CMS, approve the pending Display and assign the appropriate Display Profile.
  5. Assign a simple test layout and schedule it for that display.
  6. Watch the device download the media and render the layout. Confirm that it can continue displaying expected content if the network is briefly unavailable.

Validate the display before adding more screens

  • Set the correct clock, date and time zone on both the VPS and player. Scheduling errors often come from a time-zone mismatch.
  • Confirm DNS resolution and outbound HTTPS from the player network.
  • Check that large media files finish downloading and that the device has enough local storage.
  • Disconnect the network briefly to observe the player’s offline behavior, then reconnect and verify synchronization.
  • Confirm the physical display’s resolution, orientation, sleep settings and kiosk behavior.

Troubleshoot the first deployment

The web interface does not open

  • Run docker compose ps and inspect logs for a stopped web or database container.
  • Check that DNS points to the current VPS address and that the firewall permits the intended web ports.
  • Look for another service already using the configured port.
  • Verify the reverse proxy certificate and that redirects lead to the same hostname placed in config.env.

The stack repeatedly restarts

  • Review logs for malformed environment variables, unavailable database credentials or permission errors on mounted directories.
  • Check available disk space; a full filesystem can prevent database writes and container extraction.
  • Confirm that the VPS has enough memory and swap for the chosen workload.

The player is waiting for authorization

  • Ensure the player uses the public HTTPS CMS URL, not localhost or a private container address.
  • Verify that the authorization code has not expired and that the correct Display was approved in the CMS.
  • Check outbound DNS and HTTPS from the player’s network, including any proxy or content filter.

The display is approved but shows no content

  • Assign a layout and schedule to that Display rather than only approving it.
  • Check that the media library item is published and that the player has completed its download.
  • Compare the player and CMS clocks and time zones.
  • Inspect player logs and test with a small image layout before troubleshooting a large video.

Operate the VPS after launch

Self-hosting is an ongoing service, not a one-time installer. Establish a maintenance calendar for Ubuntu security updates, Docker Engine and Compose updates, Xibo image updates, certificate renewal and backup verification. Read release notes before upgrading, keep a rollback point, and upgrade a non-production copy first when practical.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Monitor disk usage in the library, database and Docker volumes; memory pressure; container restarts; failed backups; certificate expiry; and player check-in status. Keep an inventory of displays, their locations, assigned profiles and the last successful synchronization. When you change the CMS hostname, certificates or authentication settings, test one player before rolling the change to every screen.

When to scale or change approach

Increase VPS resources when measured memory pressure, CPU saturation, slow publishing, database latency or disk growth affects administration or player synchronization. More players and larger media libraries may require separating database, web and storage roles, but the correct design depends on observed workload rather than a universal Xibo number.

Consider a managed deployment when your team cannot provide patching, monitoring, secure backups and restore tests. Conversely, keep the VPS model when you need infrastructure control and have an operator who can maintain the full stack. In either case, the player endpoint remains a separate requirement for every physical screen.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

digital signageDockerself-hostingUbuntuVPSXibo

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.