Trying to get up and running on Beelink/Ubuntu

I decided to move from Windows to Linux for PhotoStructure. I bought a Beelink Mini S PC and installed Ubuntu 22.04.

I installed PhotoStructure and moved over the USB external drive that I had been using on Windows, and which contained my PS library.

I started PhotoStructure, answered the welcome questions (it found the PS library) and waited for the magic. Instead, I got a “Internal Server Error” message, in a black font against a nearly-black background in the PhotoStructure window.

I shut down, set logLevel to “error” and tried it again. Same result, but this time I have a set of logs saved.

Please help with next steps. Thanks! If the Beelink is not supported, I have 30 days to return it to Amazon.

Check logs if they have some answers. Do you use Docker to run PhotoStructure? What versions of both Docker and PhotoStructure you use?

I’m using PhotoStructure 1.1.0 (desktop version) for Ubuntu and NOT Docker. Here is a log entry showing an error relating to my external drive:

{“ts”:1713716310849,“l”:“error”,“ctx”:“WatchedChild(web:2110)”,“msg”:“onError()”,“meta”:{“src”:“ChildService(web).onStdout()”,“fatal”:true,“ignorable”:false,“errToS”:“handler(/settings): Error: Failed to set up /media/earl/Seagate Backup Plus Drive/PhotoStructure/.photostructure/models/db.sqlite3: SqliteError: code SQLITE_CORRUPT: malformed database schema (migrations) - near "STRICT": syntax error¹⁶”}}

1.1 is very old and desktop version itself is not good way to reliably run PS. Maybe easy fix would be renaming label Seagate Backup Plus Drive to Seagate (to remove spaces), there should be Disk app to do it in Ubuntu.

Or try running beta or alpha desktop versions?

Good way could be using docker-compose, that will require using terminal though and learning some linux CLI commands. It is not hard, but for newbie could be frustrating.

Thanks. I abandoned the desktop version as you suggested and installed Docker and am currently up and running 2024-3,3-beta. It took all night to rebuild my library, but seems to be running OK now.

I’m a docker newbie, and wonder if there is a special procedure for shutting down PhotoStructure when it is running in a Docker container. The Shut Down button in the UI triggers a “shutting down” pop-up but the program doesn’t actually terminate. Is it OK to use stop and start commands in Docker to do this?

Yes it is ok to stop container manually, but if you just shut down pc stopping containers is not needed, everything will be done itself. Even if sync is happening it will pause it and resume once containers start again.

Sorry for not getting to you sooner, @esjones !

How did configure your docker container? If you use these instructions, it should stop gracefully either when you use docker to stop, or use the nav menu to shutdown.

The most important bit is the --stop-timeout 120 argument – it makes docker be more patient with PhotoStructure, as shutting down requires closing the database (which can take a couple seconds or more, depending on the size of your database and the speed of your disk).

Worst case, though, even if docker force-kills PhotoStructure, there’s startup code to try to recover from that (as unexpected power loss is a thing that I wanted to try to handle as best I could).

Edit: the beelink should behave just like any 2 or 4 core intel box–it should run PhotoStructure fine (especially if you can put at least your library database on an SSD, as 2.5" HDDs are quite slow)