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

chasekaylee
Hi there everyone! Recently, I have fallen in love with programming with Elixir and have been having so much fun with it. I have been do...
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
conradwt
Hi, I’m building an application that will have support for both the web and mobile. At this time, I’m using PhxGenAuth for authenticatio...
New
Ora2pgnewbie
Wanted to check if there is a UI available to use Ora2pg tool.
New
Fl4m3Ph03n1x
Background I am a fan of dialyzer and friends (looking at Gradient) and I try to have sepcs in my code as much as I can. To this end, I a...
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 module that uses TypedStruct to create structs. This is the code: defmodule Shared.Data.Authorization do @moduledo...
New
pillaiindu
What is the difference between using :references and :belongs_to in the following command? bin/rails generate scaffold LineItem product:...
New
yamuna
Hi everyone, I’m trying to run deepseek-coder:6.7b-instruct-q4_K_M in Docker using Ollama to create an LLM that will be used by CrewAI a...
New
theodor
I have this app where there are a bunch of users that cannot access their account anymore after they updated their Android device to Andr...
New

Other popular topics Top

PragmaticBookshelf
Learn from the award-winning programming series that inspired the Elixir language, and go on a step-by-step journey through the most impo...
New
New
AstonJ
We have a thread about the keyboards we have, but what about nice keyboards we come across that we want? If you have seen any that look n...
New
dimitarvp
Small essay with thoughts on macOS vs. Linux: I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
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
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New
PragmaticBookshelf
Use advanced functional programming principles, practical Domain-Driven Design techniques, and production-ready Elixir code to build scal...
New