Synchronized Storage

hp_eva4400-1b.jpg
A storage, or Network Attached Storage (NAS), is a device accessible by the hub through the network using the SSH protocol. It can be located behind an Internet service provider or in a data center.

Storage Main Panel

The storage's main panel is divided into 4 sections:

2024-01-03-164251_1165x692_scrot.png

Geographic Map

screen_shot_2025-01-10_at_16.36.04.png This map shows the location of the storages, their hub and the links between them. It is centered on the current storage. The localization of the storage is approximated according to its specified hostname, using a IP2GEO service.

Note

The localization can be specified manually using the geoloc key (see below).

Channels Explorer

This interface let you explore the configured synchronisation channels between the storage and its hub. Multiple channels can be expanded to read several channels at a glance using the and buttons.

An channel's status is shown using a (activated) or a (deactivated) icons. You can toggle a channel on and off by pressing this button.

The direction of the transmission is shown using up (upload) and down (download) arrow icons. The current transmission activity is shown using a blinking arrow, and the color of the arrows fades with time.

screen_shot_2025-01-10_at_16.31.17.png

Note

Some important rsync options are shown on the link line like the eraser icon which means that the --delete rsync option is used for that link.

Note

Mouse over the up or down arrows to see when the link finished and how long it took to process

upload finished on 23-12-15 11:19:03+00:00
duration 9"

Read the rsync filters and the rsync options sections for more details about the links and how to configure them.

Rsync Options

This interface let you configure the rsync options on the volume scope. These options will be used on every links that connects the volume. You can specify some options for a specific direction only.

screen_shot_2025-01-10_at_16.33.36.png

Read the rsync options section for more details.

Health Status

screen_shot_2025-01-10_at_16.32.52.png

Storage Parameters

2024-01-03-164738_1162x569_scrot.png

The parameters are described below.

Name (system)

Note

A short code name used to identify this volume among the other storages of the project. This name is a string from 3 to 16 character long containing lowercase characters and numbers. The exact accepted regex pattern is ^[a-z0-9_]{3,16}$.

Tip

Example:

1prod

Long Name

Note

A longer name, often the real long name with no size limit, used for the titles in documents.

Tip

Example: Studio 1 - Producer

Short Name

Note

A shorter name, used when the display needs a more consise form.

Tip

Example: Studio1 Prod

Identifier

Note

An automatically generated string to identify the storage of the form: vol_# where # is a Universally Unique Lexicographically Sortable Identifier.

Tip

Example: vol_01FWEWD03P3J2H98TQ0Y4AXF3H

Host Name

Note

Host name or IP address of the machine host.

Tip

Example: 81.212.56.8 or studio1.yourdomain.com

SSH Port Number

Note

The network port configured to access the storage using the SSH protocol. 22 is the default SSH port. You can indicate another port number if it is different from the default port.

Note

:shield: In a normal configuration, this port will only be accessed by the project's server hub. To increase security you can authorize its IP address only in your firewall configuration.

User Name

Note

User account on the machine host.

Note

Install the provided public SSH key under .ssh/authorized_keys in the user's home directory. This key is used by the hub to access the storage without password.

Note

The rsync command must be installed on the system and accessible through this user's shell.

Path

Note

The configured path to access the storage's files.

Tip

Example: /folder/

Note

A file named .SyncPlanetVolumeRoot in the storage's root folder is mandatory to start the file transfers. This allows the synchronization agents to verify that the folder is ready and mounted.

Shell

Note

A command to use in place of the native shell. This is useful if the service is ran inside a docker container.

Tip

Example: /share/bin/docker exec -i centos-1 bash

Programming Interface

The storages are described as JSON objects that you can modify using the API.

{
"_id": "vol_01FWEWD03P3J2H98TQ0Y4AXF3H",
"agentExitTime": "2023-10-05 13:33:39+00:00",
"agentStartTime": "2023-10-05 15:05:29+00:00",
"agentStatus": "on",
"author": "support",
"bytesRemaining": 18691697672,
"bytesTotal": 43980465111,
"bytesUsed": 25288767438,
"comment": "\n",
"hostname":"yourstudio.eu",
"image": "syncplanet/sync2:1.1.1",
"enable": true,
"error": 0,
"geoloc": [2.38333,48.91667],
"lastConnectionStatusChange": 1696512782000,
"lastErrorStatusChange": 1696512782000,
"longName": "Studio 1 - Producer",
"name": "1prod",
"port":3222,
"rsync_args": "",
"shell": "",
"shortName": "Studio1 Prod",
"time": 1603117017286,
"username": "sync",
"version": "1.1.1"
}

You can read environment setup page and API for details about how to setup a client and start programming.

Storage Setup

A connected storage is a standard volume configured to be accessible from the remote synchronization agents running on the hub. The volume sould be sized accordingly to the project needs, expandable or shrinkable later on the fly.

1. Configure a Server

It consists in a machine running:

The rsync command should be accessible in the user's shell.

2. Open a Network Port

Please open a port for SSH on your firewall to the machine you will use to serve the files.

Note

The central hub server is the only remote machine to access the volume and you may authorize only this server to increase security.

Please indicate the port number you will open if it is different from the default port 22.

Once each step is completed we have a complete URL to access the storage:

ssh://username@hostname:port/folder

3. Configure the synchronization

Note

We don't use passwords, to improve security.

Note

The .SyncPlanetVolumeRoot file allows the synchronization agents to verify that we are in the right folder. is mandatory to start the synchronization process.

Next

You might continue reading: