Skip to main content

Nua orchestrator

Nua is an open source, self-hosted cloud platform project (a PaaS - platform as a service).

This packaged is deployed on the Nua server.

For end-users, the main entry point is the nua command line tool (see: Nua on PyPI or nua-cli on GitHub).

Role of the orchestrator

The orchestrator is in charge of configuring application and providers and deploying them on the host.

Requirements

The host must be a linux server installed with the distribution:

Ubuntu 22.04.1 LTS (jammy)

Note: this is temporary, the orchestrator will be able to manage other distributions later.

In the current version, the orchestrator manages locally a single host.

Note: this is temporary, the orchestrator will be able to manage multiple hosts later.

The Nua Orchestrator will need a 'nua' administrator account with root privileges (sudoer and docker groups).

The Nua Orchestrator will interfere with local providers such as Docker services and locally installed databases. The recommended configuration is therefore to use a dedicated server.

The following Python packages (provided by Ubuntu) are required:

  • python3.10
  • python3.10-venv
  • python3.10-dev
  • python3-pip
  • pipx

i.e. you should run apt-get install python3.10 python3.10-venv python3.10-dev python3-pip pipx before installing Nua.

Note: this is temporary, the installation script will take care of this kind of details later.

Installation

All-in-one command

Simply run:

curl -L https://nua.rocks/install.py | sudo python3

Using the nua-bootstrap command

The nua-orchestrator package provides a nua-bootstrap command which will install Nua on the host.

Installation procedure (from released version)

From the root account:

pipx install nua-orchestrator
nua-bootstrap

Installation procedure (from git)

At the moment, this implies a first temporary installation of Nua (which can be done in a temporary directory), from a sudo-able account:

git clone https://github.com/abilian/nua src
cd src/nua-orchestrator
./install.py
sudo ./env/bin/nua-bootstrap

That command will do many things:

  • create the nua account
  • install the required packages (Docker, postgres, Nginx, ...)
  • apply default configuration to the host
  • ...

Remarks

  • nua-bootstrap can be safely launched on an existing configuration,

Installation phases

Installation can take several minutes, here an excerpt of main messages displayed during installation:

sudo /home/nua/env/bin/nua-bootstrap
Installing Nua bootstrap on local host.
Warning: Nua was already installed.
Ign:1 http://downloads.mariadb.com/Tools/ubuntu jammy InRelease
Hit:2 http://nova.clouds.archive.ubuntu.com/ubuntu jammy InRelease                                                                        [...]
Installation of base packages:
apt-get install --no-install-recommends -y ca-certificates curl docker.io lsb-release git nginx-light software-properties-common python3-certbot-nginx
[...]
Modifying /etc/sudoers for user 'nua' (full access with no passwd)
-> Prior changes found: do nothing
Creation of Python virtual environment for 'nua'
-> Prior /home/nua/env found: do nothing
Install pip
[...]
Installation of postgres version 14
apt-get install --no-install-recommends -y postgresql-14 libpq-dev
[...]
Setting Postgres password
Installation of Nua nginx configuration
systemctl restart nginx
Installation of local Nua orchestrator (via git)
Cloning into 'nua'...
[...]

Nua installation done for user 'nua' on this host.
Command 'nua --help':

At the end of the installation, the available commands are displayed.

Development

Dependency graph

Dependency graph

Metadata

Release files for nua-orchestrator 0.5.43

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nua-orchestrator 0.5.43
File Size Uploaded
nua_orchestrator-0.5.43.tar.gz 90.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nua-orchestrator 0.5.43
File Interpreter ABI Platform
nua_orchestrator-0.5.43-py3-none-any.whl Python 3 none any Details

Total release size: 218.6 kB

Release files / nua_orchestrator-0.5.43.tar.gz

Download URL nua_orchestrator-0.5.43.tar.gz
Size 90.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4c3b2f0ff66ffe112b7e84091bd51eb08f512a75a216c567d9fb89b438ac9e37
BLAKE2b-256 checksum
How to use checksums
0d86a38b49fcde0317fa9ae7a6114aa2577169b0a9dfa5605703d212d6f12a82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / nua_orchestrator-0.5.43-py3-none-any.whl

Download URL nua_orchestrator-0.5.43-py3-none-any.whl
Size 128.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
df62a7cb79e54bf0e4d4b75e16d394c46a67492df1f9589f1d06d29ee7147f78
BLAKE2b-256 checksum
How to use checksums
05f7013edeb7b35947d2f99d0cd14f3d082de8bf14dde781c7897dc8f6e3462b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release history Release notifications | RSS feed

This release

0.5.43 This release

2 release files

0.5.17

2 release files

0.5.14

2 release files

0.5.13

2 release files

0.5.11

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page