SLCL(1)

NAME
slcl - a simple and lightweight cloud

SYNOPSIS
slcl [-t tmpdir] [-p port] dir

DESCRIPTION
slcl is a simple and fast implementation of a web file server, commonly known as "cloud storage" or simply "cloud", that takes a directory dir where the credentials database and user files are stored (see FILES below).

OPTIONS
-t tmpdir Defines the directory where temporary files created by slcl are stored. If not specified, the environment variable TMPDIR is selected. However, if no value is available for TMPDIR, /tmp is selected. -p port Defines the TCP port slcl will listen to. If not specified, a random port is used.

FILES
slcl consumes a path to a directory with the following tree structure:

     .
     ├── db.json
     ├── public/
     └── user/
Where:

db.json
    This file is the credentials database, in JSON. Note: if not found, slcl creates a database with no users, with file mode bits set to 0600. The following schema is expected:

    {
        "users": [{
            "name":	"...",
            "password":	"...",
            "salt":	"...",
            "key":	"...",
            "quota": "..."
        }]
    }

public/
    This directory contains read-only files that can be accessed without authentication, implemented as symlinks to other files in user/. Note: this directory must be created before running slcl.

user/
    This directory contains user directories, which in turn contain anything users put into them. Note: this directory, as well as any user directories inside it, must be created before running slcl.

EXAMPLES
Below, there is an example of a directory with two users, namely alice and john, storing one file each, as well as a publicly-shared file by alice:

     .
     ├── db.json
     ├── public
     │   └── 416d604c03a1cbb2 -> user/alice/file.txt
     └── user
         ├── alice
         │   └── file.txt
         └── john
             └── file2.txt

COPYRIGHT
Copyright (C) 2023 Xavier Del Campo Romero.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SEE ALSO
usergen(1)