Welcome to the Cumulus Support forum.

Latest Cumulus MX release 3.10.5 (build 3122) - 06 April 2021 (please see announcement regarding releases since 3.5.0)
Legacy Cumulus 1 release v1.9.4 (build 1099) - 28 November 2014 (a patch is available for 1.9.4 build 1099 that extends the date range of drop-down menus to 2030)

Download the Software (Cumulus MX / Cumulus 1 and other related items) from the Wiki

Instructions: The Quick Easy Cumulus MX Linux Installation and Running as a Service

From build 3044 the development baton passed to Mark Crossley. Mark has been responsible for all the Builds since. He has made the code available on GitHub. It is Mark's hope that others will join in this development, but at the very least he welcomes your ideas for future developments (see Cumulus MX Development suggestions).

Moderator: mcrossley

Post Reply
User avatar
galfert
Posts: 195
Joined: Tue 03 May 2016 2:57 pm
Weather Station: Ecowitt GW1000
Operating System: Mint, Raspberry Pi OS, Synology
Location: Orlando, FL

Instructions: The Quick Easy Cumulus MX Linux Installation and Running as a Service

Post by galfert »

If you have a Raspberry Pi then by all means you can follow the Raspberry Pi image method (this isn't that). There is also another method that uses crontab instead of this method which uses systemd to run Cumulus MX as a service. And actually there is yet another method which uses an init.d script which is different. With Linux there is always more than one way.

If you use your Pi for other things or you already have a Linux system that you use for other things then you may be interested in following this simple, quick and easy installation of Cumulus MX on pretty much any popular Linux distribution.

Maybe these instructions are redundant but In reading the Wiki there is too much noise and talk about Raspberry and even the section about running as a service that is totally missing. So I've put together the following quick instructions. This assumes you already have a running Linux system. This will allow you to run Cumulus MX (AutoStart as a service) when the computer boots. You don't even need to login. If you don't have a running Linux system, then fear not. There are many ways and options to get a Linux system running and it really isn't that hard. If you need help start a new thread and ask for hardware/software advice.

TIP: Set your Linux computer to auto power-up on AC in BIOS in case of power failure. This way it will automatically boot when AC power is restored.

How to install Cumulus MX on a Linux system and configure as an auto-starting service

1> Start with the instructions for Mono from their website linked below, but do not follow all of its install instructions. Only do the section for adding the Mono repository to your system (which is just the first section).
Follow the adding Mono repository instructions from the Mono project site:
https://www.mono-project.com/download/s ... wnload-lin
Choose your Linux distro to see the pertinent commands to use to add the Mono repository. For Linux Mint use Ubuntu instructions unless you are running Mint LMDE (then use Debian).
(Raspberry Pi adding of Mono repo instructions are also on the mono-project site)

2>After adding repo commands from #1 (varies by Linux distro)...
Do not continue to follow the install instructions on the mono-project website (as they want you to do a devel install for software development), instead install with the following command:

Code: Select all

sudo apt install mono-complete
sudo apt autoremove
* the autoremove does some cleanup of the full mono-complete in case any components are not needed for your system.

3> Download the CumulusMX install zipfile to the Downloads folder.
Latest release version available here:
https://cumuluswiki.org/a/Software#Current_Release

4> Unzip and then move the unzipped CumulusMX folder to reside in /home/<username>/CumulusMX
The following command only moves the unzipped file. You need to unzip first.

Code: Select all

mv ~/Downloads/CumulusMX ~
5> Edit the file cumulusmx.service located in ~/CumulusMX/MXutils/linux/ and change the ExecStart path line to have *your* install directory -d:/home/<username>/CumulusMX
Where <username> is the login username that you are using...for example /home/pi/CumulusMX (that is where you copied the unzipped CumulusMX folder in the previous step)

6> Copy the newly edited cumulusmx.service file to /etc/systemd/system/ with the following command:

Code: Select all

sudo cp ~/CumulusMX/MXutils/linux/cumulusmx.service /etc/systemd/system/
7> Enable cumulusmx.service to autostart with command:

Code: Select all

sudo systemctl enable cumulusmx
8> Reboot or just start the Cumulus MX service:

Code: Select all

sudo systemctl start cumulusmx
9> CumulusMX should now be accessible from:
http://<ServerIP>:8998 (from any computer on your network, for example http://192.168.1.20:8998)
http://localhost:8998 (on system running Cumulus MX only)
http://<hostname>:8998 (if you know the hostname of the system for example: http://raspberrypi:8998)
* It might be a good idea to create a DHCP IP address reservation on your router if hostname resolution doesn't work on your network

10> Configure Cumulus MX for your station by going to the menu option Settings / Station Settings
Cumulus Station Settings.jpg

11> After making changes to the Station Settings and selecting your station type and selecting your units, restart Cumulus MX service:

Code: Select all

sudo systemctl restart cumulusmx
12> You should now be getting data from your station in Cumulus MX.

Useful commands:
sudo systemctl stop cumulusmx
sudo systemctl start cumulusmx
sudo systemctl restart cumulusmx
sudo systemctl disable cumulusmx (to disable auto-start service)
sudo systemctl enable cumulusmx (to enable auto-start service)
systemctl status cumulusmx (see status of the Cumulus MX service)

Upgrading to new version or switching from crontab or init.d to systemd (run as a service)
- To upgrade to newer Cumulus MX version see two posts down from this.
viewtopic.php?p=148851#p148851
- You can change your Cumulus MX from using crontab or init.d over to systemd by first stopping Cumulus and disabling crontab (or init.d) and then following the steps above beginning with step #5

Security Warning: Do not forward port 8998 to the Internet on your router as this will make your entire station configuration accessible to be messed with by anyone on the Internet. If you want to have a public web accessible interface then that requires additional setup.
You do not have the required permissions to view the files attached to this post.
Last edited by galfert on Mon 04 Jan 2021 2:41 pm, edited 72 times in total.
Ecowitt GW1000 | Meteobridge RPI | CumulusMX on Synology NAS
WU: KFLWINTE111  |  PWSweather: KFLWINTE111
CWOP: FW3708  |  AWEKAS: 14814
Windy: pws-f075acbe
Tele-Pole flag pole

User avatar
galfert
Posts: 195
Joined: Tue 03 May 2016 2:57 pm
Weather Station: Ecowitt GW1000
Operating System: Mint, Raspberry Pi OS, Synology
Location: Orlando, FL

Re: Cumulus MX Instructions: The Quick Cumulus MX Linux Installation and Running as a Service

Post by galfert »

Troubleshooting

If the above instructions do not work you may want to troubleshoot by running Cumulus MX from the interactive shell prompt.
Or you can also look at the following file which will show you the console output of the running service:
~\CumulusMX\MXdiags\ServiceConsoleLog.txt

To manually start Cumulus MX first be sure that it isn't running as a service. It probably isn't it you are not able to launch the Cumulus MX web interface but can't hurt to stop the service first.

Code: Select all

sudo systemctl stop cumulusmx
Then try and start Cumulus MX manually:

Code: Select all

cd ~/CumulusMX
sudo mono CumulusMX.exe
If it is working correctly you should see something similar to this (then you can open browser to http://<whatever-IP-it-is>:8998 as it mentions):

Code: Select all

$ sudo mono CumulusMX.exe
Cumulus MX v.3.9.2 build 3097
Working Dir: /home/pi/CumulusMX/
Today.ini = data/today.ini
Last update=2020-12-18T17:05:00
Connected to station
Cumulus running at: http://*:8998/
  (Replace * with any IP address on this machine, or localhost)
  Open the admin interface by entering this URL in a browser.
Normal running
12/18/2020 5:10:33 PM
Type Ctrl-C to terminate
If you don't see this correctly working output as above, then you'll likely see information that will be important to further troubleshoot.

Once you are done troubleshooting hit Ctrl-C to quit the manual start as it is recommended to enable the autostart service of Cumulus MX using the systemctl (systemd) method mentioned in the first post. If your Cumulus MX runs manually but does not autostart with systemd as a service then you'll likely need to check that part of your install. Usually people forget to change the path or set it properly in the cumulusmx.service file that you should have copied to /etc/systemd/system directory.

If you still need additional help then start a new thread. Let's save this thread for discussing the merits of these installation instructions which might need to be updated in the future as sometimes software requirements change.
Last edited by galfert on Sun 20 Dec 2020 5:55 am, edited 9 times in total.
Ecowitt GW1000 | Meteobridge RPI | CumulusMX on Synology NAS
WU: KFLWINTE111  |  PWSweather: KFLWINTE111
CWOP: FW3708  |  AWEKAS: 14814
Windy: pws-f075acbe
Tele-Pole flag pole

User avatar
galfert
Posts: 195
Joined: Tue 03 May 2016 2:57 pm
Weather Station: Ecowitt GW1000
Operating System: Mint, Raspberry Pi OS, Synology
Location: Orlando, FL

Re: Cumulus MX Instructions: The Quick Cumulus MX Linux Installation and Running as a Service

Post by galfert »

How to upgrade your Cumulus MX to a newer version
  1. Stop Cumulus MX.

    Code: Select all

    sudo systemctl stop cumulusmx
    
  2. Make sure you have a backup copy of the CumulusMX folder.
  3. Copy the entire contents of the zip file to your CumulusMX folder.
  4. Start Cumulus MX again.

    Code: Select all

    sudo systemctl start cumulusmx
    
This is the method recommended by Mark:
viewtopic.php?p=148477#p148477
Last edited by galfert on Fri 25 Dec 2020 9:36 pm, edited 14 times in total.
Ecowitt GW1000 | Meteobridge RPI | CumulusMX on Synology NAS
WU: KFLWINTE111  |  PWSweather: KFLWINTE111
CWOP: FW3708  |  AWEKAS: 14814
Windy: pws-f075acbe
Tele-Pole flag pole

User avatar
galfert
Posts: 195
Joined: Tue 03 May 2016 2:57 pm
Weather Station: Ecowitt GW1000
Operating System: Mint, Raspberry Pi OS, Synology
Location: Orlando, FL

Re: Cumulus MX Instructions: The Quick Cumulus MX Linux Installation and Running as a Service

Post by galfert »

For an Alternative method that uses Docker to run Mono see this other post:
viewtopic.php?p=148956#p148956
* I wrote the instructions for this other method using Docker for Synology NAS that is not able to run Mono directly. But you can easily modify it to be any Linux system. Just install Docker and make any appropriate directory modifications.
Ecowitt GW1000 | Meteobridge RPI | CumulusMX on Synology NAS
WU: KFLWINTE111  |  PWSweather: KFLWINTE111
CWOP: FW3708  |  AWEKAS: 14814
Windy: pws-f075acbe
Tele-Pole flag pole

Nottub
Posts: 65
Joined: Fri 04 Dec 2020 4:35 pm
Weather Station: Davis VP2 (Cabled)
Operating System: RPi 4
Contact:

Re: Instructions: The Quick Easy Cumulus MX Linux Installation and Running as a Service

Post by Nottub »

How to upgrade your Cumulus MX to a newer version
Stop Cumulus MX.

'sudo systemctl stop cumulusmx'

Make sure you have a backup copy of the CumulusMX folder.
Copy the entire contents of the zip file to your CumulusMX folder.

Start Cumulus MX again.

'sudo systemctl start cumulusmx'
I presume I'd still need copy back the 'Cumulus.ini', all files in the 'Data' folder and any html template files that I've changed?

Thanks

Nottub

User avatar
radilly
Posts: 123
Joined: Fri 17 Jul 2015 11:01 am
Weather Station: Ambient WS-2080
Operating System: Raspberry Pi 3, OS Buster Lite
Location: McMurray, PA, US
Contact:

Re: Instructions: The Quick Easy Cumulus MX Linux Installation and Running as a Service

Post by radilly »

Nottub wrote:
Fri 08 Jan 2021 4:26 pm
I presume I'd still need copy back the 'Cumulus.ini', all files in the 'Data' folder and any html template files that I've changed?
Check a distro, but I think you will find that Cumulus.ini isn't included - it's generated when you run CMX. Template mods, however, will have to be handled.

---

FYI - I'm tinkering with a script to help identify what might get overlaid if you just unzip over your install. viewtopic.php?f=40&t=18813
Cheers,
Bob

User avatar
mcrossley
Posts: 8208
Joined: Thu 07 Jan 2010 9:44 pm
Weather Station: Davis VP2/WLL
Operating System: Buster Lite rPi
Location: Wilmslow, Cheshire, UK
Contact:

Re: Instructions: The Quick Easy Cumulus MX Linux Installation and Running as a Service

Post by mcrossley »

The distro zips do not contain anything that will overwrite your data.

If you have modified standard web files etc rather than creating your own versions then they will be overwritten if you extract all files. Make a backup copy of them first then compare your changes against the new versions (if they have changed)

User avatar
radilly
Posts: 123
Joined: Fri 17 Jul 2015 11:01 am
Weather Station: Ambient WS-2080
Operating System: Raspberry Pi 3, OS Buster Lite
Location: McMurray, PA, US
Contact:

Re: Cumulus MX Instructions: The Quick Cumulus MX Linux Installation and Running as a Service

Post by radilly »

galfert wrote:
Fri 18 Dec 2020 10:47 pm
How to upgrade your Cumulus MX to a newer version
viewtopic.php?p=148477#p148477
Is this still applicable / recommended for MX v3.10+?

https://cumuluswiki.org/a/Updating_MX_to_new_version (still) points here. https://cumuluswiki.org/a/New_Default_W ... nformation discusses the templates in some depth (since that seems to have been the driver of much of the change). The page does say "The new template pages only have to be uploaded once, they then populate their data from a single JSON data file that Cumulus uploads at each update." I'm not quite clear on whether that has any bearing on the Realtime feature, i.e. realtime.txt. There were 3 different cycles (in MX 3.9.7 b3107) for "external programs."

Transitioning to MX v3.10+ seems like a good time to try to clean out accumulated cruft, while keeping the historical data of course. If this is all covered somewhere I'd very much appreciate a pointer to it.

Thanks-
Cheers,
Bob

Post Reply