I simply can't get Anthias to work!

I’ve been running Screenly OSE successfully for several years on RPi 3B. I tried to update the RPi to Bullseye and updated Screenly to Anthias. This broke everything. The Pi boots into an nginx error screen and I tried every solution I could find in these forums without success.

So I turned to the Raspberry Pi imager and wrote a dedicated Anthias (pi3) card. I added an ssh text file to the boot directory.

The RPi boots to the Anthias splash screen and seems to be stuck there. I can access the management interface, but nothing I upload displays.

Despite trying to load SSH, I can’t log in via terminal to see what’s going on.

I’d give anything to get my old install version back. Unfortunately, I recovered the assets, but not the configuration.

Same Here… seems like anthias is pushing its free users to the paid version… or, to any other solution

3 Likes

@rebootit

How so? I can download the Raspbian OS Lite image and simply run the Anthias install bash command and installs perfectly fine.

There isn’t just one option to get Anthias installed/running, just because one of them is not working for you doesnt mean the others arent.

Try the alternative installation methods before making such comments.

@rcostain

Why dont you get the Raspbian Lite OS 64 image here: https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2022-09-26/2022-09-22-raspios-bullseye-arm64-lite.img.xz

Then, flash the SD card with that.

Add your ssh.txt blank file to the boot directory, and userconfig.txt if you have one for preconfigured Pi or any other user.
Configure the Pi with all options you need before installing Anthias, by using sudo raspi-config.

Once you are ready, simply run the command:

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

This works just fine every time I do it…
There might be some issues with the Pi Imager image that is pulling, not sure, I dont troubleshoot much using that, but you need to try and remember that there are alternative installation methods just like the GitHub page says…

1 Like

Thanks, Emyll,

I haven’t flashed from a direct download, but I used the “official” Raspberry Pi Imager to flash my SD card. I assume that the Imager on my Mac is pulling from the same URL you linked to. Anthias is an OS option from the Imager for various models of Pi (2/3/4/Zero), and I tried the appropriate build to no avail. The Anthias OS method was particularly problematic since SSH wasn’t enabled by default, and the AP mode on the first boot didn’t appear.

I’ve also tried using the Balena package. I run into the same issues each time.

For the rest I followed the process that you described.

I started to suspect that it might be the content I was trying to display, but I tested it with the default content, and it didn’t work either. It gets to the Anthias splash screen and goes blank.

docker ps

…appears to show that all the containers are running. So I still have no idea what’s going wrong.

Well, I only flash with the direct download of the image and in Pi Imager just select the option that lets you select custom image. (I use balenaEtcher to flash my SD cards, just my preference)

I cannot speak as to where and what other places the Pi Imager is pulling from, and I dont want to assume.
The way I mentioned, always works (99% of time), which is why I suggested it.

I haven’t tested with Pi Imager since it has been problematic as you can see, therefore if I want a reliable installation I do what I mentioned as my method of installation.

I’ve tried all three installation methods and can’t get Anthias to work at all:

  • Using the Pi Imager install, Anthias just displays the Anthias logo no matter what assets are added or scheduled.

  • Using the balena open fleet Anthias just displays the balena logo no matter what assets are added or scheduled.

  • Using the Rasbian Lite method recommended above, after an extensive install the display screen just shows a Raspbian login prompt. (After logging in, it doesn’t do anything)

I can appreciate the difficulty in maintaining free software but I can’t seem to find a way to make it work either and the documentation is scant.

On pi4 it worked perfectly until last week. Since then, doing EXACTLY the same thing (installing using bash) end up in a black screen and assets not being shown. Tested on several pi4 with same result

oh, and a small addition: if I clone a sdcard that I made the week before last week, it works seamlessly on any of theses same pi4. So, “the Anthias bash command and installs perfectly fine” is not correct.

Regards

Hello, can you make a image file from that one that work? I Have R Pi 4 ver 1.5 and can’t make it run no matter what method I choose to flash the card…

So when you end up with a black screen, are you checking to see if the containers are up and running? if you type in sudo docker ps and dont see any containers running, this is the reason for your black screen and a known issue that is part of the 1% of times that it doesnt work, but can simply be fixed by starting the containers by running ./screenly/bin/upgrade_containers.sh
So try that and then report back…


