startSectionEdit: $data "plugin_wrap_start" is NOT an array! One of your plugins needs an update.
startSectionEdit: $data "plugin_wrap_end" is NOT an array! One of your plugins needs an update.

NEMS Linux 1.3 was released November 7, 2017. NEMS 1.3.1 was released on March 27, 2018 to introduce support for the then-new Raspberry Pi 3 Model B+.

The goal with the 1.3 cycle of NEMS Linux was to further simplify configuration by moving many of the Linux terminal commands and configs to the NEMS Linux UI. We also saw some minor adjustments to the performance and overall capabilities of NEMS Linux. New configuration options were also included to allow users to enable or disable various features such as RPi-Monitor or the Nagios API if not needed (reduce resource usage).

NEMS Linux 1.3's life cycle ended on June 10, 2018 following 4,775 downloads.

NEMS 1.3 Patrons

I'd like to thank all of our Patrons for your continued support of NEMS Linux development.

Here is a list of those Patrons who kicked in that little bit extra to have their name included in the changlogs:

  • Patrick Kersten
  • Dave Harman

Want your name on this list? Become a Patron

NEMS Linux 1.3 Initial Release

As NEMS Linux 1.3 is the currently active version, this list will continue to grow as development continues.

To login to NEMS 1.3+ for the first time, you must login as nemsadmin. Once you run nems-init that account will be disabled and you will then login as your newly created account (whatever that may be).

  • User www-data added to nagios group. Now can manipulate configs.
  • Developed NEMS Linux System Settings Tool (SST) - this allows configuring Nagios settings from the UI.
  • Set permissions of /etc/nagios3/resource.cfg to 660, allowing NEMS Linux SST to edit it.
  • Change Webmin miniserv to use custom generated certs rather than the previous default cert, which would have been the same for every NEMS Linux system prior to 1.3, sort of defeating the purpose of having SSL.
  • Add NEMS Linux Version, Pi Release, NEMS Linux Hardware ID and Network send/receive to RPi-Monitor. Remove Swap from RPi-Monitor (no longer used in NEMS Linux).
  • Begin preparations for other SBCs: configuration now stored in /home/pi/nems.conf. This is not a user-editable file.
  • Linux kernel upgraded to 4.9.50-v7+.
  • Weekly benchmark log now located at /var/log/nems/benchmark.log
  • Improvements made to MOTD: Memory now listed in an easier-to-read way, Removed swap since we no longer use it on NEMS Linux. Added weekly load average. Pointed to the new nems-info command.
  • New Check Commands:
    • check_mikrotik_switch - monitor stats for some MikroTik routers, including thermal sensors, packet loss, uptime, and so-on.
    • check_minecraft - monitor Minecraft server uptime, see how many players are connected and analyse the response time. enable-query and enable-rcon do not need to be enabled on the Minecraft server, so you should be able to monitor any Minecraft server.
    • check_rpi_temperature - Check Raspberry Pi temperature with perfdata and warn/crit thresholds.
  • AVAHI configuration greatly improved: now NEMS Linux should be able to resolve *.local addresses better than previous releases. Also, nems.local should now be available on your network.
  • nems-init now creates a Linux user for your NEMS user account. This account has access to the sudo command. This becomes your default account for all NEMS services, including SSH.
  • nems-init now creates a Samba user for your NEMS web interface user.
  • Can now access your NEMS Migrator backup over Samba at \\nems.local\backup - login and the password is whatever you setup during nems-init.
  • NEMS-Migrator's backup.nems files are now stored in RAM to reduce writes to SD card.
  • The built-in sound card has now been disabled. Surely not much resource savings, but there's no reason to have it loaded.
  • os-release and issue updated to NEMS (was still showing Raspbian)
  • Apache mod_security is now installed and activated by default.
  • Apache footer reflects NEMS Linux rather than Raspbian.
  • nems-scripts has been moved out of /home/pi/ and into /usr/local/share/nems/ as I prepare to deprecate the dependency on a pi user.
  • Notify by Push notifications using Telegram has been added, with thanks to baggins. I also wrote it into NEMS SST.
  • monit is now included and monitoring the MariaDB, Apache2, Nagios3 and samba processes. Should any one of those crash, monit will automatically restart the service. Your NEMS user has access to the monit web console at https://nems.local:2812 (or via the menu).
  • Fixed an issue where nagios-api may try to load before nagios3, which would result in nagios-api crashing with error since /var/cache/nagios3/status.dat wouldn't exist yet.
  • Made it so nagios-api and rpi-monitor may be disabled from within NEMS SST. At present the NEMS server must be rebooted for the changes to take effect: checks for enabled/disabled services at boot and acts accordingly.
  • Move nems.conf to /usr/local/share/nems/ in preparation for the deprecation of the pi user.
  • Changed nems.conf user to www-data so NEMS SST may be used to change configuration settings.
  • New admin user created, nemsadmin - this must now be used instead of the pi user when first booting your NEMS server. Once nems-init is complete, this user is automatically deleted.
  • nems-init now sets RPi-Monitor to run as the newly-created user (not pi).
  • The pi user has been deleted (new user is nemsadmin:nemsadmin).
  • Upgraded NagVis to 1.9.4 (stable as of October 30, 2017).
  • Retry stats API submission on timeout for 2 hours.
  • The Nagios3 theme has been moved to nems-www. This only affects 1.3+ and will allow me to make revisions/fixes to the Nagios Core theme using rolling updates.
  • Nagios Core theme has been replaced with a modified version of Arana theme. This resolves the issues with text being hard to read (ie., black text on gray background) and lightens up the overall feel of NEMS. baggins had reported it is difficult to read some headings (eg., when generating graphs) on the Nagios Core theme, so starting over with a clean theme seems like a great plan. I will later add a “dark” version for those who were partial to the dark theme, and will make it selectable by NEMS SST.
  • NagVis no longer uses admin:admin nor requires you to change it manually. Now, your username:password which you set during nems-init are automatically configured as the administrator user.
  • apt will now check for updates once per week and will automatically install security updates. This can be adjusted in Webmin → System → Software Package Updates.
  • Changed Webmin date display format to YYYY-MM-DD.
  • Upgraded Webmin theme to 19.02-1. Dashboard now loads significantly faster.

