Skip to content

Varasto client

These instructions mainly apply to desktop platforms. Android and iOS devices have different mechanisms. There are also more user friendly mechanisms for accessing data.

OS support

Component Linux Windows macOS Android iOS
Varasto client Soon

Setting up


You'll find the client binary from your Varasto server's UI.


Rename the binary to sto and give it executable permissions:

$ mv sto_linux-amd64 sto
$ chmod +x sto

Place the binary in your PATH.

Place the sto.exe in your PATH.

If you don't know where to put it, put it in C:\Windows\sto.exe

This makes it so that you can run $ sto from anywhere.


If you haven't configured Varasto client yet, config-print will give you instructions to fix it:

$ sto config-print
file: /home/joonas/varastoclient-config.json
.. does not exist. To configure, run:
    $ sto config-init

Running $ sto config-init without any arguments will give you instructions.

You'll find authToken under Web UI > Users > API keys

After you've run config-init successfully, run config-print again to check config's validity and what it contains.


You'll have to change tls_insecure_skip_validation to true, unless you'll have configured a custom SSL certificate.

How does the cloning interface look like?


Currently the cloning interface is only usable from the command line (i.e. nerds only). This will be change to a more user friendly GUI in the future and the pushes will be on automatic scheduler to make it an actually usable backup method.

Commands (equivalent) from the video:

$ sto clone gu5Yyto9OWE
$ cd "Ender 3 disk"
$ echo "test file content" > Testing.txt
$ sto st
+ Testing.txt

$ sto push

Safe removal of collections

$ sto rm is a safe method of removing local clones of remote collections - Varasto doesn't let you remove local copy if it has changes that are not pushed to the remote.

This example continues where we left off at movie upload tutorial.

What happened is that when we pushed the state of the current directory ("local") to a Varasto collection ("remote"), they synchronized states - i.e. there are now two copies.

Let's try it by changing our local (ted2/) directory:

$ echo foobar > hello.txt
$ cd ..
$ sto rm ted2/
Refusing to delete workdir 'ted2/' because it has changes
$ cd ted2/
$ sto st
+ hello.txt

Ok let's remove the changed file so we can remove the directory safely:

$ rm hello.txt
$ sto st  # note: no changes are reported below
$ cd ..
$ sto rm ted2/

Uploading collections in bulk

Sometimes you want to upload many collections at once. Instructions are covered in TV show upload tutorial.