Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time


version license Docker pulls

A storage-less database-less file sharing service.

Written in Lua. Powered by LuaJIT and OpenResty.


tiny[stash] is a website and a Telegram bot for file sharing. A key feature of the service is the fact that it does not actually store anything — all files are stored on Telegram file servers and proxied by the service. You might be familiar with this idea — there is a plenty of file sharing services that work this way. But tiny[stash] is going even further. In addition, it does not use any kind of database, all required information is encoded, encrypted and stored directly in a URL.

It is also undemanding in terms of machine resources. If it is possible to run the nginx server on some hardware, it'll probably be possible to run tiny[stash] too. It also does not require a lot of RAM or disk storage because all data are processed in a streaming fashion.



See instructions on OpenResty website.

Lua packages

$ while read dep; do opm --cwd get "$dep"; done < requirements.opm


$ cp config.example.lua config.lua
$ vi config.lua

Setting up Telegram bot webhook

$ ./ webhook set


$ ./ run

Quick deployment with Docker

  1. Prepare config.lua as described above.

  2. Set up Telegram bot webhook :

$ docker run --rm -it \
    -v /path/to/config.lua:/opt/tinystash/config.lua \
    un1def/tinystash webhook set
  1. Run Docker container:
$ docker run -d \
    --restart unless-stopped \
    -v /path/to/config.lua:/opt/tinystash/config.lua \
    -p 80:80 \
    --name tinystash \


Source code is licensed under the MIT License.

Source Sans Pro font is licensed under the SIL Open Font License, Version 1.1.

Source Code Pro font is licensed under the SIL Open Font License, Version 1.1.

You can’t perform that action at this time.