How Does It Work?
Activate Your App
Start, Stop and Restart
Create a New Private Cloud
Connect to an Existing Private Cloud
Private Cloud's Name
Multiple Private Cloud
Duple is a new kind of app that simplifies the concept of a private cloud. No more servers or complicated installation. One app, one storage, you're good to go!
The entirety of your private cloud is contained inside a single folder called a repository folder. This folder can be stored anywhere: USB hard drive, NAS, cloud file storage, etc... However in order to use your private cloud, DupleCLI needs to be able to access your repository folder. That's why it is better to store it somewhere easily accessible from anywhere. You can't read the data contained inside the repository folder without using DupleCLI.
On your devices (where DupleCLI is installed), you get a second folder called Duple (inside your "My Documents" folder). This folder contains the readable data, it's where you work with your private cloud: add, modify and remove your files there.
Your data is always at least in two places at the same time: inside the Duple folder (present on every desktop device where DupleCLI is installed) and in the repository folder.
Before doing anything, you need to activate your app using your serial number (12 alphanumerical characters):
duplecli --activate XXXX-XXXX-XXXX
If your serial number changed, just re-activate your app using the same command above, and restart DupleCLI.
To start DupleCLI, use:
to stop it:
and to restart it:
You will need to start the app first before entering any command.
To create a new private cloud, use the command:
This command requires 2 pieces of information: 1) where to store your private cloud (repository folder) and 2) how to access it (connection info). Use the
--repopath flag to specify where to store the repository folder. For the connection info, use the
--connection flag. For example, to store your private cloud locally (on your hard drive or a mounted distant file system) use:
duplecli --create --connection local --repopath /local/repo/path
Right now Duple supports only 2 types of connection: local and SFTP. More protocols will be added in the future. To use a SFTP connection instead of a local one, the
--connection flag requires more info:
--usernamethe SFTP connection's login
--passwordthe SFTP connection's password (prompted after launching the command)
--addressthe IPv4, IPv6 or domain name of the SFTP storage
--portthe SFTP connection's port
For example, to store your private cloud on a SFTP storage on your local network, use:
duplecli --create --connection sftp --username user --password --address 192.168.1.10 --port 22 --repopath /distant/repo/path
It will then ask you for the connection's password.
That's it! You've created your private cloud! You can start adding files by moving them into the Duple folder that's just been created inside your "My Documents". This folder contains the entirety of your private cloud.
To connect to a private cloud, use the command:
This command works exactly like
duplecli --create, it requires the same 2 pieces of info: 1) where your private cloud is (repository folder) and 2) how to access it (connection info). An example of how to connect to a local repository:
duplecli --connect --connection local --repopath /local/repo/path
and how to connect to a distant SFTP repository:
duplecli --connect --connection sftp --username user --password --address 192.168.1.10 --port 22 --repopath /distant/repo/path
When connecting over SFTP, it is safer to use a public/private key pair instead of a password. To do so, the
--connection flag accepts 3 pieces of information:
--publickeythe public key path
--privatekeythe private key path
--privatekeypasswordthe private key password, if any (optional)
DupleCLI copies and stores locally the key pair in the configuration files. RSA, ECDSA and ED25519 keys (PEM and OpenSSH formats) are supported. The
--privatekey flags replace the
--password flag. Here's an example:
duplecli --create --connection sftp --username user --address 192.168.1.10 --port 22 --publickey /path/to/public/key --privatekey /path/to/private/key --repopath /distant/repo/path
and with a password-protected private key:
duplecli --connect --connection sftp --username user --address 192.168.1.10 --port 22 --publickey /path/to/public/key --privatekey /path/to/private/key --privatekeypassword --repopath /distant/repo/path
DupleCLI will then ask you for the private key's password.
DupleCLI synchronizes the data inside your Duple folder across all devices and with the repository folder. This happens when:
- DupleCLI starts
- a modification is detected inside the Duple folder
- another device notifies via P2P that an update is available
If you still want to force a synchronization, you can use:
The synchronization is always multi-directional. In case of conflict no data is overwritten or deleted, instead the conflicted file is renamed with a warning like
File (User's conflicted copy 2019-06-12). You will then have to decide which version to keep.
The technology has been designed to preserve the storage's lifespan. It will only query the storage when necessary, allowing it to fall into sleep mode as much as possible.
However the P2P network interconnecting the devices is not available yet (see missing features in bugs). If you want to download updates regularly you can set a crontab with
duplecli --update every X min depending on your needs. Keep in mind that querying regularly your storage prevents it from going into sleep mode, and it also reduces its lifespan. Use it carefully, or wait for the P2P network functionality.
You can check the synchronization status using:
If some error occurred during the sync, you will get:
status: [online] synchronized [error]
The Duple folder where you access your private cloud files can be renamed or moved while DupleCLI is running.
You can also set its name when you create or connect to a private cloud using the flag
--watchpath. An example:
duplecli --create --connection local --watchpath /my/new/duple/path --repopath /local/repo/path
The Duple folder will be created at /my/new/duple/path.
You can change the name of your private cloud using the flag
--reponame when creating it:
duplecli --create --connection local --reponame "new name" --repopath /local/repo/path
You can create and connect to as many private clouds as you want. Just repeat the command
duplecli --create or
duplecli --connect as needed.
You can use the flag
--watchpath to specify where to put the Duple folder containing the private cloud's files.
A collaborative folder is a space where you can share your files with other people. We don't officially have sharing features, however the technology behind Duple is ready for it. We want to wait in order to get the user experience right.
Fortunately, you can already have collaborative folders by creating another private cloud and sharing the access to it with other people.
If you want to have the full user experience of a normal collaborative folder with DupleCLI, and have everything under one folder, you can set the path of the shared Duple folder with
--watchpath inside your private cloud's original Duple folder. For example, create your private cloud normally using:
duplecli --create --connection local --reponame "private cloud" --repopath /local/repo1
then create (or connect) your shared cloud with the
--watchpath inside your private cloud's Duple folder:
duplecli --create --connection local --reponame "shared cloud" --watchpath /home/user/Duple/sharedFolder --repopath /local/repo2
Everything inside /home/user/Duple will be synchronized with your private cloud (/local/repo1) and everything inside /home/user/Duple/sharedFolder will be synchronized with your shared cloud (/local/repo2). You get one general folder for everything, with the shared folder inside. However the shared cloud's data gets duplicated to the private cloud (available in 2 repository folders).