* Cache generation instead of views This way, query params are kept cached. * Add view to list all images |
||
|---|---|---|
| templates | ||
| .gitignore | ||
| Caddyfile | ||
| Containerfile | ||
| Containerfile.aio | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
| wsgi.py | ||
Placeany
A quick and simple service for getting pictures of whatever-you-want for use as placeholders in your designs or code. Just put your image size (width & height) after the URL and you'll get a placeholder.
There is also a bookmarklet service which enhances sites with many images.
Inspirations:
- https://web.archive.org/web/20110504042732/http://placekitten.com/
- https://web.archive.org/web/20120223050454/http://www.heyben.com/horse_ebookmarklet/.
Example calls
Generates an image, 200px wide and 300px tall:
http://localhost:8080/200/300
Generates an image in grayscale, 200px wide and 300px tall:
http://localhost:8080/g/200/300
Installation
First, create an image collection.
- Create the directory
./images. - Get some images, from Unsplash or similar.
- Place images in image directory.
Run as local web server
- Go to the code:
cd path/to/holder. Copyimagesfolder to it. - Create and activate a virtualenv.
- Get dependencies in place:
pip install -r requirements.txt - Start the app:
waitress-serve wsgi:app - Go to http://localhost:8080 in your web browser.
- Done!
Run as Container
The most easy and portable way to use this is to use Docker or Podman. In this build, waitress is used for production readyness.
podman build .
podman run -it -p 8080:8080 -v ./images:/app/images <container id>
If you wish to embed images in container as well, use alternate Containerfile.
podman build -f Containerfile.aio --build-arg images=./images .
podman run -it -p 8080:8080 <container id>
Run behind reverse proxy
A reverse proxy in front of placeany is recommended. An example Caddyfile is available to make https "just work", but Nginx+certbot will be equally fine.
Podman tip: generate systemd files
Make sure to enable lingering user processes.
loginctl enable-linger $USER
Then, create and change directory to systemd.
mkdir -p .config/systemd/user
cd .config/systemd/user
Now, generate the systemd user service.
podman generate systemd --new -f -n placeany
Your container can now be enabled and started.