| .gitea/workflows | ||
| .dockerignore | ||
| .editorConfig | ||
| .gitignore | ||
| bun.lockb | ||
| docker-compose.yml | ||
| Dockerfile | ||
| index.ts | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
resize-img-api
The structure of the API path is:
/api/imgresize/:width/:height/:url
Where :width and :height can be numbers in pixels or auto.
The :url is the URL of the image to be resized and should be URL encoded, which can be done in JS with encodeURIComponent(). See MDN ref.
Example encoded URL for https://memori.ai/logo.png:
https%3A%2F%2Fmemori.ai%2Flogo.png
Then call the API as, for example:
/api/imgresize/200/200/https%3A%2F%2Fmemori.ai%2Flogo.png
You can also specify a format using the querystring ?format= and indicating one of the following: avif, gif, heif, jpeg, jpg, pdf, png, svg, tiff, webp. (Note: Experimental!)
Docker
To build the Docker image:
docker build -t resize-img-api .
To run the Docker container:
docker run -p 8787:8787 resize-img-api
Using the published image:
docker run -p 8787:8787 git.nzambello.dev/nzambello/resize-img-api:latest
Development
To install dependencies:
bun install
To run:
bun start
Or in development mode with hot reloading:
bun dev
This project was created using bun init in bun v1.0.26. Bun is a fast all-in-one JavaScript runtime.