Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Welcome to the Nanocloud Community wiki!
What is «Nanocloud Community» ?
Nanocloud Community is a comprehensive platform to turn any application into a cloud solution.
Current version: 0.5.1
Nanocloud Software has developed an open source version of its product which allows any application to become available in a browser.
Sources are freely available on Github to build this version called Nanocloud Community. However, we propose in this article to describe the fastest way to try Nanocloud Community with an automated installation.
Nanocloud Community architecture consists of Docker containers and one virtual machine. The latter is a Windows Server 2012R2 VM and is called the Apps VM.
The script used for this installation applies the following steps
- check that the environment is compatible (Linux OS, RAM, virtualization capabilities),
- download containers form Docker hub and launch them.
When the API container is launched, a web interface is available. It is then possible, through this interface, to download the Apps VM (Windows Server 2012R2 in evaluation mode) and to boot it. This Windows VM is the host of all the applications you wish to make available in a browser.
In the following, the complete process, including checks and the first application deployment, is detailed.
To install Nanocloud Community, a Linux host is needed. Currently, it is recommended to use Debian 8 (Jessie) on this host. However, it should work on any recent Linux compatible with Docker.
Although Nanocloud Community may be installed in a virtual machine - nested mode is then mandatory, to launch the Apps VM in a VM -, it is highly advised to prefer a bare-metal system to have a nice user experience. Indeed, using an application in a browser, with Nanocloud Community running in a VM, may lead to a slow response in a browser and does not show the true potential of the platform.
If you really want to try Nanocloud Community in a VM, please note that it will not work in Virtualbox, since nested virtualization is not supported in this software.
On the other hand, it has been successfully tested in VMware and in QEMU-KVM (Linux) nested VMs.
If you want to use other virtualization technologies or a public cloud provider, please contact Nanocloud Software.
Before installing it-self, Nanocloud Community will check that hardware acceleration for virtualization is present (Intel-VT or AMD-V). If not, installation will stop.
A minimum of 8GB in RAM is needed to install the platform. Please note that Nanocloud Community will stop its installation if there is not enough RAM.
It is advised to have at least 8GB of available disk space. Since the Apps virtual disk is sized to host up to 30GB of data, it is recommended to have 30GB and more.
The following software are mandatory to install Nanocloud Community :
- docker (version 1.10.3 and newer) - docker-compose (version 1.6.2) - packer (only if you want to build a new Windows VM) - curl or wget - netcat - sshpass
When all of these requirements are satisfied, you can safely start the installation.
Automated installation by script
As described in Nanocloud Software Github repository, a one line command is sufficient to proceed the complete installation.
Indeed, to deploy Nanocloud Community, just type the following (with root rights) in a terminal:
curl --progress-bar "http://releases.nanocloud.org:8080/releases/latest/installer.sh" | sh
At this step, Nanocloud Community will be installed through containers which are downloaded from Docker Hub.
On a recent system (with an Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz, for instance), with a broadband connection, installation takes about 5 minutes on average.
At the end of this installation, you can check which services are running with Docker:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1c463c2379fb nanocloud/nanocloud-backend:0.5.0 "./nanocloud" 12 minutes ago Restarting (0) 5 minutes ago 8080/tcp nanocloud-api 6664b21599ba nanocloud/iaas-module:0.5.0 "./iaas" 13 minutes ago Up 13 minutes 8080/tcp iaas-module 691baa083231 nanocloud/proxy:0.5.0 "nginx -g 'daemon off" 14 minutes ago Up 12 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp proxy 513c7db2b8f7 nanocloud/guacamole-client:0.5.0 "catalina.sh run" 14 minutes ago Up 14 minutes 8080/tcp guacamole-client 6af989064d8a nanocloud/guacamole-server:0.5.0 "/bin/sh -c 'guacd -f" 15 minutes ago Up 15 minutes guacamole-server d91cc2de1727 postgres:9.4 "/docker-entrypoint.s" 16 minutes ago Restarting (1) 2 minutes ago 5432/tcp postgres
Launch of the platform through its web interface
Please note that you will have to accept to navigate in insecure mode, since the used SSL certificates are self-signed and we use an IP and not a domain name (you can adapt this point for your needs).
You should then have a web interface that looks like the following screenshot:
and you can login with email@example.com / admin credentials:
After login, the following screen appears. It shows a button which asks to install the Windows VM. Just click on it to start the download.
Since this VM is based on Windows Server 2012R2, from Microsoft, you are then invited to read and sign the Microsoft EULA. You are reminded that you are using an evaluation licence of a Microsoft operating system, for a limited period of time. Feel free to contact Nanocloud Software if you need to use a commercial version of Microsoft Windows Server 2012R2.
The download starts after you have accepted the EULA, as shown on the following screenshot.
Please note that the download of this VM may take time, depending on your Internet connection bandwidth.
When the VM has been downloaded, it appears to be available. By clicking on its button, the VM starts booting.
Once the VM is booted, the status is displayed as running.
You are now ready to publish an application through the web interface.
Publishing an application
Installation in the browser
The first step before publishing any application is to download the executable needed to install it. You can just drag&drop it in the "upload to VM" area.
As an example, we can choose the Libre Office installer for Windows 64bit. Once the file is locally downloaded on your host and dragged and dropped in the Nanocloud web interface, it is automatically uploaded to the Windows VM.
When the installer has been entirely uploaded (100%), click on the DESKTOP button to open a windows in your Windows VM. This will be useful to install Libre Office.
Then, click on this installer and follow the steps to have Libre Office installed.
You can then follow the steps to install this software.
When the installation is finished, a new icon appears in your Desktop. This link will be used later to publish the application.
At this step, you can remove the installer and click on "GO BACK" in the upper bar to return in the Nanocloud Community admin portal.
Publication through the browser
Back in the web portal, go in the Applications menu and click on "Publish".
A new tab opens in your browser to let you choose the application to publish. In the File Explorer, you can navigate in Desktop folder to choose the Libre Office executable.
Once you've clicked on this icon, the publication starts automatically as displayed in the following screenshot.
A window appears to let you knwow that your application has been published. After clicking on "Ok", the screen becomes black. You can then click on "GO BACK".
Editing application name
Back in the admin portal, refresh (F5) your browser to see your freshly installed software. A default name has been used, which is the name of the binary. However, you can edit it to display a more detailed name. To do so, click on the EDIT NAME button.
You can then choose any name for you application in a browser. Let's call it "Libre Office".
You have now an application available online, with a new name.
In the Users tab, click on the blue icon to create a new user.
A new window popups in which you can enter First Name, Last Name, Email (which will be the login ID) and Password (twice).
The new user appears then in the list, just after the admin.
Sign out to leave the admin portal. and login as the new created user.
Using an application in the browser
The previously created user can use the URL https://localhost to login in order to launch a published application.
This application will appear with the name previously edited. Just click on it to launch the application.
A login connection opens then in the tab of your browser and then your application in the browser.
which can be displayed in full screen inside your browser.
You can then start to use your first application in your browser.
And that's it :)
Nanocloud Community can be deployed on several platforms, such as
- Development platforms
Nanocloud community 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.
Nanocloud community is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.