{"id":15412680,"url":"https://github.com/molefrog/blood-banya","last_synced_at":"2025-04-19T11:36:13.729Z","repository":{"id":146469901,"uuid":"79214959","full_name":"molefrog/blood-banya","owner":"molefrog","description":"👻 The creepiest screenshot service ever! Uses pool of Nightmare.js renderers underneath.","archived":false,"fork":false,"pushed_at":"2017-02-14T20:01:13.000Z","size":158,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T07:22:16.921Z","etag":null,"topics":["nightmarejs","nodejs","screenshots"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/molefrog.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-17T10:11:59.000Z","updated_at":"2022-04-18T08:45:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"26d8de47-5471-4df0-890e-ad9fbdabd2ca","html_url":"https://github.com/molefrog/blood-banya","commit_stats":{"total_commits":11,"total_committers":1,"mean_commits":11.0,"dds":0.0,"last_synced_commit":"faa029b4a0a5e1af3ede7da7cd45565cdfaddba4"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molefrog%2Fblood-banya","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molefrog%2Fblood-banya/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molefrog%2Fblood-banya/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/molefrog%2Fblood-banya/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/molefrog","download_url":"https://codeload.github.com/molefrog/blood-banya/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249685197,"owners_count":21310564,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nightmarejs","nodejs","screenshots"],"created_at":"2024-10-01T16:54:04.179Z","updated_at":"2025-04-19T11:36:13.696Z","avatar_url":"https://github.com/molefrog.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\r\n\u003cimg src=\"https://raw.githubusercontent.com/molefrog/blood-banya/master/logo/blood-banya@2x.png\" width=\"340px\" /\u003e\r\n\u003c/p\u003e\r\n\r\n## Spooky!\r\nI was tired of installing Phantom/Nightmare/etc everytime I needed a page screenshot feature for my 12-factor apps. The \r\n**Blood Banya** is a dummy screenshot service that uses pool of Nightmare.js renderers to increase the rendering speed.\r\nIt can be self hosted. \r\n\r\n## Seting up Blood Banya on a hosted server\r\nFirst, make sure your server has decent amount of swap enabled. Fresh servers usually come without any swap and \r\nit's really easy to forget to enable swap in a first place, which sometimes leads to hours of trying to figure\r\nout why `npm install` crashes. [This DO article](https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04) is a life saver!\r\n\r\n**Blood Banya** uses Nightmare.js which is powered by Electron, so first thing you have to install is X11 framebuffer:\r\n```bash\r\napt-get update \u0026\u0026\\\r\n    apt-get install -y libgtk2.0-0 libgconf-2-4 \\\r\n    libasound2 libxtst6 libxss1 libnss3 xvfb\r\n\r\n# Launch framebuffer virtual display\r\nXvfb -ac -screen scrn 1280x2000x24 :9.0 \u0026\r\n```\r\n\r\nNow launch **Blood Banya**:\r\n```\r\nnpm install\r\nDISPLAY=:9.0 PORT=80 NODE_ENV=production node --harmony index.js\r\n# or if you prefer pm2:\r\nDISPLAY=:9.0 PORT=80 pm2 start index.js —node-args='--harmony'\r\n```\r\n\r\nStay tuned for more info! 🎃💀\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmolefrog%2Fblood-banya","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmolefrog%2Fblood-banya","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmolefrog%2Fblood-banya/lists"}