Lightweight Public Git Self Hosting

Public git self hosting can be desirable for a number of reasons, but you may not want the expense and maintenance burden of a GitLab or other ‘full-service’ git hosting options, so this article discusses a lightweight option for a browsing or cloning your git repositories via HTTP/HTTPS (web), as well as pushing, pulling, cloning, etc using SSH.

At the very least it gives you a way to keep a backup you control of your valuable source code and documents that are also on a large central service.

Raspberry Pi OS for a Server

For small deployments (or home or small office use) you may find yourself in need of a ‘bare metal’ server, but not want or need the expense of an x64 machine. If the workload is not too demanding, a Raspberry Pi can be a good choice. The Pi has the benefit of being inexpensive, using little electricity, and taking little space. This article has been modified to use Raspberry Pi OS as the base instead of a customised Raspbian image.

Raspberry Pi as an Ansible Server

As a base service for bare metal infrastructure I prefer my provisioning and configuration management servers to be bare metal which can be accessed without requiring other hosts or infrastructure. For small deployments the Raspberry Pi makes a great choice because it is inexpensive, uses little electricity, takes little space, and yet has enough power for the relatively low demands placed on the server (which also makes a full x64 server overkill).

Raspberry Pi Server

For small deployments (or home or small office use) you may find yourself in need of a ‘bare metal’ server, but not want or need the expense of an x64 machine. If the workload is not too demanding, a Raspberry Pi can be a good choice. The Pi has the benefit of being inexpensive, using little electricity, and taking little space.

Package Installation and Updates on an Isolated Network

For your self-hosted systems there are likely hosts you don’t want exposed to the wilds of ‘The Internet’, even for outgoing traffic, but you still want to be able to do package updates. Here is how you do that using NGINX as a proxy on a host on an isolated network and is also on an internet connected network.