Upgrading Server Edition from Old Mono version

Hello,

I deployed manager server edition a long while ago, and its the one tha tusing Dot net Framework with Mono.

I see now the new updates the platform has migrated to DOT Net Core and that mono is no longer required.

I would Like to do an upgrade, how should i go about the upgrade, considering the install method has also changed?

The install method as per the guide has been updated to reflect the changes in the new framework (ie the changes to the systemctl service config file (you will create a new one during the process).

The “update” method is only from one Core version to the next as the config for the systemctl service has changed and that isn’t reflected in the process.

The best way to address this is create a total backup of everything (ie, the manager application and database directories) and complete the process as if installing from the start (ie from the top, treat it as a new install).

The essence being:

  • log into the server
  • stop the service
  • copy the application directory to a backup location
  • copy the database directory to a backup location
  • verify copies are digitally correct (I use md5sum or md5deep), especially if this was done via a network
  • you can then safely remove the manager application directory (it will be recreated in the next step)
  • follow the guide* as per a new install, this will create the necessary service config for systemctl
  • upon first run of the new server, it will update the database in the local database directory. At that time the hash will then be different, this is to be expected and is ok

* note however, the install section for caddy is outdated and if you require SSL you’ll need to look at a different option

I recommend to start looking at Docker Container. It saves you much trouble if there is changes in how program rely on different dependencies. Especially you hosting manager server or looking for free ssl like caddy web server.

Oh, so the new version, deployment of ssl via caddy does not work.

What about doing a backup of database from the software, redeployu the server, and installing the new version, then import the DB backup.
will that work without any breakages?

HAve you deployed Manager with Docker. How?

I suggest it too. I’ve been on Docker for four years. Search for CRONET implementation of manager.io

Keep in mind to externalise the data folder!

interesting. though am not really a docker guru

I know it’s a lot heavier, but I have always just used a complete VM. I usually use the latest Ubuntu when spinning up a new machine, but the one manager resides on is an 18.04.

I would love to fully understand Docker, but the data connections and connectivity between docker components always confused me. I should give it another go one day, but it seemed it was like a whole lot more to configure, maintain and worry about. You not only needed to understand the various components that a complete VM took care for you, but you needed to understand those connections and docker configurations for them.

Granted I think docker is smaller, but I certainly don’t see it as easier :slight_smile: It’s like trying to use DoubleSpace or some compression utility where if you have the hard drive space, why would you bother?

Just my 2c worth :slight_smile:

Having said all that, I would like to learn more about it, perhaps I’ll reinvestigate. Do you know any good tutorials on the finer points of Docker configurations?

1 Like

Let’s get back to Manager, please. There are plenty of other places to discuss other software and systems.

The biggest question i have is.

SInce Caddy does not work. once i have deployed the new version of manager, how should i install the SSL onto it?

@Martin_Otieno it seems www.Manager.io uses www.letsencrypt.org see Guide system unreachable. Its likely preferable to use the same plus its free

You can view the certificate if you click the green padlock in the top of the browser and then select certificate
Certificate

thats is not what i meant.

I am unable to install letsencrypt. apache is not being found. cant use snap. etc.

what changes were made to this new version of manager?

I agree. I have been struggling with caddy since the new version of Manager and thought I did something wrong only to see mentioned here that it is outdated. So @lubos why did you update most of the installation instructions including where to get the latest server files and not either delete or at least adjust the caddy information so that SSL will work. I spent $300 in July for the server edition as we prefer to keep all our accounting data on our own server for security purposes. The original install including SSL worked effortlessly. It seem you are pushing you own cloud solution but the server solution is what attracted me to Manager. So please update the server installation instructions so it works as before. Thank you.

does anyone have idea to install SSL in this new version.
i am getting all manner of issues in that one component.

We use Certbot https://certbot.eff.org/ and Letsencrypt the link listed here will help you.

I tried it but keep getting the same error. “…\n\n404 Not
Found\n\n

Not Found

\n<p”…"

I checked the server and the DNS A/AAAA record(s) have the right IP address, so is not the issue. The issue is with the root path. Not sure what to use here as Manager is installed as an app

Your issue is not a Manager issue per se but computer / web thing. You will need to seek help outside the Manager Forum. Last thing what OS is the host on and check to establish if there is some other service in conflict with the Manager’s listening port. Check ports 80 8080 and 443 and start again. Good luck.

@Martin_Otieno @eko - as @compuit advised, this not a manager issue and looks like a webserver and SSL issue…you can replace caddy completely with apache2 tip:

  1. Install apache and then enable SSL module:
    sudo a2enmod ssl
  2. Use lets encrypt to issue a certificate
    sudo apt install python3-certbot-apache
    2.A - you need to setup DNS validation using your domain manager, example if my domain is example.com and i want to issue certificate for account.example.com then I would create the A record etc…
  3. Once the certificate is issued, amend the config file for apache to redirect ports to internal 8080 for manager etc…

Hope the brief steps will help you there.

oh, so manager is not using apache but its using caddy.

so to get LE i need to replace caddy with apache. interesting. now i know why i have been getting issues

So Manager has its own webserver and running on port 8080 (default from setup). If you’re using Manager inside a protected network, then you can run Manager direct with “:8080” at the end of the local address without the need for caddy/apache.

If you’re running Manager access from outside secure network, then you go through the requirements to secure your connection using a webserver (in my case apache) and encryption with a certificate from letsencrypt. You then use Apache to redirect to the internal port of Manager. Any http or https request that comes in from the internet will then be redirected internally to Manager port 8080.

Note that caddy can still be used instead of apache but implement the solution that you can implement bearing in mind the maintenance required when there are future upgrades to Manager.