Setup Server with Debian


The main purpose of this reference is to provide an instruction on how to restore this server in case of emergency, moving it to another hosting provider, or setting up the development environment in virtual machine.

Although this reference is for this particular server, the server itself is a typical Web server with PostgreSQL backend, NGINX, and a few Go services and applications (including the one that just served this page). Considering this, the reference may be useful not only for me but for anyone who want to setup the server for the same purpose.

The reference consists of three sections:

  • Installation contains step-by-step installing instruction for the base system, database, Web server, and other infrastructural packages, which are installed once and then are used by services and applications.
  • Deploying contains application-specific instructions, such as setting up the GIT repository, creating directory layout and configuring the Web server.
  • Commands from the section Maintenance are focused on performing routines that are smaller than tasks from Deploying and Installation. Some of the routines in this section serve as a construction blocks for the instructions from the above sections.

The instructions in all sections are not very verbose. Some of them even can be considered minimalistic. But most of them contain references to pages and Web sites that contain more information about the used commands and concepts.

Should you find any error in the instructions or want me to help you with the setup, feel free to contact me by sending a message to