doonze 30 Posted October 14, 2023 Posted October 14, 2023 (edited) UPDATE: Seems to be broken by Python3.11. I installed it on my 4th box that I have running upstream packages, and 3.11 hoses it totally. Investigating. Well, I used to post my updates in my original thread, but I guess after 5 years I can no longer edit the first post with the latest details. So here we go. A new app, a new thread. 4.12 is a MAJOR ground-up overhaul of the EmbyUpdate app for Linux. I hope I didn't just break a bunch of people though. It was a monster task to get it to self-auto-update from the old app to the new app. I tested every way I could imagine, but things never go as planned out in the wild. Why I suppose Luke and company haven't got this as a built-in feature yet. If I broke you, I'm sorry. I did my best. But I feel the new architecture is here to stay. Future updates should be smooth, finally. But enough of that. On to the shiny. EmbyUpdate GitHub <== You install it here Note: Now requires Python 3.7+. Current development is on 3.9 and 3.10 but only 3.7 is required. EMBY Server auto-update You can use the app to install Emby for the first time or to keep your current server updated to the latest and greatest. When you first run the script it guides you through an interactive configuration to set it up just how you want. You can rerun the wizard at any time, or change any settings through command line arguments. You can set it up, and just run it when you want to check for updates. But what it was really created for was to run from CRON or SYSTEMD on a schedule to do all the work for you in the background. I've had it running for over 5 years, and never missed an update! Once it's set up, it just works. You choose during setup if you want Stable releases or Beta releases. From there, I'll keep you running on the latest. SELF AUTO-UPDATE Struggled for many years trying to figure out how to update a Python script in place. Old versions would download the new code, but keep running on the old code till that run was done. It wouldn't run the new code till the next time the app started. Now, for every run, it will check for self-updates, download one if there is one, install the update over its current code, and then restart itself to run with the new code. This is the first thing it does, so it's always running on the latest release. But I don't traditionally have a lot of those. Because, well, even the earliest releases would still work if they didn't keep messing with Python. But as Emby changes, and as Python marches on, I'll keep moving along with them. In 5 years I've only broken people once. And that was because of trying to merge a pull request from another user and not understanding fully how GitHub worked. I wanted SOME of his updates, but I got ALL of them. Sigh... Guess that's how you learn. Some cool new features: * If it can reach your Emby Server instance (by default it tries the standard port 8086 on localhost) it will pull the version from it, so it can know, right off the bat, if an update is needed. Use different ports? Use a different address? No prob, it will start a wizard to find out how to reach the server. Don't want to mess with it? You can turn that feature off, it'll never ask again or complain one bit. New install of Emby? You can just skip it. Next time it runs it'll try again. It doesn't need this to operate, but it helps it to keep track. In case you updated outside the app or did something weird. I'll work on a future update to give it access to more through the API if you give it login credentials. Maybe it can check if anyone is watching anything, and hold off until no one is streaming or logged into the server. It'll just keep trying till it finds the server free. How cool would that be? * It logs all self and Emby update history. So you can see what and when. Currently, you have to look in the DB with something like DBeaver, but finishing out that interface is high on the to-do list. I'll have that in a few weeks or less. Most of the config items are viewable/updateable through command-line arguments already. Just need to add views for the history databases. * Want to switch from Stable to Beta, or Beta to Stable? No prob. Just run the config updater and change what you want it to be. The app will switch you. Of course, use it at your own risk. Just like you would doing it manually, things can go wrong swapping back and forth. But you CAN. * I have lots of new features in mind. From email updates to a GUI for the desktop people. Course knowing my luck, just as I get all that written Luke will put auto-update into the Linux versions. I haven't had to worry about keeping up to date for years and years. Now you can not worry either! I run my Emby on a headless server in a storage closet-turned-server room. It's great not having to go jump through hoops every time Emby says there's an update! I haven't even seen that message in years! Edited October 14, 2023 by doonze 1
doonze 30 Posted October 14, 2023 Author Posted October 14, 2023 (edited) UPDATE 2: $#$#&@# #$@# #%# #@&$@# @#! I love Python except when they decide to break something in a version roll (Python2 not compatible with 3, anyone?) and no versions before the one that breaks it even gives warnings! I mean, give us warnings for 3 or 4 upgrades before you just go and make it stop working!! Anyway, 3.11 is fixed in version 4.20 (NICE!) of EmbyUpdate. Luckily not many are running 3.11 yet. It's not in Stable in most distro's unless manually installed, or running the testing or unstable versions. Like I had to do in my mint testing box to fix it! LOL I just wish I had the last day of my life back before this mess! Guess I'll develop in 3.11 now. Sigh... Cheers! Edited October 14, 2023 by doonze 1 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now