How do I build screenly/anthias?

To build the Screenly Anthias digital signage platform, follow these steps to get up and running. The process involves using various programming languages and tools including Docker, Python, and configuration files.

Installation Steps

  1. Run Installation Command

    Open your terminal and execute the following command to install Anthias directly:

    $ bash <(curl -sL https://install-anthias.srly.io)
    
    

    Alternatively, if you already have Anthias installed, you can upgrade it by running:

    $ $HOME/screenly/bin/run_upgrade.sh
    
    
  2. Ensuring User Directory

    Confirm you are in the correct directory before executing further commands:

    $ cd /home/${USER}/screenly # e.g., /home/pi/screenly if the user is `pi`
    
    
  3. View Logs for Troubleshooting

    To inspect logs from specific services, use Docker Compose:

    $ docker compose logs -f ${SERVICE_NAME}
    
    # Example: View logs for anthias-server
    
    
  4. Database Management

    Although the SQLite database should typically be handled through the API, if needed, you can access it at ~/.screenly/screenly.db. Use the sqlite3 CLI for modifications. Be aware of the following important columns:

    • name
    • is_enabled
    • start_date

    Ensure you only modify if you know what you are doing.

Configuration Files

Main Configuration

The main configuration file, screenly.conf, is essential for configuring your instance:

[main]

configdir = .screenly

database = .screenly/screenly.db

use_ssl = False

analytics_opt_out = False

Player Settings

Within the same configuration file, you can configure the viewer settings:

[viewer]

player_name =

show_splash = True

audio_output = hdmi

shuffle_playlist = False

default_streaming_duration = 300

default_duration = 10

debug_logging = False

verify_ssl = True

enable_offline_mode = False

auth_backend =

Authentication Setup

To add basic HTTP authentication if missing, use:

$ cat >> ~/.screenly/screenly.conf <<'EOT'

[auth]

user = foo

password = bar

EOT

Alternatively, modify the existing configuration with sed:

$ sed --in-place \

-e 's/^user\s*=\s*.*/user = foo/' \

-e 's/^password\s*=\s*.*/password = bar/' \

~/.screenly/screenly.conf

Docker Development Environment

Setting up a local development environment with Docker enhances your ability to build and test Anthias. Use the following commands:

$ ./bin/build_containers.sh

$ docker compose -f docker-compose.dev.yml up

Make sure Docker’s buildx is appropriately configured by running:

$ docker buildx create --use

Asset Handling

There is a script designed to manage assets from a USB drive:

# This script handles USB assets

screenly_usb_assets.sh

This script is crucial for seamlessly integrating USB assets into your digital signage.

Additional Resources

Anthias operates on a single-board Raspberry Pi hardware and allows for the display of images, videos, web pages, and RTSP video feeds. The software handles updates automatically when hosted on platforms like Balena.

For optimal performance and ease of use, consider utilizing Raspberry Pi OS Lite for installing Anthias.

For configurations and further assistance, the official resources should be consulted.

Source: Docs and configuration files from the Screenly Anthias project.