AJ's Blog

This is a personal blog focused on computer software and hardware. Most projects are implementing software and hardware for a homelab. What is a homelab? I would say a homelab could be a single computer or dozens of computers connected in a network. You can also integrate with computers in the Cloud.

Continue reading...

Recent Posts

Homelab VPN with Wireguard

10-19-2021

updated: 2024-02-03

A VPN is a way to create a secure tunnel from a remote network onto your own network. When I am not at home I can still trust my DNS requests and access resources from my personal networks. There are different VPN softwares out there and today I will be setting up WireGuard.

wireguard
wireguard

Installing and configuring WireGuard with Docker

In order to run the WireGuard server, I will be using a docker container inside of a virtual machine. In order to keep this post concise, please check out my previous post on docker if you are not familiar with the technology. I also have a post on setting up virtual machines and yet another post on setting up a dedicated system to run virtual machines with proxmox.

Using a Raspberry Pi as a reverse proxy

10-10-2021

I will be using another Raspberry Pi to serve as a reverse proxy for my network. With Nginx Proxy manager, I can manage my proxy configurations in a web app. This application is a front end for nginx which is a very popular web server that also works for proxying TCP/IP connections and encrypting traffic.

Installing Nginx Proxy Manager

I will be managing this software with docker. If you have not worked with docker before, I have a blog post about the basics of docker and installation methods.

Using LXC

10-04-2021

LXC is a system container manager. It offers a user experience similar to virtual machines but using Linux containers instead. LXC containers will share the kernel of the host operating system. If you are already using Proxmox, you can create LXC containers on Proxmox nodes and with the web UI. If you would like to set up Proxmox as a platform to host your virtual machines and containers, check out my previous post about installing Proxmox.

Managing containers with Portainer

09-19-2021

updated: 2024-02-01

Portainer CE is a web application that you can use to manage containers running on systems that have docker installed. Today we will be deploying Portainer community edition to manage some containers. Portainer runs as a container and you configure it to manage an existing docker installation. Portainer is also compatible with some additional container platforms which I may explore at a later date.

portainer_logo
portainer_logo

Requirements

As of this post, Portainer can be deployed on the following:

Docker Containers

09-12-2021

updated: 2024-01-13

All these Virtual Machines have gobbled up the RAM and CPU cores on my systems. Now I’m going to take a look at a different way to run software: Docker.

docker_logo
docker_logo

Docker and containers

Docker is an open-source project for automating the deployment of applications into containers. Docker containers can run anywhere, on your laptop/desktop, on a server, or in the cloud. Containers can run natively on Linux and Windows. However, Windows images can run only on Windows hosts and Linux images can run on Linux hosts and Windows hosts, where host means a server or a virtual machine. Containers also do not have to run with Docker. There are other container platforms.

Pandoc converter

09-05-2021

There is a useful software application out there called Pandoc which is a Haskell library for converting from one markup format to another through a command line interface. Pandoc can convert between markdown, HTML, and proprietary formats like Microsoft Word.

Installing

The official site for pandoc includes instructions to install on multiple platforms such as Windows, Linux and macOS.

https://pandoc.org/installing.html

Example

See the following example of converting a markdown file to an HTML file: