Tutorials › Installation › Full Installation

Full Installation

This tutorial walks you through setting up, configuring, and running a NEPI Docker Full installation on a supported device.

Supported devices: Ubuntu PC, NVIDIA Jetson

NEPI Docker Full Installations are recommended for embedded Edge-Compute processor installations, production deployments, and NEPI Software development.

Note: NEPI Docker Full installation will make significant changes to your device's operating system configuration and set up NEPI management of operating system services (HOSTNAME, NETWORK, WIFI, SSH, DOCKER, and others) that support both local and remote real-time management of these services through User Interface and API controls.

If you want to first try a Lite installation with no NEPI managed operating system services, but all of the other functionality, see the NEPI Docker Lite Setup instructions.

If you choose to proceed, make sure you have a way to reflash the device, or backup and restore your device's existing file system if needed.

Note: NEPI Docker installation will require a minimum of 40 GB of available free hard drive space on your device. See the Check Available Disk Space section at the end of these instructions for more information.

NEPI Docker Full User Setup

This step will set up NEPI Docker required user accounts on your device.

Log into a user account on the device with 'Administrator' privileges. Open a Terminal window by right-clicking on the desktop and selecting the "Open in Terminal" option.

Note: If you already have a nepihost account created during a NEPI Docker Lite installation, you will want to delete the nepihost account using the Settings/User panel.

Make sure your system has internet access by running the following command:

ping -c 1 google.com

Update Git application:

sudo apt update && sudo apt install -y git

Clone the NEPI Setup repo:

cd /home/${USER}
git clone https://github.com/nepi-engine/nepi_setup.git

