-
Notifications
You must be signed in to change notification settings - Fork 549
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Heroku shutting down their free tier #451
Comments
Thank you for the tip. I just migrated my Heroku Staticman app to fly.io and it works like a charm. |
@DawnPaladin: Thank you very much for the hint. Please share your feedback about any issues that you might have faced during the migration process. |
@DawnPaladin @matheusamazonas I spent an hour trying to get Heroku working unsuccessfuly :( I might try netlify as suggested here: https://github.com/eduardoboucas/eleventy-blog-staticman |
Did you try using a different version (v1 or v2) for the API post request?
Check the logs on Heroku. That might help finding out what's causing your issue. |
@ka2in The migration was as simple as it could be, to be honest. I only had to choose the Fly.io app name, which Heroku app should it migrate, and that was it. I was kind of impressed about how easy it was. |
@turian It's hard to pinpoint what your problem could be without extra information. I did struggle a bit while trying to set it up on Heroku, but everything was easily fixable. |
I was looking into this recently, and I figured that Staticman can run as a Google Cloud Function with an ugly POST redirection patch. Here is my fork that implements that. As a Google Cloud Function, Staticman will be able to handle 2 million POST requests per month for free. Essentially free for small blogs. |
@Rubonnek I just wanted to say thanks for your effort here! I preferred GCF over Fly.io or Netlify for no real reason other than not having to create an account with yet another company - and it works great thanks to your patch. A couple of notes for anyone doing the same:
I hope that helps! I get about 2 comments a month so I'm hoping 2 million POST requests will be enough 😆 |
Fly.io's heroker importer worked well for me. The importer actually appeared to get stuck, but when I went to the dashboard the app was running. After that, just had to change the github app webhook url and change the API link in the site config.yml. |
i suggest using
ℹ️ It's possible that one (personal) API server serve both GitLab and GitHub sites. |
@DawnPaladin @matheusamazonas |
We’re living in a post-heroku world. They disabled the free tier in part because of people signing up and using resources, and the competitors have learned from this and most require cards. |
I just migrated my Heroku instance to Cyclic. They have free accounts and don't require credit cards. To get setup, I had to fork this repo, since eduardo's repos wouldn't show up in the list. I also had to deploy from master, not dev. After moving over my GITHUB_TOKEN and RSA_PRIVATE_KEY, and changing the URL in staticman.yml to point to the new instance, everything seems to be working. |
More Heroku alternatives are listed at |
@erikw @jamesmortensen: Thank you very much for introducing more alternatives to Heroku. |
@Rubonnek the gcloud integration looks cool. With a little bit more effort, I think you could write a wrapper around it that would allow users of Staticman to choose between the default standalone mode and cloud function mode. However, the upstream project isn't active, so I'm not sure if it's a good time investment if there is no one to evaluate and merge the pull request. @VincentTam does v3 still support PAT tokens? I think I am still on v2 because I didn't create a GitHub app. |
I encourage you to move to GitHub App for issues addressed by PR 243. |
I finally migrated my app to Render without any big issues.
You can also set a different name for your Web Service on Render under Settings. |
Would be nice if people update their tutorials on the net to explain the migration process for new users. The Getting Started on the Staticman official website is not a detailed resource for newcomers. |
@ka2in would you be able to write one for Render? I should be able to have time soon to do one for cyclic.sh. Since there is no one to approve and merge pull requests, I think we could just post links to those tutorials in this issue. |
@jamesmortensen yes, sure. I'll prepare a tutorial for Render. |
@ka2in When deploying the app on Render, it prompts
But the build never finishes. It remains stuck on "in progress". It builds fine locally but there seems to be some trouble in deployment which I'm struggling to figure out. Is there by any chance you faced the same issue or know a workaround to fix it? |
@prateekdwv What did you choose under Environment (runtime environment for your web service) in Render? |
I just migrated staticman to fly.io using the linked Heroku importer. Very simple.
|
This was done with the description on https://github.com/ka2in/heroku-render-migration/wiki/Migrating-your-Staticman-instance-from-Heroku-to-Render which I found in the Staticman issue about Heroku ending their free plan: eduardoboucas/staticman#451 (comment)
The fly.io migration tool kept failing for me. It said the app was not found. I then manually cloned a copy of staticman to fly.io and copied my secrets from Heroku. That "mostly" seemed to work, but when the app runs, I'm getting an error about the RSA key not being found. Thoughts on what to try next? |
i've given up trying the RSA key cuz RSA won't be safe in post-quantum era. |
@VincentTam I'm not able to get the app to run without the RSA though as it kills my app on fly.io. Not sure why I'm having these issues as people above seem to have had no issues using the Heroku to fly.io migration tool. It's just not working for me and my manual clone of staticman and migration of my secrets are not working. I'm a bit confused on how to fix this. |
What port are you all using on fly.io in the config.js staticman file? I think that is where my app is failing. Fly.io is looking for 8080, but staticman is trying to use the default 0. Does that make sense? |
When I first migrated to Fly.io, I kept receiving failure reports:
I eventually fixed this by setting/changing |
Thanks, @hispanic! I updated both my config.js and fly.toml to match on the port and that seems to work. I am able to now get the "Hello from Staticman version 3.0.0!" message when I go to the URL. I updated my api url in my website config file and changed my GitHub Application webhook address, but it failed when doing a test post to the new fly.io instance. Some of the messages that I received:
Did you have any issues when attempting a first test comment? |
Nope. No issues after that, I believe. Make sure you set your secrets (env vars), including your private key: Full disclosure, I'm using a custom fork, not the official Staticman. (I'm not encouraging usage of my fork, at least not by anyone expecting support.) |
Thanks, @hispanic. Are you not seeing the depreciation warning around @octokit/app being deprecated and needing to use @octokit/app-auth instead? |
Nope, no warning for me. |
@hispanic Yeah, I'm very confused. I am able to use the Fly.io webhook in my Github app, but when I change from my Heroku api call in my comment form HTML post URL to the Fly.io api URL, I get the following error:
It seems that I am able to authenticate to the Fly.io instance since I can use the webhook URL in my GitHub app, but I don't know why my post URL is not working. |
I'm not sure what to say. Standard debugging procedures apply. Try to figure out the differences between the calls by recreating both the success and error conditions using something such as Insomnia, Postman, etc. Good luck. |
Thanks @hispanic. I'll try and figure that out (I'm primarily a designer, so I still have a lot to learn about debugging issues). |
Roger that. A time out error implies, to me, some sort of configuration error beyond Staticman. That said, personally, I don't believe that Staticman is maintained, packaged, supported, or coded cleanly enough to be reliably stood-up by those who are not willing and able to dig into the code a bit. This is not a criticism of anyone, including Eduardo. I'm very thankful the codebase is available for use, regardless of any weaknesses I see it as having. |
Please change the text and link saying Heroku has a free plan on your website. It's somewhat confusing when one lands on the Heroku website and can't find it (any more)! |
@samusz If you’re referring to something in the docs, you can make the edit yourself and submit a PR https://github.com/eduardoboucas/staticman.net |
Heads up: Heroku is eliminating their free services, starting November 28. Staticman has long recommended Heroku for their free services, and the documentation walks users through setting up hosting on Heroku; that documentation will need to be changed.
There are a number of competitors seeking to replace Heroku in this market niche. I've looked at a number of them and my current favorite is fly.io. They have a dedicated Heroku importer which has worked pretty well for me.
The text was updated successfully, but these errors were encountered: