What is the /home/Octopus/Applications dir used for?

Title says it all – what is this directory used for? We’ve established that /etc/octopus/default/Files (where default is the Tentacle instance name) is the package cache, but we’re also seeing our packages in /home/Octopus/Applications.

Inside of this is a folder hierarchy of: tenant → environment → package name → package version → package artifact. Why are these artifacts here and also in the package cache? Is it safe to remove them from /home/Octopus/Applications?

Hi Justin,

Thank you for reaching out to us with your query.

The path /etc/octopus/<instance> is the Tentacle’s home directory. This is where the Tentacle stores configuration files and data. The Files subdirectory is indeed the package cache. You can find out more about Tentacle configuration and file storage in our documentation.

The other directory you have mentioned isn’t one we create by default. The path suggests that there is a user account called Octopus with an Applications directory in the relevant home folder. The description of the files within the folder suggests that it is a custom installation directory.

I hope this is helpful. Please let me know if you have any questions.

Best Regards,

Charles

OK great, thanks for the reply!

1 Like

Hi Charles, I actually found the reference to it. In /etc/octopus/default/tentacle-default.config, we have this line:

<set key="Tentacle.Deployment.ApplicationDirectory">/home/Octopus/Applications/</set>

I’m pretty sure I can use the Tentacle CLI tool to update this, but I’m not sure what the Tentacle.Deployment.ApplicationDirectory key refers to – can you shed some light on this?

Hi @justinm89 !

I think there was some confusion here, and you might not have got the correct answer.

The Applications directory is where Octopus deploys your application by default. As you’ve seen by looking in the folder, it contains the contents of your compressed packages in a per-package and per-version package tree. This functionality is what traditionally allows us to do minimal downtime deployments, since you configure everything in the Applications folder, then point, say IIS/Apache/nginx etc at that folder and you’re back up and running without worrying about file locks and such.

You can additionally use the “Custom Install Directory” feature in a deployment to use a folder other than this default to install your package to.

Because the files in this directory are versioned, it also allows us to run retention policies to ensure that these older files are cleaned up when a new version is deployed to that machine.

I hope this helps clarify the situation, and apologies for the confusion. Please let us know if you have any further questions.

So we are using a custom install directory, but the files are still being placed (downloaded to I suppose) in /home/Octopus/Applications – are files always landed here first before being copied to the custom installation directory?

Hi Justin,

That’s correct. The order that these actions run in can be found in more detail here but the short version is that the package is extracted to the /Applications/ folder where variable substitutions and transforms are then run against any relevant files. Then once that is complete the files are copied from there to the custom installation directory.

Regards,
Paul

Perfect, this helps a lot. Thanks for the responses all.

2 Likes

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.