Run the NEPI Docker user setup script (sudo password is #Nsetup4You):

cd /home/${USER}/nepi_setup/scripts
sudo su

Then run:

source ./docker_full_user_setup.sh

Power cycle your system when complete.

NEPI Docker Environment Setup

This step will set up the NEPI Docker required software environment.

Log into the nepihost user using password nepi.

Make sure your system has internet access by running the following command:

ping -c 1 google.com

Clone the NEPI Setup repo:

cd /home/${USER}
git clone https://github.com/nepi-engine/nepi_setup.git

Run the NEPI Docker environment setup script (sudo password is now nepi). If prompted, enter y or yes:

/home/nepihost/nepi_setup/scripts/docker_full_env_setup.sh
Note: If you get a popup window "System program problem detected", just click Cancel.

Scroll up through the process messages looking for any errors and correct them. Rerun again if needed.

Power cycle your system when complete.

NEPI Docker Config Setup

This step will configure the NEPI Docker installation using the default settings. You can change settings later in the NEPI Docker Customization section.

Log into the nepihost user using password nepi (sudo password is nepi).

Run the NEPI Docker configuration setup script:

source /home/nepihost/nepi_setup/scripts/docker_full_config_setup.sh

This process will create (if not already created) and set up the following NEPI folders:

  • NEPI Storage folder at /mnt/nepi_storage, along with several user subfolders where NEPI processes store user files such as: Saved Data, AI models, Import/Export Docker Images, and User Saved Configurations.
  • NEPI Docker folder at /mnt/nepi_docker where NEPI Docker Images are stored.
  • NEPI Config folder at /mnt/nepi_config, along with several config subfolders.
Note: After this process, the following changes will be made:
  1. Desktop background and sidebar applications menu updates.
  2. NEPI bash alias and utility functions added to the nepihost user bash profile.
  3. NEPI folder shortcuts added to File Manager folder bookmarks.
  4. Chromium browser updated with useful NEPI browser bookmarks.
Note: After this process, network IP addresses, internet connections, and clock sync processes are managed by NEPI processes. If you need to connect to the internet you can run the command line shortcut ninet.

Test that you can reconnect to the internet and sync clocks:

ninet

Check for internet connection:

pingi
Note: Some additional NEPI utility command line shortcuts are:
pingi = ping internet test
nipa = Echo NEPI set IP address
naipa = Echo NEPI set IP alias addresses
nnipa = Echo NEPI set NTP IP addresses
nnet = Restart the network
ndhcp = Enable DHCP Internet Client
nclock = Sync clock
ninet = Restart network, connect to internet, and sync clock
cuda_version = Echos Cuda version number if cuda available or 0
fix_chromium = Fix any Chromium config issues
sbrc = Source the current user's bashrc files

# Type nepihelp to see all NEPI Docker command line shortcuts

Power cycle your system when complete.

NEPI Docker Init Setup

Log back into nepihost using password nepi.

Test that you can reconnect to the internet and sync clocks:

ninet

Run the NEPI Docker Storage Initialization script:

source /home/nepihost/nepi_setup/scripts/docker_storage_init.sh

Run the NEPI Docker Image Initialization script:

Note: This step can take a long time as it involves downloading several large files from the internet.
source /home/nepihost/nepi_setup/scripts/docker_image_init.sh

After the import completes, you can print the current installed NEPI Docker Image by typing:

dimg
Note: This process downloads the Lite AI models, AI training scripts, sample data files, and user configurations to folders in /mnt/nepi_storage. It also downloads the latest NEPI Docker Image for your system's architecture to the NEPI Docker import folder at /mnt/nepi_storage/nepi_images.

NEPI Docker Image Testing

Refresh your .bashrc file:

sbrc

Start your NEPI container running:

nepistart

The start script will let you know if the installed NEPI Image started successfully.

Note: Some useful NEPI Docker command line shortcuts are:
nepistart = Start the NEPI docker container.
nepidev = Start the NEPI docker container in a dev mode with no processes running, and an OPTIONAL_RUN_COMMAND.
nepistop = Stop the running NEPI docker container.
nepilogin = Log into the running NEPI container as user 'nepi'.
nepiloginroot = Log into the running NEPI container as user 'root'.
nepiswitch = Switch to Inactive NEPI container on next boot or restart.
nepicommit = Commit the running NEPI container with provided COMMIT_DESCRIPTION.
nepiinit = Reset, clear, and import new NEPI Image.
nepiimport = Import a NEPI image .tar file.
nepiexport = Export the running NEPI container to a .tar file.
nepiload = Import a NEPI image .archive.tar file.
nepisave = Save the active NEPI Image with all commits to a .archive.tar file.
nepitag = Update the Software Description field in the active NEPI container.
nepienable = Enable NEPI Docker service on next boot.
nepidisable = Disable NEPI Docker service on next boot.
nepirestart = Restart NEPI docker service.
nepistatus = Show the systemctl status for nepi_docker service.
nepilogs = Show live NEPI Docker service journal file.
nepibld = Build or Update the NEPI Docker File System from source code.
nepiupdate = Run NEPI Docker bash, folders, files, and config update processes.
nepicreate = Export and Import a new NEPI Docker Image from running container.
nepiprint = Print current NEPI DOCKER and SYSTEM configuration settings.

# Type nepihelp to see all NEPI Software command line shortcuts

Open Chromium web browser. Check that the NEPI Resident User Interface (RUI) is running by opening the Chromium browser and entering the following in the search bar:

localhost:5003

This will take you to the NEPI RUI dashboard. Once the NEPI core software system is running, you should see a blinking green indicator and messages.

You can also access the NEPI admin page for managing NEPI software configurations by entering the following in the search bar:

localhost:5003/admin

The default admin password is: nepiadmin

Note: If you encounter any issues starting and running the NEPI Software container, see the debugging steps in the NEPI Docker Debugging section at the end of this document.

NEPI Docker Service Setup

If everything is working, you can enable the NEPI Docker Service, which will automatically start the NEPI Container and Software on boot:

nepienable

Power cycle your system when complete.

Log back into nepihost using password nepi.

Check that your NEPI Container is running after reboot:

dps

If your container is not running, debug NEPI Docker Service issues with the following commands:

nepirestart
nepistatus
nepilogs

NEPI Docker Host Config Setup

While most NEPI device settings like static, alias, and NTP IP addresses are configurable in real-time through the RUI (Resident User Interface), some settings such as User Password, Folders, and SSH Keys must be configured prior to run-time. You may also want to Factory Reset a NEPI Docker configuration.

Run the NEPI Docker Host configuration script by typing:

nepisetup

Make any changes you want using the menu options presented, then choose 'APPLY SETTINGS' to apply changes, or 'FACTORY RESET' to factory reset your installation.

Note: The NEPI System Configuration file is located at /mnt/nepi_config/system_cfg/etc/nepi_system_config.yaml. For production environments, you can replace this file with a production-ready file, or create a custom production script that makes any required changes.

NEPI Remote System Connections

If you want to connect to your NEPI device from a remote network-connected PC, set up and test a remote connection following these instructions.

Note: If your remote system is a Linux Ubuntu device, you can jump to the automated remote system setup instructions at NEPI Remote Setup on GitHub. For other operating systems, you will need to manually set up your remote system following the tutorial links below.

Test that you can connect to your running container from a network-connected PC. See a tutorial at Connecting and Setup.

NEPI Software Tutorials

Learn more about using and configuring the NEPI software, as well as building and deploying custom AI models.

See the documentation, tutorials, videos, and community forum available at NEPI.com: NEPI Website

NEPI Software Customization

You can update or customize the NEPI software running in a NEPI Docker Container from source code, then export it as a new sharable NEPI Docker Container.

See NEPI Software Build and Customize instructions at NEPI Software Build.

NEPI Docker Installation Notes

The NEPI Docker system provides a full-featured AI and automation software environment that installs on top of your host device's native operating system. To achieve this, the NEPI Docker solution interacts with the device's configuration. While the NEPI Docker installation provides functions for reverting back to your original system configurations, it is recommended that you create a backup of your current device's hard drive to a separate backup SSD card to ensure you are able to recover your original system if issues arise.

Check Available Disk Space

Before proceeding, make sure your device has the minimum free space (60 GB) required for NEPI Docker installation and run-time processes.

Note: If you don't have the minimum required free space to proceed, there are several options available:
  1. Delete unneeded files and clean your current file system to open up additional free space.
  2. Upgrade to a larger SSD by cloning your current SSD to a larger SSD hard drive using an SSD clone device that supports cloning to larger disks, then run gparted to increase your file system's available space.

NEPI Docker Debugging

If your NEPI Image failed to start, you can try to run it in a dev mode without any NEPI services started:

nepidev

Then log into the running NEPI container to check NEPI process statuses:

nepilogin

Once inside the container, start the NEPI services running:

/nepi_start_all

Check running statuses:

nepistatus

If any services are not running, examine the process messages with one of the following commands:

nepistatus_engine
nepistatus_rui
nepistatus_license
nepistatus_ssh

To debug issues with the core NEPI Engine software process, you can start and stop NEPI Engine to visually look for run-time errors:

nepistop
nepistart
Note: Some additional NEPI Software command line shortcuts (run inside the container):
nepihome = change to NEPI home dir
nepistart = start the NEPI processes
nepistop = stop the NEPI processes
nepibld = Build NEPI bash, config, code repos, and RUI
codebld = Build NEPI code repos only
ruibld = Build the RUI only
nepistatus = Print running status of all NEPI processes
nepistatus_engine = Print tail of nepi_engine process
nepistatus_rui = Print tail of nepi_rui process
nepistatus_license = Print tail of nepi_license process
nepistatus_ssh = Print tail of nepi_ssh process