devbcn-workshop icon indicating copy to clipboard operation
devbcn-workshop copied to clipboard

how not to use shuttle?

Open tessus opened this issue 2 years ago • 2 comments

Sorry for opening an issue for a question, but the discussions are not available for this repo.

This workshop is awesome. But I don't want to be locked into using shuttle. I just want to run it on my own server.

It is mentioned somewhere that this workshop was updated to use shuttle. However, I think that being able to run it on your own server is more imoprtant than requiring people to use a 3rd party service to deploy the app. Is there any way that this workshop includes a separate chapter that explains how not to use shuttle?

tessus avatar Jul 15 '23 22:07 tessus

Hi @tessus, thank you for your feedback. The whole point of the workshop was to show people how to easily deploy with Shuttle, but note that we separated our endpoints into a library so we could use them in a standalone Actix app. See this mention in the workshop.

That being said, the code in this repo has a Shuttle and a pure Actix crate. So you can take a look there to check how this could work.

robertohuertasm avatar Jul 17 '23 08:07 robertohuertasm

Thanks a bunch for the reply. I do understand that shuttle is convenient. But it might not be that useful, if you want to self-host. Especially since most of these Rust apps don't take a lot of resources, it is very easy to run them on your own infra at home or deploy them to a server in a data center. e.g. I run my own bare metal server in a DC, because I don't really trust cloud providers or web hosters (but that's another story ;-)).

In the current state of the workshop one must use shuttle to deploy. It's not that one can deploy a shuttle app to their own infra.

It's not that complicated to host it yourself. You copy over the binary, create a systemd unit file and maybe setup a reverse proxy. All this is done in less than 5 minutes.

I will read up on the links you sent. Thanks again.

tessus avatar Jul 17 '23 21:07 tessus