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

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:

Getting started with Ansible

09-01-2021

ansible
ansible

Ansible is an open-source software that uses python to provide an automation language. It uses YAML declarative files known as playbooks to describe tasks that are executed by Ansible. Ansible can configure computer systems, deploy software, and automate IT tasks at scale. Ansible does not require software to be installed on managed systems and utilizes protocols such as OpenSSH and WinRM to connect to systems. The official documentation has more detailed information on how to get started.

Creating Linux virtual machine templates with Packer

08-14-2021

packer
packer

You could set up each virtual machine by mounting the installation iso image to your virtual machine’s virtual disk drive and proceeding through the installer. In fact this is what I recommend for new users, but I will be using a software known as Packer to create Linux templates that I can use in VirtualBox or even other hypervisors.

Templates can be found on my public github repo.

Getting Started

To create a virtual machine, you need a CPU that supports virtualization and hypervisor software to emulate computer hardware within software. I recommend starting with VirtualBox since this is an open-source hypervisor that you can install on Windows, macOS, or Linux.

Vagrant Installation/Demo

08-10-2021

Vagrant is a software from HashiCorp that provides easy to configure and replicate virtual machine images. Vagrant integrates with existing hypervisor software to quickly deploy VM templates from the Vagrant community or templates that you create.

vagrant_logo
vagrant_logo

Installation

Prerequisites

In order to proceed, you need a hypervisor software such as VirtualBox. I have a previous post regarding virtual machines and setting up VirtualBox.

Windows 10

I will be installing vagrant with Chocolatey. Check out my post on setting up Windows for info on how to get started with Chocolatey.

Proxmox Installation

08-03-2021

Proxmox Virtual Environment is an open-source Linux distribution for virtualization. It tightly integrates KVM hypervisor and LXC, software-defined storage, and networking functionality on a single platform. With the integrated web-based user interface you can easily manage Virtual Machines and containers.

System Requirements

  • CPU: 64bit
  • Intel VT/AMD-V capable CPU/Mainboard
  • Minimum 1 GB RAM
  • 128 GB disk drive (Any less is not much to work with)

Installation

  1. Download the ISO image installer from Proxmox.
  2. Create USB installation media with a tool like Etcher or mount the .iso image on a virtual disk drive in a VirtualBox VM. See my previous post on creating USB media.
  3. Once you boot the installation image, you can proceed if you see the following screen:

pve_grub_menu
pve_grub_menu