Nanocloud / nanocloud

http://nanocloud.com
GNU Affero General Public License v3.0
25 stars 16 forks source link

Nanocloud

Build Status Code Climate Coverage Status

Run

Nanocloud relies on Docker containers to run its stack.

docker-compose build
docker-compose up

Configure

Some configuration variable are expected to be set in config/env/development.js but you can also create the file config/local.js to avoid commiting those changes

General settings

SMTP configuration

Look and feel

Manual driver specific

Machines objects contains several pieces of information, here's an example:

machines: [
  {
    name: 'Machine1',
    type: 'manual',
    ip: '1.2.3.4',
    username: 'Administrator',
    password: 'secr3t'
  }, {
    name: 'Machine2',
    type: 'manual',
    ip: '5.6.7.8',
    username: 'Administrator',
    password: 's3cret'
  }
]

You can use config.env to set this variable too:

MACHINES=[{"name": "My Machine", "type": "manual", "ip": "1.2.3.4", "username": "Administrator", "password": "s3cr3t", "plazaport": 9090, "rdpPort": 3389 }]

AWS driver specific

Openstack driver specific

Qemu driver specific

Qemu use 10.0.2.2 to contact host, you should replace default 'localhost' by this ip to be able to use storage.

Storage configuration

Once loaded, Nanocloud will be accessible on localhost.

LDAP authentication

RDP/Guacamole Options

You can use RDP options detailed on Guacamole documentation. Use config variables with 'rdp' prefix and option name in camel case.

All options are Guacamole defaults except the following:

Run in developer mode

Nanocloud also relies on Docker to run its development stack:

docker-compose build
docker-compose -f docker-compose-dev.yml build
docker-compose -f docker-compose-dev.yml up

Backend and frontend containers are automatically updated when source code changes in dev mode. All services are accessible on localhost.

Optional services

There are 2 optional services described in docker-compose-extra.yml:

To launch those services, run:

docker-compose -f docker-compose-extra.yml build
docker-compose -f docker-compose-extra.yml up

Tests

To run all tests:

make tests

This will run all tests defined in ./tests/test-all.sh.

To run test coverage:

make test-coverage

This will run api and unit tests, with code coverage

Alternativelly, tests can be run individually:

Some environment variables can be set to customize tests:

API tests expects a postgres database up and running on localhost Some tests may require storage and frontend to be up as well

Licence

This file is part of Nanocloud.

Nanocloud 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 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/.