mirror of
https://github.com/SignTools/SignTools.git
synced 2026-04-26 10:25:54 +03:00
[GH-ISSUE #239] Heroku is phasing out their free tier dynos. Alternative one-click deploy options? #75
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/SignTools#75
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @yohaoquan on GitHub (Aug 25, 2022).
Original GitHub issue: https://github.com/SignTools/SignTools/issues/239
As stated in this blog post from Heroku, They are phasing out the free-tier offerings of their, among other things, Dynos, which SignTools is currently using as one of the ways to deploy the web service, by the end of this November. the Dynos deployed will be automatically deleted if users do not act to switch to a paid plan.
I think a lot of people who use SignTools are deploying their web services on Heroku. With this kind of breaking changes(plus not a good track of security practices), I suggest migration to other cloud apps platforms to deploy the web services on. Below I listed several deployment services that are similar to Heroku. I have not checked pricings or capabilities of them.
@ViRb3 commented on GitHub (Aug 25, 2022):
Hello, I have been made aware of these unfortunate news. I don't have experience with any alternative services, so any first-hand feedback is greatly appreciated. I found the following doc that compares a ton of services and their free tiers:
I don't have much time to test at the moment, so will appreciate any help.
Railway seems to allow only 500 hours of runtime per month, which is ~20 days. This is not ideal, given that there are other options that run full time (although no SLA).
@kylefmohr commented on GitHub (Oct 26, 2022):
I opened #266 to include a warning in the documentation about this. I also don't have much experience with other services, but will take a look when I have time.
@kylefmohr commented on GitHub (Oct 26, 2022):
I actually just tried migrating to Fly.io (from @ViRb3's link) and it was incredibly easy. The TL;DR of the process is:
git clone --recursive https://github.com/SignTools/SignTools.giton your computer that has the Fly CLI (idk if recursive is actually needed)cd SignToolsfly launch, then choose "no" when asked to deploy nowRun
fly launchagain after saving the file. Your app should build and launch successfully now!Head to fly.io/dashboard now if you'd like to setup a custom domain with an SSL certificate
Open up the application you just built in the dashboard, then select "certificates". It should be self-explanatory from that point.
@p2kdev commented on GitHub (Dec 26, 2022):
@kylefmohr Getting below error when executing fly launch
@kylefmohr commented on GitHub (Dec 26, 2022):
Hmm, that's odd. I'm not 100% sure that this is the issue, but could you verify that your git user.name and user.email are set?
if not, set them with
@kylefmohr commented on GitHub (Jan 22, 2023):
@p2kdev I actually just ran into this issue myself when trying to redeploy to fly.io. The following fix worked for me:
In Line 8 of SignTools' Dockerfile, change the line FROM
CGO_ENABLED=0 go build -ldflags="-s -w" -o "SignTools"to the following:
GOFLAGS=-buildvcs=false CGO_ENABLED=0 go build -ldflags="-s -w" -o "SignTools"@ViRb3 do you know if there are any downsides to using this Go Flag in the Dockerfile? If there aren't, I can open a PR to add it.
@Nigel1992 commented on GitHub (Feb 18, 2023):
@kylefmohr
Could you take a look at https://github.com/SignTools/SignTools/issues/292 ?
@ViRb3 commented on GitHub (Feb 26, 2023):
@kylefmohr:
There should be no downsides to setting this as
false, addressed below.@kylefmohr commented on GitHub (Mar 1, 2023):
@yohaoquan Unfortunately it seems that fly.io doesn't currently have a way to one-click deploy applications like Heroku did, however it is apparently in their roadmap.
@Nigel1992 I'll take a look this afternoon and see if anything jumps out at me, sorry for the delay.
@kylefmohr commented on GitHub (Mar 1, 2023):
@Nigel1992 I diffed our .toml files, and couple things are different in mine:
First, at the beginning of my fly.toml file, I have the following lines, due to the file initially being autogenerated:
I'm thinking that, especially the
app = <app name>becomes potentially important later.Where yours says:
mine has
No clue if that actually makes a difference or not.
And once I deployed my app using this file, it gave me the url of
appsigner.fly.dev, which I think it grabbed from theapp =portion mentioned at the beginning of the file.Due to the fact it's been a while, I don't recall how it assigns these names, but I'm assuming this name needs to be unique, and then once you have your
<name>.fly.devurl, you can point it to a custom domain, which is how mine currently works. I found instructions for doing so here: https://fly.io/blog/how-to-custom-domains-with-fly/Edit: Oh, and put
<your app name>.fly.devas the server URL, I guess? My fly.toml file has my custom URL that I eventually pointed to theappsigner.fly.devurl, so idk if not having one would break it, but it couldn't hurt.@Nigel1992 commented on GitHub (Mar 1, 2023):
@kylefmohr Thanks.
I'll try this soon!
@kylefmohr commented on GitHub (Mar 3, 2023):
I created an application that should hopefully make generating your fly.toml file easier, and deployed it where else but fly.io: removed, but feel free to deploy yourself from the source below
It also automates the process of turning your .p12 file into a base64 string. Since many would consider it bad practice and a "security risk" to send your .p12 file, Apple developer email, and password to some unknown person (okay, it very much is lol), you can inspect and/or run the code locally, it's here
@Nigel1992 commented on GitHub (Mar 10, 2023):
@kylefmohr Thanks for your work!
Update: Only to figure out that I can't install OTA with my free dev account.
Damn..
@ViRb3 commented on GitHub (Mar 10, 2023):
Sorry @kylefmohr, I know you're only trying to help, but as you correctly identified, having this server-side generator is a huge security risk, and even if I'm sure you are not trying to do anything fishy, there is no way to guarantee it, so I removed the deployed link. For anyone who wants to use the generator, feel free to deploy yourselves after vetting the source.
@kylefmohr commented on GitHub (Mar 10, 2023):
Very understandable, I've also removed the link from my repo and am about to un-deploy it altogether.
@Nigel1992 commented on GitHub (Mar 10, 2023):
@kylefmohr Is there a way to contact you privately?
@kylefmohr commented on GitHub (Mar 10, 2023):
If you'd like, it's my GitHub username @gmail.com
@Nigel1992 commented on GitHub (Mar 10, 2023):
Never mind.
Figured out how to sideload with alternatives.
@ViRb3 commented on GitHub (Mar 14, 2023):
Copying my response from the linked PR above:
I really appreciate your willingness to help. I read your guide [on Fly.io], but one thing worries me a lot:
I tested myself, and indeed, you definitely need a valid credit card, even for the free plan. This significantly reduces the usefulness of this method. I then checked all the other alternative services I had seen over the past months, and there was literally only one that was truly free — Railway. I gave it a quick go and I was really impressed by their UX, it is very easy and intuitive to deploy SignTools on there, all from the website. I will write up a guide soon and post it, that would become the new official guide. Sadly Railway has a 500 hour limit and 10GB storage limit (yes, 1GB is advertised, but it is not displayed anywhere and you can store up to 10GB). So, your app can only run for 20 days non-stop, but if you stop it when not in use, I guess that works. Additionally, it seems like if you add your credit card, you get the same $5 free credit every month but with an extra 100GB storage and infinite runtime, so as long as you keep your CPU and RAM resources low, you may not end up having to pay anything. My current estimated cost, were I to go to the paid plan, would be $2, which is much lower than the $5 you get for free. Of course, try the paid plan at your own risk, and be prepared to actually pay money.
I don't think I will want to include Fly.io in this case, so you can stop work on this PR. Again, I really appreciate your help, especially in helping evaluate these other services for me!
TL;DR: Railway will become the new Heroku alternative, guide coming soon.
@ViRb3 commented on GitHub (Mar 15, 2023):
Guide updated, check it out: https://github.com/SignTools/SignTools/blob/master/INSTALL-SIMPLE.md
@kylefmohr commented on GitHub (Mar 15, 2023):
Makes total sense to me. They even have the "deploy to Railway" button like Heroku did, definitely the right call to go with them.