Restore Process


We’ve just been testing the restore process ( as if we lost our deployment server and needed to start again. The only way we could get this to work was to follow the instruction in the link above AND to restore the RavenDB (not mentioned). Is this the correct process?

In doing this we have our deployment server up and running, but if only contains configuration for environments, project and users. However libraries and packages are empty? Is this by design (as we can always get any package rebuilt from source control/build server)?


Hi Peter,

Thanks for getting in touch! The restore RavenDB process you had to follow was a bit weird. What did you find happened when you did not run that extra step?
The package part is by design. We do not backup packages (it would make your backups pretty large).
When you say libraries do you only mean the packages and external feeds part (this data should still remain) or also any step libraries or variable sets?



If I didn’t do the extra step (copy in the old RavenDB) I was unable to login to OctopusDeploy after the restore process.

So I accept the part on the packages (for deployments of our software), but I need to understand the bit around RavenDB.


Hi Peter,

Thanks for the reply. I’ll try to replicate this - what version of Octopus are you using?



This happens with the latest version

Whilst OctopusDeploy is a great tool, I’m very worried by this email thread. This is early use for us at Invenias, but the backup/restore story is critical to long term use.

Please treat this with urgency, we must be doing something wrong (or your software is broken in the restore aspect).


The backup files are created BUT we see the following exception:

Unable to connect to the remote server
System.Net.WebException: Unable to connect to the remote server —> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
— End of inner exception stack trace —

Server stack trace:
at System.Net.HttpWebRequest.GetResponse()
at Raven.Abstractions.Connection.HttpRavenRequest.SendRequestToServer(Action`1 action) in c:\Builds\RavenDB-Stable\Raven.Abstractions\Connection\HttpRavenRequest.cs:line 190
at Raven.Smuggler.SmugglerApi.GetVersion() in c:\Builds\RavenDB-Stable\Raven.Smuggler\SmugglerApi.cs:line 150
at Raven.Abstractions.Smuggler.SmugglerApiBase.d__5b.MoveNext() in c:\Builds\RavenDB-Stable\Raven.Abstractions\Smuggler\SmugglerApiBase.cs:line 670

Exception rethrown at [0]:
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
at Raven.Abstractions.Smuggler.SmugglerApiBase.d__1.MoveNext() in c:\Builds\RavenDB-Stable\Raven.Abstractions\Smuggler\SmugglerApiBase.cs:line 104

Exception rethrown at [1]:
at Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
at Octopus.Server.Orchestration.Backup.BackupOrchestrator.d__0.MoveNext() in y:\work\refs\heads\master\source\Octopus.Server\Orchestration\Backup\BackupOrchestrator.cs:line 51
Octopus.Server version

I’ve resolved the backup error by port forwarding to the IP of the server.

The backup now completes and I can import it without issues (I.e. The backup methods stated in the docs now works).

Great, BUT

Why are the backups created when an error occurs?

Also, where is the config for RavenDB stating ? I need to find this and change it.


Hi Peter,

So I’ve had a chat to Paul about this, do you have two IP addresses bound in your http.sys? This could explain the need for port forwarding.
Our upcoming change for 3.0 from Raven to SQL Server will mean these backup and restore processes will be a lot smoother, and backups will be managed by SQL.
But that will be in first quarter next year.

Let me know what you find about the IP addresses.