livepeer / go-livepeer

Official Go implementation of the Livepeer protocol
http://livepeer.org
MIT License
538 stars 168 forks source link

`sudo apt install livepeer` #321

Open chrishobcroft opened 6 years ago

chrishobcroft commented 6 years ago

It would be very useful to be able to install livepeer from a simple command line prompt.

"sudo apt install livepeer"

and

"sudo apt update livepeer"

or similar.

nicolasburtey commented 6 years ago

brew install livepeer :)

jozanza commented 6 years ago

At the moment, at least this is possible:

curl https://raw.githubusercontent.com/livepeer/go-livepeer/master/install.sh | bash

We def get on brew and/or add an update command

girishramnani commented 6 years ago

We can use https://github.com/jordansissel/fpm to create deb, rpm and OSx packages. I have used fpm to generate packages before in production and it is quite solid.

girishramnani commented 6 years ago

@j0sh @ericxtang can I pick up this issue?

j0sh commented 6 years ago

Go for it! Does fpm also facilitate creating service users, init files, etc? That's the real benefit of packaging IMO, but it's tedious to do this for each platform manually.

girishramnani commented 6 years ago

I will investigate that as well. But currently I saw that livepeer install.sh only just copies the binary to usr/bin so we can initially target that. What do you say?

On Tue, Aug 14, 2018, 2:26 PM Josh Allmann notifications@github.com wrote:

Go for it! Does fpm also facilitate creating service users, init files, etc? That's the real benefit of packaging IMO, but it's tedious to do this for each platform manually.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/livepeer/go-livepeer/issues/321#issuecomment-412803111, or mute the thread https://github.com/notifications/unsubscribe-auth/AGP5tAYMSLJQQ--ldaDv_YVX4UWJyBK8ks5uQpDRgaJpZM4SfhSw .

chrishobcroft commented 4 years ago

Hey, how easy would this be?

Perhaps even sudo apt install transcoder for those with GPU capacity on hand.

iameli commented 4 years ago

Oh hey, didn't know this had a ticket already — I filed https://github.com/livepeer/go-livepeer/issues/1367 in February, as well as https://github.com/livepeer/go-livepeer/issues/1365 for Homebrew.

I think we're pretty close to this now that we're regularly doing multi-platform semver releases. The next step will be to sign our release binaries, which is https://github.com/livepeer/go-livepeer/issues/1366. Not a huge technical challenge, just something where we need to get our ducks in a row regarding custody of that private key and whatnot. I'll see what we can do to get that prioritized.

Shipping that package with an init file (livepeer.service or some such) is an interesting notion. The biggest missing piece that I see there is that go-livepeer can currently only be configured with command-line arguments, which would require modifying the service to customize whether you're running as e.g. -broadcaster or -orchestrator -transcoder. Two ways I can think to allow such a thing to be customized... we could either support some kind of /etc/livepeer/livepeer.conf file, or support configuration through environment variables (something like this) and then allow it to be customized with an EnvironmentFile.

But that can all be an enhancement after we ship the initial apt install livepeer functionality.