Skip to main content

01. What is an App Deployment Workflow ?


What this is not: Workflow is often associated with teams building and deploying applications. Yes, there are enough open source work flows for this. However, here we literally define how to deploy existing open source apps on your own hardware that other people have created and maintain. 

After self hosting for some time I tried many different approaches on what would be the easiest, the most efficient way to deploy all the open source applications that exist. All of them have there pros and cons and in the end you need to choose what works best for you. However, at some time you converge to one method that suits you best through the things you have tried out. 

With such a workflow each time a new application comes along that you hear about or discovered then you know exactly what to do. With this I mean how to deploy it, how to give it a domain name, to make it part of your backup strategy and more. This makes things systematic and will provide you with the least amount of headache. Don't get me wrong you can try out new workflows due to the flexibility of virtualization, but sticking to one offers great systematic benefits. 

On the application layer, there are just so many apps that basically do the same thing just in a different way and it simply takes time to figure out which ones you like the most. In this Bookstack I want to share my approach, the method for deploying apps that suits my needs and which might give you a starting point of what a workflow could be. Now, it must be said that workflows depend heavily on the hardware you have accessible to you. That will basically determine how you organize high availability, redundancy and backups. But don't you worry we will discuss different approaches with 1,2,3 or a higher number of machines available to you.

I will describe on this page in a rough outline what my workflow is and throughout the book I will go into some form of detail in all the parts. So let's go, here is a rough skeleton of how I would deploy a new app on my self hosted server. 


DIAGRAM THAT SHOWS THE WORKFLOW WITH DRAW.IO