jaimeiniesta

jaimeiniesta

Screenshots as a service

I maintain a project that lists hundreds of thousands of web pages, and I’d like to show a screenshot for each web page. There are already some services out there that give you this service, and are very easy to integrate in an app - all you need is use an IMG tag, basically, but I’m worried about the costs.

So, I’m evaluating building this in-house to reduce costs. I think that it would be pretty easy to set up an AWS Lambda with Puppetteer that, given the URL of the page and some options like size, takes a screenshot and maybe caches it to S3?

Do you have any experience with this? Is there already an open source solution that I can easily set up?

Most Liked

AstonJ

AstonJ

I would think it’d be significantly cheaper to create and run you own than use AWS Lambda :slight_smile:

You could use something like:

…and host the service on a very cheap dedicated server (you can get them for about $40 a month now I think). You could them simply copy them over to your app or hotlink to them from a sister-domain or subdomain on that server. Large hard drives are very cheap now, so you could easily host up to 2TB for around that cost I reckon.

There are lots of good dedicated server suggestions in this thread on EF btw: https://elixirforum.com/t/deploying-elixir-opinions-on-heroku-digitalocean-bluemix-etc/289

Where Next?

Popular Backend topics Top

jaimeiniesta
I maintain a project that lists hundreds of thousands of web pages, and I’d like to show a screenshot for each web page. There are alread...
New
bsek43
Hello everyone, I’ve started learning Elixir and Phoenix few months ago and while I mostly grasped Elixir’s functional concepts and Phoe...
New
Fl4m3Ph03n1x
Background I am trying to find a cheap and easy way to create New Types in Elixir, and Records seem to be just what I would need. Probl...
New
JimmyCarterSon
I am confused about the Schema setup, I am setting up a new application and I want to seed files in it as well. I tried to mix to create...
New
AstonJ
If when trying to create (or recreate) your dev db with rails db:create you are getting: PG::ConnectionBad: connection to server on soc...
New
sona11
If isReachable throws an IOException in Java, what is the right step to do and why? The application, I believe, should halt the process ...
New
Fl4m3Ph03n1x
Background I have a phoenix application in Windows 11. Unfortunately for me, I cannot compile the application because of a dependency err...
New
harwind
I’m presently working on a backend development project to build a RESTful API using Python and Flask. The Scaler backend developer site h...
New
harwind
I have a large SQL database with millions of records, and I’ve identified duplicate entries. What’s the most efficient way to find and re...
New
Fl4m3Ph03n1x
Background I have an umbrella project, where I run mix test from the root. In one of the apps, I am mocking the File module using the Mo...
New

Other popular topics Top

New
DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New
AstonJ
Or looking forward to? :nerd_face:
498 13326 269
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
Exadra37
Oh just spent so much time on this to discover now that RancherOS is in end of life but Rancher is refusing to mark the Github repo as su...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
DevotionGeo
The V Programming Language Simple language for building maintainable programs V is already mentioned couple of times in the forum, but I...
New
PragmaticBookshelf
Author Spotlight: VM Brasseur @vmbrasseur We have a treat for you today! We turn the spotlight onto Open Source as we sit down with V...
New
PragmaticBookshelf
Author Spotlight: Peter Ullrich @PJUllrich Data is at the core of every business, but it is useless if nobody can access and analyze ...
New
PragmaticBookshelf
Get the comprehensive, insider information you need for Rails 8 with the new edition of this award-winning classic. Sam Ruby @rubys ...
New