Kegbot / kegbot-server

Kegbot Server, the internet beer kegerator monitoring system.
https://docs.kegbot.org/projects/kegbot-server/
MIT License
194 stars 103 forks source link

Get project buildable again & release a new version #373

Closed mik3y closed 2 years ago

mik3y commented 4 years ago

I haven't touched the code here in years, but I see a modest number of folks still trying to do new things with the project -- which is cool.

The code is starting to bit rot, however, which is less cool: Python 2 ie EOL, Django has had numerous releases (including several security updates), and many other lesser dependencies have developed issues too.

I started some work a few years back in the v1.3-dev branch to delete some cruft. I think successfully closing this issue would mean some combination of:

Opening this issue to see if there's some interest out there. I would love to have some help, know there are also a few forks with some activity (what's up @johnnyruz !), so please chime in if interested and able to help.

patfreeman commented 4 years ago

I'm here to help.

hanzov69 commented 4 years ago

I'm probably of limited use on the python stuff, but I've got some decent experience building containers with multiple arch targets

mik3y commented 4 years ago

Oh, awesome! Great to see y'all coming out of the woodwork with me, too.

I'll get some issues spiked out and will reach back out here with more of a plan. Have some previously-unpushed changes on my dev box to dust off and may push as well.

hanzov69 commented 4 years ago

For perhaps my own uses, but I've been playing around with balena, would be neat to see if this could crammed in to one of those containers.

mik3y commented 4 years ago

@hanzov69 packing with docker would be rad. RPi seems to be the preferred hardware build this way, and a lot of folks seem to be in a miserable state of making the python build work.

mik3y commented 4 years ago

Updates:

johnpdowling commented 4 years ago

Chiming in if you need a hand or a tester, I've been packing the old server into Home Assistant containers for my setup.

mik3y commented 4 years ago

thanks John! I saw that a while back, super cool.

Current status is, master should be buildable & runnable. If you're feeling adventurous, you could try running from a docker build. There are some breaking changes to how configuration works, which are described here and here but not terribly exhaustively (pulls welcome).

dotsam commented 4 years ago

Great to see things happening here again! Last year I took a run at getting this up and running and merging in some things that were seemingly on the go a few years ago. I mainly started by integrating the bootstrap-update branch into the v1.3-dev branch, and then continued to go from there. I finished updating all of the old bootstrap classes that I could find, and fixed up the asset build process a bit. Then I started to try and add websocket support, and then I tried to move to Python 3 myself, but that's where I mostly stalled out not having too deep of a knowledge of python and the full extent of the changes needed.

I've just pushed my work up here to Github at https://github.com/dotsam/kegbot-server/tree/v1.3-dev-bootstrap, but there's unfortunately probably not a great way to get my changes merged in with everything else that's been done now. But with a bit of work, the markup and styling changed could probably be brought over. Might even be possible to move to Bootstrap 4 without too much trouble.

dotsam commented 4 years ago

Actually, revering my 2to3 and websocket changes leaves a reasonably clean merge request... but it's still pretty large, owing mostly to the bootstrap and libraries changes. There are a handful of other tweaks I did in there too... let me know how you'd like to proceed. I opened PR #393 to see what this merge would look like.

mik3y commented 4 years ago

@dotsam awesome! I'll give your PR a whirl - would be a nice update to pull in.

rplankenhorn commented 4 years ago

@mik3y I'm here to help as well. One thing I was thinking about was adding a GraphQL API but obviously upgrading to the latest version of current libraries should be a priority.

mik3y commented 4 years ago

@rplankenhorn that'd be neat if you want to give it a shot. less excitingly the existing rest API could use a replacement too - it's a mess of stuff right now.. i'll kick open a "v1.4" project for some more interesting work

JarrodJ83 commented 4 years ago

Awesome to see activity here again. I got mine up and running by following the advice of @johnnyruz but it was not trivial. Being able to run this with docker will be huge! I will try to find something I can contribute to once I get things up and running locally. Thanks again for reigniting things here!

JarrodJ83 commented 4 years ago

@mik3y I was able to build with docker but when I run things seem to just hang here:

[2020-04-11 00:00:13 +0000] [1] [INFO] Starting gunicorn 20.0.4
[2020-04-11 00:00:13 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 (1)
[2020-04-11 00:00:13 +0000] [1] [INFO] Using worker: sync
[2020-04-11 00:00:13 +0000] [11] [INFO] Booting worker with pid: 11

Any suggestions?

mik3y commented 4 years ago

Hey @JarrodJ83 - that looks normal to me; it's probably sitting around waiting for connections.

Check the docs here: https://kegbot-server.readthedocs.io/en/latest/install.html#run-the-server

JarrodJ83 commented 4 years ago

Thanks, @mik3y , will do. The UI wasn't accessible so I assumed something was hung. I'll dig more into the docs.

mik3y commented 4 years ago

no prob! can pop over to the slack group if you get stuck too.

mik3y commented 2 years ago

🎉 v1.3.0 has just been released. Hooray! Closing issue.