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.
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.
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.
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.comUpdate Git application:
sudo apt update && sudo apt install -y gitClone the NEPI Setup repo:
cd /home/${USER}
git clone https://github.com/nepi-engine/nepi_setup.gitRun the NEPI Docker user setup script (sudo password is #Nsetup4You):
cd /home/${USER}/nepi_setup/scripts
sudo suThen run:
source ./docker_full_user_setup.shPower 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.comClone the NEPI Setup repo:
cd /home/${USER}
git clone https://github.com/nepi-engine/nepi_setup.gitRun 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.shScroll 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.shThis 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_dockerwhere NEPI Docker Images are stored. - NEPI Config folder at
/mnt/nepi_config, along with several config subfolders.
- Desktop background and sidebar applications menu updates.
- NEPI bash alias and utility functions added to the nepihost user bash profile.
- NEPI folder shortcuts added to File Manager folder bookmarks.
- Chromium browser updated with useful NEPI browser bookmarks.
ninet.Test that you can reconnect to the internet and sync clocks:
ninetCheck for internet connection:
pingipingi = 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 shortcutsPower 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:
ninetRun the NEPI Docker Storage Initialization script:
source /home/nepihost/nepi_setup/scripts/docker_storage_init.shRun the NEPI Docker Image Initialization script:
source /home/nepihost/nepi_setup/scripts/docker_image_init.shAfter the import completes, you can print the current installed NEPI Docker Image by typing:
dimg/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:
sbrcStart your NEPI container running:
nepistartThe start script will let you know if the installed NEPI Image started successfully.
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 shortcutsOpen 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:5003This 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/adminThe default admin password is: nepiadmin
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:
nepienablePower cycle your system when complete.
Log back into nepihost using password nepi.
Check that your NEPI Container is running after reboot:
dpsIf your container is not running, debug NEPI Docker Service issues with the following commands:
nepirestart
nepistatus
nepilogsNEPI 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:
nepisetupMake any changes you want using the menu options presented, then choose 'APPLY SETTINGS' to apply changes, or 'FACTORY RESET' to factory reset your installation.
/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.
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.
- Delete unneeded files and clean your current file system to open up additional free space.
- 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:
nepidevThen log into the running NEPI container to check NEPI process statuses:
nepiloginOnce inside the container, start the NEPI services running:
/nepi_start_allCheck running statuses:
nepistatusIf any services are not running, examine the process messages with one of the following commands:
nepistatus_engine
nepistatus_rui
nepistatus_license
nepistatus_sshTo debug issues with the core NEPI Engine software process, you can start and stop NEPI Engine to visually look for run-time errors:
nepistop
nepistartnepihome = 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