You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.8 KiB


imgs is a minimalictic image sharing web app written with Bottle framework.

No database. No image compression. No time limits. No additional dependencies.


  • Upload images via Drag&Drop
  • Easy copy share link
  • MIME type detecting

See deployment options in Bottle documentation:

Run imgs in Docker

Clone repository and edit imgs.ini.

Build Docker image:

docker build --tag imgs .

Run container from image. Replace /path/to/your/uploads/dir with path to directory where you want to store images:

docker run -d \
    --name imgs \
    --publish \
    --volume /path/to/your/uploads/dir:/opt/imgs/uploads \

imgs will launched on Set up reverse proxy server. I recommed to use basic authentication to prevent abuses. Nginx virtual host example:

server {
    listen 80;
    server_name yourdomain.tld;
    root /path/to/imgs/root;

    location / {
        auth_basic "Authentication required";
        auth_basic_user_file /path/to/.htpasswd;

    location ~* ^/favicon.ico$ {
        try_files $uri $uri/ =404;

    location ~* \..* {
        auth_basic off;


imgs client with CLI

imgs has a simple CLI tool based on curl. Copy imgs script to your PATH.

sudo cp imgs /usr/bin/imgs

Nautilus integration

Push files to your imgs instance via GNOME Files (former name: Nautilus). Depends on: curl, libnotify (notify-send utility).

Just place Upload to imgs script into ~/.local/share/nautilus/scripts/ directory.

DIR=~/.local/share/nautilus/scripts/; mkdir -p $DIR && cp Upload\ to\ imgs $DIR