Unable to move Community Edition to a new server

operations

#1

Hello,

The server we currently have our Octopus server on is pretty old and due to be decommissioned soon. We have setup a new server and I went about trying to move Octopus to this new server. We are currently using the Community Edition and I am aware it is no longer available but has been grandfathered for existing users. I was expecting to install the instance as trial one and then overwrite it with the files and database from my existing server. This didn’t work as it had generated a Master Key and there was no way I could change it. After checking the documentation, I tried to follow the steps on ‘Moving the Octopus Server and Database’. This was problematic as the first step in the setup wizard is the licence key. I checked the licence tab in Octopus and it was blank. I assumed the licence is held in the backend and just hidden from the front end now. I used a trial license and proceeded with the wizard entering my Master Key, expecting to again copy the files and database over and the existing licence to then be picked up. The install process kept failing, complaining about the licence. I double checked the documentation there was nothing about licences or anything that indicated I would not be able to move my Octopus server because it is the Community Edition.

I checked the forums and saw a post (Migrating Community Edition to New Server) from last month with the same problem. In the post Reece mentions “In it’s current form you won’t be able to transfer the existing license to a new server as a result.” (full post linked at the bottom). Surprisingly the person who raised the post just accepted this and they talk about pricing.

This doesn’t sound right to me. For example, if there was a failure and a server went down. There would no way to get back to the position you were in without purchasing a licence? If that is the case, it’s hardly a nice stance – every Community Edition server is affectively sitting on a ticking time bomb.

Am I missing something or is there definitely no way to move my current Community Edition Octopus to a different server?
If there’s no way to move Community Edition Octopus servers, could you please update the documentation with a note? It would have saved me a lot of time if it was clearly written somewhere.

Thanks,

Xander


#3

HI @Xander

Apologies for the delay in getting back to you on this one, we had our mid-year all hands catchup last week and some support responses where missed as we where all out of routine :frowning:.

You can indeed move an existing server using the Community Edition license. What you need to do is migrate the database as per the documentation. You then need to copy the following directories from your original server to the new server (each of these folders are located in C:\Octopus in standard installations).

  • Artifacts
  • Task Logs
  • Packages (This folder only needs to be moved if using the built-in package repository. External feed details are stored in the database, and they will connect automatically)

Once the database and files have been moved you need to then install the matching Octopus Server version (must be the same as the version installed on the old server) on the new server, but do not create a new instance. As your Community Edition license is installed in the database we can run the following commands to connect to your existing instance:

"C:\Program Files\Octopus Deploy\Octopus\Octopus.Server.exe" create-instance --instance "OctopusServer" --config "C:\Octopus\OctopusServer.config"
"C:\Program Files\Octopus Deploy\Octopus\Octopus.Server.exe" database --instance "OctopusServer" --masterKey "putmasterkeyhere" --connectionString "Data Source=(local)\SQLEXPRESS;Initial Catalog=Octopus;Integrated Security=False;User ID=SomeUser;Password=SomePassword"
"C:\Program Files\Octopus Deploy\Octopus\Octopus.Server.exe" configure --instance "OctopusServer" --upgradeCheck "True" --upgradeCheckWithStatistics "True" --webForceSSL "False" --webListenPrefixes "http://localhost:80/" --commsListenPort "10943" --serverNodeName "NodeName"
"C:\Program Files\Octopus Deploy\Octopus\Octopus.Server.exe" service --instance "OctopusServer" --stop
"C:\Program Files\Octopus Deploy\Octopus\Octopus.Server.exe" service --instance "OctopusServer" --install --reconfigure --start

Notes:

  • The Octopus Instance name in the first and third lines line need to match your initial instance name
  • The database connections string is using username/password to connect to the database, change appropriately is you are using LocalSystem connections.

Please let me know if there are any issues or you have any follow up questions,

Regards,
Alex


#4

Hi @Alex.Rolley

No problem about the delay in response.

Thanks for the commands. I have just tested this and it worked. I am happy for you to flag this ticket as resolved and close it.

Thanks for your help,

Xander


#5

Hi @Xander

That’s great news, thanks for letting me know!

Feel free to get in touch if there is anything else we can assist with.

Regards,
Alex