Actually, there is a small slight difference between installation working, and Anthias running, remember its a combination of individual containers that all need to communicate with each other to have Anthias running, so you could have an installation that always works, yet an Anthias not up and running simply because one container or two are not running, so my statement stands.

Can you provide a screenshot or something that will show what isn’t working? More details as well, for example tell me exactly what you did from start to end and how you are checking that your containers are up and running…

In my case, docker ps shows that it is mostly running. The viewer container seems to have trouble staying running (see attachment).

I have attempted to set this up using each of the recommended methods on two different RPi (2&3), and I get the same result each time—a blank screen and a screenly-srly-ose-viewer container that won’t stay up.

I ran the logs for the container and this is what I got:

Traceback (most recent call last):
  File "viewer.py", line 20, in <module>
    import zmq
  File "/usr/local/lib/python2.7/dist-packages/zmq/__init__.py", line 50, in <module>
    from zmq import backend
  File "/usr/local/lib/python2.7/dist-packages/zmq/backend/__init__.py", line 40, in <module>
    reraise(*exc_info)
  File "/usr/local/lib/python2.7/dist-packages/zmq/backend/__init__.py", line 27, in <module>
    _ns = select_backend(first)
  File "/usr/local/lib/python2.7/dist-packages/zmq/backend/select.py", line 28, in select_backend
    mod = __import__(name, fromlist=public_api)
  File "/usr/local/lib/python2.7/dist-packages/zmq/backend/cython/__init__.py", line 6, in <module>
    from . import (constants, error, message, context,
ImportError: libzmq.so.5: cannot open shared object file: No such file or directory
./bin/start_viewer.sh: line 57: kill: (38) - No such process```

This is incredible! I made same steps as you said here, on this page, for the fifth time now, so I can write here those steps…and now it’s working, just after the flash, no workaround…Thanks! 3 times I tried with a microsd, other 2 times with other, but same brand, same capacity, same lot…It’s playing mp4 like a charm, fullscreen…I think now I just clone it and I should have no trouble for other pi 4 devices…Thank you for your time!

It only took me 6 attempts (that is deleting the disk partitions of the SD card 6 times) before I got a functioning system. Here is what I learned:

  • Using the Official Raspberry Pi imager and installing the 64bit Lite (used this every time)

  • Plugged in a keyboard to set the username (pi) and password, and to configure the ssh in the raspi-config - Interface Options

  • Connected via SSH and ran raspi-config. Set the hostname and timezone and updated the raspi-config.

  • From the CLI I ran the apt-get update and apt-get dist-upgrade

  • Installed Anthias from using bash <(curl -sL https://install-ose.srly.io) – Note make sure the username is pi and that you are in the pi home folder when you run this

  • The install options I used were y to install, Enter (Y) for the network, y to install updates, y to reboot at the end

  • All went well until I remembered I had not configured the static IP. Then I remembered that the Enter (Y) during the installation passed the Network to Anthias docker contanier and frankly I could not be bothered to figure out how to assign the static in it.

  • Reimage, all the same steps, but assigned the static IP in the /etc/dhcpcd.conf

  • This time I choose n to the network during the Anthias install. The Anthias splash screen never showed up.

  • I reimaged 3 more times changing the Network stuff between dhcpcd and Network Manager and different combos of Y and n for the Anthias network

  • I eventually found that the Viewer Container was restarting constantly.

  • Sixth try I decided that since I also control the DHCP server on my network, I assigned a dhcp reservation and installed it the original way.

  • It is now working…finally…but found another issue.

When adding an Asset it “detects” webpage vs image vs video. It does this with the last part of the URL, if it ends in a listed image then it is an image. Once it detects is a certain way you cannot change it. The old screenly-ocs you could “fix” the Asset type.

The following is detected as an image and not a webpage:

http://anthias-content.domain/showimage.html?img=LPS1MonitorLobby16PHOTO1.png

So I ended up using this link instead:

http://anthias-content.domain/showimage.html?img=LPS1MonitorLobby16PHOTO1.png&AnthiasMistakesThisAsAnImageIfItEndsInAnImageExtension

Your experience pretty much mirrors mine, except that you got yours working!

I think the installation instructions on Github should include some of your “prerequisites” instead of the TL;DR “run this script” statement.

1 Like

Now I ran into Anthias caches the content for too long and is not updating.

Added a cron job that run every 5 mins to clear the cache:

You need to add a * before the /5
/5 * * * * docker exec -d screenly-anthias-viewer-1 /bin/bash -c “rm-rf /data/.cache/ScreenlyWebview/QtWebEngine/Default/Cache/*”

@DavidMcQueenLPS

I know there are some things not working with the current version of Anthias due to wifi-connect, but as a temporary workaround you can try to remove network-manager from a fresh installation:

sudo apt remove network-manager -y

…this might fix the whole wifi-connect issue since I just tested this. Remember this will prevent the “Anthias WiFi Connect” service/SSID from working, so make sure you have your Pi set up with wifi or ethernet port.

Ok, so, I need to just correct minor things from your post and also make some suggestions:

  1. You don’t need to plug in physical keyboard to set username and password, you can use a preconfigured userconf.txt file with whatever username you want, we programmed the system to allow any username and not just pi. Basically, on the computer you are using to flash the SD card, you can simply place a text file that contains a single line with the following:
pi:$6$c70VpvPsVNCG0YR5$l5vWWLsLko9Kj65gcQ8qvMkuOoRkEagI90qi3F/Y7rm8eNYZHW8CY6BOIKwMH7a3YYzZYL90zf304cAHLFaZE0

This basically creates the user named “pi” with the SHA512+salt password “raspberry” for you.
You can change both the username from “pi” into whatever you want, and to generate that crypt salted password hash that goes after the colon, you can use this website which generates it for you: MKPasswd - Generate password hashes online

This screenshot below is an example of me typing in “raspberry” (without quotes of course), and selecting the hash method “crypt-sha512”. Bullseye defaults to yescrypt but it also allows for other hashing algorithms, so I simply select what is of my preference that’s all. Every time you click Hash you will generate a different hashed text but the decoding of it will always be “raspberry”.

image

So, if you dont want to use raspberry as your password in the userconf.txt file, just change it in the mkpasswd generator and make sure you paste it in its entirety after the colon.
Example, I want to make my username johnnypi with password raspberrypie, my userconf.txt file will contain this single line:

johnnypi:$6$7NTRo0oVBCjwuLP7$d02uqaf7XgzNQ0iczJA81gNDYYCORCLtphvhK50/A0CDPuGHBcLSwK2dt3zPz2CUkYkXH3vUulguyW1cJVOts0

.
.

  1. You don’t need to configure SSH in the sudo raspi-config interface, you simply add a blank file named ssh.txt into your Raspbian SD card /boot/ directory. This automatically enables SSH on the RPi.

  2. You don’t need to waste time and manually run apt-get update and apt-get dist-upgrade… the install script runs the necessary apt-get update one.

  3. The bash install script URL is not install-ose… it is https://install-anthias.srly.io , the only reason it works is for backwards compatibility during the name change phase…

  4. Configuring static IP is always easier/better when done from the router using DHCP reservations and not on the Pi itself because you need to have specific DHCP options/rules so that the broadcast does not conflict with trying to assign it an IP while you are trying to set a static one, this gets complicated and can take a whole separate post just for networking stuff and dhcpcd.service.

  5. With regards to the asset being marked as Image type instead of Webpage, I suggest you post this as an issue in GitHub rather than here so that it can be properly troubleshooted/looked into.

K, that’s all.

** Update **
Removing network-manager will start creating a lot of error logs on the wifi-connect container, thus you should also stop it:

 sudo docker stop screenly-anthias-wifi-connect-1

I was able to get this to work… For the most part…

Wonder why this version takes so long to start displaying assets, the old version displayed assets right away, same hardware, raspberry pi 3b+ 1 gig ram.

Got the following error during installation, so I tried the upgrade manually and then screenly came up.

/home/pi/screenly/bin/upgrade_containers.sh
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get “http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json”: dial unix /var/run/docker.sock: connect: permission denied

Im not a smart coder guy, that’s why I loved Screenly OSE. Just downloaded the image for my raspberry pi, used Balena etcher to write it to the SD card and then I just worked. This shit just stays at the splash screen and then nothing. No adress to where I can access it, nothing. How can this be? I have a Raspberry Pi 3 model B.