A self hosted Thumbnail generator/finder which creates thumbnails based on folder names and google search results.
This project uses the Google search api to find URL-s based on folder names. From there thum.io is used to generat thumbnails of the url-s.
thumby_vid.mp4
docker create \
--name=thumba \
-e GOOGLE_SEARCH_KEY=key \
-e GOOGLE_SEARCH_CX=projectId \
-e THUM_KEY_ID=keyID \
-e THUM_KEY_SECRET=keySecret \
-e NEXT_PUBLIC_HOST=http://localhost \
-e NEXT_PUBLIC_PORT=10010 \
-v /path/to/host/config:/app/config \
-v /path/to/host/thumbnail_folder:/app/video \
-p 10010:10010 \
--restart unless-stopped \
bokker/thumba
You can optionally set the port using NEXT_PUBLIC_PORT
You can optionally set the host using NEXT_PUBLIC_HOST dont set the port here, just the IP, default is localhost it should match the host where you are accessing the service from.
You will need two API keys and a search engine project CX ID.
Google custom search API is used to find website results based on the folder names. Google has a 100 search per day free tier but the paid options should be fairly cheap also.
- sign up to https://programmablesearchengine.google.com/
- create a new project with access to the entire web
- grab the ID
- Enable the search API at https://developers.google.com/custom-search/v1/introduction and grab the GOOGLE_SEARCH_KEY
- (optional) Add billing account if more than free tier amounts needed at
This service is used to generate the images from the URLs. They provide a paid plan that includes 10000 images for 1$ a month
- sign up https://www.thum.io/signup
- add credit card
- generate a key at https://www.thum.io/admin/keys
- copy keyID and keySecret (not key name)
I'm open to contributions & suggestions in making this a lot better ✋