| 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. Port 5099 is instead used.
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.