https://github.com/jasonraimondi/url-to-png
Selfhosted. URL to PNG utility featuring parallel rendering using Playwright for screenshots and with storage caching via Local, S3, or CouchDB
https://github.com/jasonraimondi/url-to-png
amazon-s3 couchdb docker nestjs node playwright s3 screenshots selfhosted url-to-image url-to-png
Last synced: 2 months ago
JSON representation
Selfhosted. URL to PNG utility featuring parallel rendering using Playwright for screenshots and with storage caching via Local, S3, or CouchDB
- Host: GitHub
- URL: https://github.com/jasonraimondi/url-to-png
- Owner: jasonraimondi
- License: mit
- Created: 2018-07-30T18:47:15.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2024-07-13T00:33:09.000Z (11 months ago)
- Last Synced: 2025-04-09T16:16:43.439Z (2 months ago)
- Topics: amazon-s3, couchdb, docker, nestjs, node, playwright, s3, screenshots, selfhosted, url-to-image, url-to-png
- Language: TypeScript
- Homepage: https://jasonraimondi.github.io/url-to-png/
- Size: 2.76 MB
- Stars: 182
- Watchers: 4
- Forks: 29
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
![]()
URL to PNG[](https://github.com/jasonraimondi/url-to-png/blob/main/LICENSE)
[](https://github.com/jasonraimondi/url-to-png)
[](https://hub.docker.com/r/jasonraimondi/url-to-png/tags)A URL to PNG generator over HTTP with a fairly simple API accessed via query params passed to the server.
- Generate PNG images from URLs
- Customizable image dimensions and viewport size
- Support for mobile user agent and dark mode rendering
- Caching of generated images
- Allow list for domain-specific requests
- Configurable Playwright options
- Integration with various storage providers (AWS S3, CouchDB, Filesystem)
- Prometheus metrics endpoint## Getting Started
Checkout [the docs to getting_started](https://jasonraimondi.github.io/url-to-png/getting_started/)
### Docker
Run the following command:
```
docker run --rm -p 3089:3089 ghcr.io/jasonraimondi/url-to-png
```On the hub: [Link to DockerHub](https://hub.docker.com/r/jasonraimondi/url-to-png/)
### Local Serve
Serve the project
```
git clone https://github.com/jasonraimondi/url-to-png
cd url-to-png
pnpm install
pnpm exec playwright install chromium
pnpm dev
```## Configuration
Read the [full config options](https://jasonraimondi.github.io/url-to-png/config/)
## Encryption
Learn about [encryption](https://jasonraimondi.github.io/url-to-png/encryption/)
## Metrics
Learn about [metrics](https://jasonraimondi.github.io/url-to-png/metrics/)
## Star History
[](https://star-history.com/#jasonraimondi/url-to-png&Timeline)