Rolling Updates 1.3

  • November 8, 2017 - Fixed the RPi-Monitor dashboard from displaying “undefined” for NEMS version information and such, as pointed out by kevinds.
  • November 8, 2017 - nemsadmin password wasn't being changed to random password correctly during nems-init. This feature is meant to lock out that account to protect users from outside attack against the default account. Issue fixed for nems-init, and also set to automatically change the password every day.
  • November 8, 2017 - Check for hw_model every day and create it if it does not exist. If platform unknown, report as such to Anonymous Stats (was previously reporting unknown as Pi 1).
  • November 8, 2017 - Add sslcert command to nems-info.
  • November 9, 2017 - Made it so NEMS Anonymous Stats will only report to the API if the server is ready to do so. It will also wait 30 seconds if it's not ready to allow background tasks to prepare the system for stats reporting. I had to add an “Unknown device” yesterday to the API simply because so many servers were reporting erroneous data. This patch is another step toward the fix since now at least the NEMS servers will not report if they're not ready to do so.
  • November 9, 2017 - Fixed a bug with rolling updates that was resetting a user's API Key each day (I'd accidentally left some test code behind). Now the code behaves as it should, only resetting the API Key if one has not already been set.
  • November 9, 2017 - Created nems-cert and nems-quickfix commands.
  • November 9, 2017 - Added dialog to allow me to create prettier terminal-based prompts.
  • November 9, 2017 - nems-cert now uses dialog for all prompts and includes a generic settings option, making it practically instantaneous to generate a new SSL cert for your NEMS server.
  • November 10, 2017 - Made it so the temperature monitor logs the temperature every 15 minutes and then works on a weekly average (much more accurate for stats). Also remove dependence on Monitorix for temperature data and instead loading the data directly from the CPU thermal sensor.
  • November 11, 2017 - Removed CN from nems-cert.
  • November 12, 2017 - Add password protection to phpMyAdmin. Some people have been putting their NEMS servers online (public), but did not change their MySQL root password. So rather than forcing change, I added it so they now have to login with their NEMS username/password before they can get to the phpMyAdmin login prompt, which effectively protects those users. Retroactive update to NEMS 1.2.
  • November 13, 2017 - Switched NEMS to using Debian's Snakeoil SSL certs and migrated nems-certs over to this system temporarily. This fixes a problem with Windows 10 users unable to connect to their NEMS server.
  • November 13, 2017 - nems-restore feature modified to work with NEMS 1.3.
  • November 20, 2017 - Added nic command to nems-info and improved IP detection algorithm.
  • November 20, 2017 - Added checkport command to nems-info.
  • November 20, 2017 - Made it so Monitorix cronjobs do not run if Monitorix is not responding on port 8080 to fix high CPU usage in event Monitorix was not working.
  • November 20, 2017 - Added username validation to nems-init as per Kuesco.
  • November 20, 2017 - Corrected the location of Nagios default config files in nems-migrator as per parisbrothers. Was in conflict with NEMS 1.4's Nagios 4.3.4 deployment.
  • November 22, 2017 - Hardware Platform detection improved to assist in launching to new hardware. Logic Supply CL100 also added.
  • November 24, 2017 - Change nems-info diskusage command to check for disk space on /home rather than /dev/root, which was Pi specific. Now the command works on other SBC's (in development).
  • December 4, 2017 - Add output of $user2$ variable to NEMS SST as per JatBee.
  • December 5, 2017 - Fixed Nagios Core username bug resulting in some users unable to access certain pages of Nagios Core as reported by kd4pyr.
  • December 6, 2017 - Fixed migrating from one version to the next results in broken permissions on Nagios Core as reported by Rick.
  • December 29, 2017 - NEMS-Migrator's Offsite Backup feature has been implemented, but not yet publicly available (requires an account).
  • January 12, 2018 - Offsite Backup settings now part of NEMS SST. System is ready to begin public testing.
  • January 14, 2018 - NEMS “has not been initialized” page is now graphical instead of just plain text.
  • January 19, 2018 - Some minor bugfixes on NEMS SST that load previously saved settings more correctly.
  • January 22, 2018 - NEMS-SST now saves null fields to resource.cfg. Resolves issue where Nagios can't read user macros beyond a missing incremental number.
  • January 22, 2018 - nems-mailtest was saving to the wrong log file and creating it (if it didn't exist) as the currently running user. Fixed.
  • January 22, 2018 - NEMS Migrator Off-Site Backup is now running. Patrons at this level now have encrypted off-site backup service for their NEMS configuration.
  • January 23, 2018 - NEMS Migrator Off-Site Backup now reports and logs response messages to /var/log/nems/nems-osb.log
  • January 24, 2018 - NEMS Migrator Off-Site Backup now sends useful information back to the local log, which we can later parse for a more verbose status panel.
  • January 25, 2018 - NEMS Migrator Off-Site Backup now sends local NEMS Server time to the backup server so we can factor in time difference to the backup. Thanks to Patrick Kersten for testing and helping me spot this potential problem: In cases where a backup was run +5 hours or more from our server's time, the date of the backup would be incorrect, making it impossible for those users to restore “today's” backup. This patch gives me an opportunity to resolve this issue.
  • January 26, 2018 - NEMS Migrator Off-Site Backup's restore feature is in place. New command line option for nems-restore osb
  • January 26, 2018 - Begin work on nems-debpack, a new feature of nems-admin. This will eventually lead to nems-update pulling from a Debian repository rather than GitHub.
  • January 27, 2018 - nems-www jQuery upgraded to 3.3.1, waypoints and countup animation removed. Added fullcalendar. Created a front-end for NEMS Migrator which now shows OSB backup status and a calendar of all existing off-site backups.
  • January 27, 2018 - NEMS Migrator OSB moved to 11:30pm instead of 4:00am so the date of the backup more accurately reflects the date (in case changes were made on that date during normal business hours).
  • January 28, 2018 - Fix log location for notify-host-by-email.
  • January 28, 2018 - Make it so NEMS SST now stores “NULL” as the value of null variables. This fixes the issue some users were reporting “You must specify a 'from' field!” as reported by gunkl, which was being caused by a similar issue to the missing lines problem which was patched on January 22, 2018.
  • January 28, 2018 - Change URL in footer to and change name from NEMS to NEMS Linux.
  • January 29, 2018 - nems-admin nems-debpack now supports and works with nems-www, nems-scripts and nems-migrator.
  • January 31, 2018 - nems-migrator now encrypts confidential data within backup.nems. NEMS OSB has been updated to use this set instead of having to use a separate encrypted backup.
  • February 2, 2018 - NEMS Migrator now encrypts confidential data for all users who enter a personal password in NEMS SST (regardless of whether they have an OSB account or not).
  • February 3, 2018 - Thanks to user support on Patreon, a goal was met and I have purchased and assembled the ODROID XU4Q to build our first NEMS 1.4 port to a non-Raspberry Pi SBC.
  • February 3, 2018 - nems-www now says “NEMS Linux” in the header rather than just the old “NEMS” branding.
  • February 3, 2018 - Add metatag to nems-www to request search engines not index private NEMS Linux servers that are accessible on the web.
  • February 3, 2018 - Minor cosmetic improvements to nems-www dashboard and change title bar to read “NEMS Linux”.
  • February 5, 2018 - Added to nems-scripts which paves the way to create compressed swap storage within RAM thereby maximizing the RAM of smaller SBCs such as the Raspberry Pi 3.
  • February 5, 2018 - Swap now enabled using ZRAM (compressed RAM) by default.
  • February 18, 2018 - Add cpupercent to nems-info.
  • March 5, 2018 - Fix an incorrect reference to /etc/cgi.cfg in as pointed out by panda2297
  • March 5, 2018 - Fix Nagios Core username in cgi.cfg during nems-init as revealed by panda2297's screencast
  • March 26, 2018 - Fix Nagios HTML path in cgi.cfg. Was causing icons to be broken. Thanks to Hesh for reporting the bug and zinfra for finding the fix.
  • March 29, 2018 - Removed timezone (Eg., EST, PST) from Monitorix “Updated” timestamp as it was showing incorrect in Brisbane and since it uses local time it is entirely unneeded information. Thanks to Ron for pointing this out.

NEMS Linux 1.3.1

If you are already running NEMS 1.3, you may upgrade to 1.3.1 using the nems-upgrade command.

  • March 26, 2018 - Compatibility with new Raspberry Pi 3 Model B+.
  • March 26, 2018 - Upgrade Webmin to 1.881.
  • March 26, 2018 - Upgrade Webmin's Authentic theme to 19.09.2.
  • March 26, 2018 - Upgrade PHP to 7.0.27.
  • March 26, 2018 - Upgrade gcc to 6.3.0-18.
  • March 26, 2018 - Upgrade Linux kernel to 4.14.30.
  • March 26, 2018 - nems-upgrade improved to wait for background apt tasks before proceeding. If apt was running in another process, the upgrade would fail but would believe it had succeeded.
  • March 27, 2018 - NEMS 1.3.1 release candidate IMG released to Patrons.
  • March 27, 2018 - nems-upgrade process implemented to upgrade existing NEMS deployments to 1.3.1.
  • March 30, 2018 - NEMS Linux 1.3.1 released to the public.

Rolling Updates 1.3.1

  • April 2, 2018 - Added weekly memtest that scans your device's RAM every Sunday morning and saves to /var/log/nems/memtest.log
  • April 4, 2018 - Fixed critical NEMS Migrator bug that resulted in loss of NConf output data as per Marshman.
  • April 4, 2018 - Fixed NEMS Migrator bug that left private data outside of the backup during restore operation.
  • April 8, 2018 - Fix issue in Migrator since implementing tmpfs that caused /backup/backup.nems to output a 404 error rather than a backup, as reported by panda2297.
  • April 8, 2018 - Improved the user experience when loading Monitorix screen immediately following boot (provided a notice that the images are still being generated, rather than a bunch of broken images) as per panda2297.
  • April 8, 2018 - Fixed bug with Monitorix boot sequence that was causing it to take longer than intended to generate the images.
  • April 9, 2018 - Fixed a bug in nems-update itself that was causing a syntax error due to my erroneous commenting of a test line. Whoops! Thankfully my foresight to automatically update nems-update itself allows me to patch all the affected systems so updates will again begin working.
  • April 9, 2018 - Made it so waits for background apt tasks before running patches. In cases where a user booted a NEMS server and then immediately ran nems-init, errors would occur (as updates were running in the background at boot). This resolves that. Thanks to Ron Taylor for drawing my attention to this.
  • April 10, 2018 - Improved nems-info platform command - now if the platform is unknown, it will first try to detect it again before giving up.
  • April 10, 2018 - Fixed incompatible string name from DietPi which caused Pi 3 B+ to be logged as a Pi 1. Thanks to Ron Taylor for pointing it out.
  • April 23, 2018 - Fixed Internet speed test in /var/log/nems/benchmark.log
  • April 27, 2018 - Added failsafe patch system to nems-migrator allowing me to patch nems-scripts even if it is broken (in the past all patches came in via nems-scripts, so if that repository gets broken, I have no way to push the patch. That is now resolved.)
  • April 27, 2018 - Version of nems-scripts distributed with NEMS 1.3.1 is broken on some systems and won't update. Fixed by automatically removing and reinstalling if the bad commit is installed. Reported by Ron Taylor and Dave Harman.
  • May 19, 2018 - Various improvements to NEMS Dashboard web interface + add new logo.
  • May 21, 2018 - Fixed monit web interface.
  • May 23, 2018 - Added “init” query to nems-info command.
  • May 26, 2018 - Fixed width of nems-www divs. Was hard locked to a max width of 300px by accident in a recent test that accidentally got committed.
  • June 5, 2018 - Vast improvements to NEMS Migrator: import NConf database cleanly and consolidate data from config files. Now works much more reliably across all versions.
  • June 5, 2018 - Added “Home” samba share. Now, following a nems-init operation, a user may read and write to their home folder over SMB, making it easier to transfer files to the NEMS server (such as backup.nems). While this feature will not retroactively affect already-initialized NEMS servers, it will be active upon initializing NEMS from this day forward.
  • June 5, 2018 - nems-restore now allows spaces in filenames.
  • June 7, 2018 - NEMS SST can now disable several more non-critical services to reduce resource usage.
  • June 8, 2018 - username added to nems-info.
  • June 8, 2018 - Bug Fix/Feature Improvement: NEMS Migrator Restore now automatically changes the username of the restored data to match the initialized username. See this post for details.
  • June 9, 2018 - Added online command to nems-info.
  • June 9, 2018 - Made it so the nems-www dashboard will now warn users if their NEMS server is unable to connect to the update servers.
  • June 9, 2018 - The notification on the nems-www dashboard when a new version of NEMS is released is a bit more intuitive and now takes you to the specific version changelog, rather than my blog.
  • changelogs/nems_1.3.txt
  • Last modified: 2019/02/04 11:35
  • (external edit)