Application filesystem layout

Location of applications on server

Locker server stores application data in APPS_PATH config variable which is /opt/locker-apps by default.

first level subdirectories are userid, second level subdirectories are application names. So, for application with URL like notebook-user1.locker.example.com it’s files are in /opt/locker-apps/user1/notebook/.

Application layout

/etc files

etc/keys.json

List of system administration keys

[
    {
        "key": "EyTp...",
        "comment": "Initial key, generated by locker-admin",
        "created": "2021/05/21",
        "touched": "2021/05/21",
        "ip": []
    }
]

etc/oidc_credentials.json

List of app-specific credentials.

minimal example:

{
    "vendor": [
        "google"
    ]
}

etc/options.json

options.json is main configuration file. See options-json page.

etc/users.json

Main users database (something like /etc/passwd)

Example with one user:

{
    "bindings": {
        "google": {
            "123123123123": "u1"
        }
    },
    "control": {
        "last": 1
    }
}

etc/skeleton

Skeleton contains directory of template files. When new user is registered, his homedir will be created from etc/skeleton

etc/default

Similar to skeleton, but these files are read if file not found. E.g. if ~/r/file.json not found, but etc/default/r/file.json exist, if will be served.