1. About

Emit Cloud is a private self-hosted cloud storage that syncs files across all your devices.

Primary features:

  • Security: No one has access to your files other than you. Emit Cloud is self-hosted software and runs entirely on your own server(s). Files stored on the server can be encrypted or not.
  • Access: Emit Cloud is accessible with mobile apps, desktop apps, a web browser and soon WebDAV and SFTP.
  • Synchronization: Our desktop file synchronization apps are available for all major desktop platforms: Windows, OSX and Linux.
  • Backup/Replication: Emit Cloud can act as a backup storage for your team. No more worries about losing your files or data. It also allows automatic file replication for disaster recovery.
  • Support: f there will be any questions, our product team will be always available for professional support.

Emit Cloud web interface features:

  • Drag & drop file uploads.
  • Built-in filters for fast access: favorites, documents, music, pictures.
  • Rename, move, delete, download files/folders.
  • Share files between user.
  • Create public files or folders, with optional password
  • Direct audio and video playback
  • Image gallery.
  • File revisions.
  • File recovery from trash.
  • Antivirus support (coming soon).


2.1 Download and run EmitCloud

2.1.1 Download

2.1.2 Extract

On OSX double click on downloaded file or decompress with

tar -zxvf emitcloud*.tar.gz

On Ubuntu/Debian open terminal and move into the directory where you downloaded the package above (*.deb package) and run:

sudo dpkg -i emitcloud*.deb

You may have to install imagemagick package as well: sudo apt-get install imagemagick

On Windows, decompress downloaded zip file.

2.1.3 Start server

By default EmitCloud is started as single node and runs on host If you want to change current configuration, details about that can be found under section Configuration. If you have enterprise license, you should import it before starting server, instructions on that can be found under section Import license.

To start server go to the extracted folder.

cd emitcloud-*

and enter

./bin/emitcloud start

On Windows If you want to run EmitCloud as a Windows service right-click on file:

Start - service.bat

and select Run as administrator. Or if you want to run in interactive mode then double-click file:

Start - console.bat

2.1.4 Stop server

To stop server you should enter

./bin/emitcloud stop


2.2 Initialize EmitCloud

2.2.1 Start server

To import licence, you should copy your license file (licence.bin) to directory


or if you are in linux


If you have already started and initialized server, then you should proceed to Update license, if not, go ahead and start EmitCloud.

2.2.2 Initialize server

To initialize the server, just enter


./bin/emitctrl init


emitctrl init

If you want to see all the available actions, then enter





On Windows to initialize server, double-click file:


This will display a list of commands supported by utility emitctrl.


2.2.3 Update licence

If you update license or add it after the server was already started, then enter


./bin/emitctrl ul


emitctrl ul

You should see something like

License found: [license info]
Licence is valid.
Confirm change? (Y/N):

After you input y, new license is used.



2.3 Manage user profiles

User profiles can be set for each individual user, when you create them you need to specify user profile name, quota and if profile should be used as default.

2.3.1 Create new user profileUpdate exsisting user profile

To create a new user profile enter


./bin/emitctrl ap


emitctrl ap

You will be prompted for name, quota and if it is default profile, when you are done, it should look something like this

Profile name: sales
Quota (in GB): 9
Default profile (Y/N): n

When ok is displayed, user profile was successfully created.


2.3.2 Update exsisting user profile

When one of user profiles needs an update, you can change them by entering


./bin/emitctrl up


emitctrl up

You are then prompted for information. It should look something like this:

Existing profile name: sales
New profile name (leave empty for old name): it
New quota (in GB, leave empty for old quota): 10
Default profile (Y/N): n

When OK is displayed, user profile is successfully updated.


2.3.3 List all user profiles

To see all profiles you have already created, enter


./bin/emitctrl up


emitctrl up

You should see something like

All user profiles:
"Default" [default]

that displays names of all user profiles you have created.



2.4 Manage users

2.4.1 Add user

To add new user enter


./bin/emitctrl au


emitctrl au

You should see something like this

Username: test
Password: test
Profile (leave empty for default profile): it

after ok is displayed, new user was successfully added.


2.4.2 Update existing users profile

To update user profile for existing user, enter


./bin/emitctrl cup


emitctrl cup

after you input username and profile name, you should see something like this

Username: test
Profile: it

after ok is displayed, users profile was successfully updated.


2.4.3 Delete existing user

To delete existing user, enter


./bin/emitctrl du


emitctrl du

after you input username of user you want to delete, you should see something like this

Username: test
Warning all user data will be lostConfirm change? (Y/N): y

to confirm changes enter y, ok is displayed and user was successfully deleted.


2.4.4 Change user password

To change users password, enter


./bin/emitctrl rp


emitctrl rp

after you input username and new password of user that needs password reset, the password was successfully changed.


2.4.5 List all users

To see all users, that are currently created on your server, simply enter


./bin/emitctrl lu


emitctrl lu

this will list all user names and their ids.



2.5 Updates

2.5.1 Check for updates

To check for updates to EmitCloud server call


./bin/emitctrl cu


emitctrl cu

2.5.2 Update config

To update config call


./bin/emitctrl update


emitctrl update

2.5.3 Get version

To see which version of our EmitCloud server you are using simply enter


./bin/emitctrl v


emitctrl v

you should see something like

EmitCloud v*.*


3. Configuration

Emit Cloud configuration files

app.config: where to store data
ecloud.yaml: global settings for Emit Cloud
fs.yaml: contains paths and their maximum capacity in GB
nodes.yaml: list of all nodes

3.1 ecloud.yaml

This file contains settings, which target all nodes that are listed under the second section in file "nodes.yaml".

How long files or folders stay in trash before they are deleted, units can be: days (d), hours (h), minutes (m).

trash: 48h

URL used to access Emit Cloud. It is highly recommended to replace this address with your actual IP or Host name.


What http port to listen on.

http_port: 7000

HTTPS port and certificates if used.

- port: 8000
- cacert: etc/emitcloud.crt
- cert: etc/emitcloud.crt
- key: etc/emitcloud.key

Here we can define which language we want to use, supported languages are: sl-SI, en-US, de-DE.

language: "en-US”

We can also set theme, it can be light or dark.

skin: "light"

If you want you can also change the name of default user folder.

rootfolder: Emit Cloud

Here we can change some optional cld_fs settings, num_replicas: how many servers file is replicated, encryption: parameters for file encryption if available.

num_replicas: 1
encryption type: basic

Define if you want to use stateless request proxies in front of the actual server cluster. Each proxy needs an internal and external address. External is what clients talk to, internal address is what state servers talk to.


Here we can define a maximum limit to public folders size. Units can be: megabytes (M), gigabytes (G) and terrabytes (T).

max_public_folder_size: 1G

Define mail settings, like who to use as sender, which server, hostname and port to use and the username and password from account.

smtp_hostname: #optional
smtp_port: 25 #optional
smtp_username: #optional
smtp_password: Password #optional
smtp_no_mx_lookups: false #optional
smtp_ssl: false #optional


3.2 nodes.yaml

Nodes file is split into two sections. First section lists all available servers, second section organizes those servers into groups. This way you can manually organize nodes across different availability zones per cluster.


name: single_node 


name: actordb 
nodes: [single_node]
type: cluster

name: code nodes:

name: cld_fs
nodes: [single_node]
<< Previous Next >>