Time Machine & Docker

This post explains how I run samba and avahi-daemon inside a docker container to act as a time-machine server for all the Mac computers on my home network. Dockerfile I used ubuntu:focal as a base image and created the following Dockerfile: FROM ubuntu:focal #Install samba and avahi-daemon inside the image RUN apt update && apt install samba avahi-daemon -y #Expose the ports which are needed for samba and avahi-daemon EXPOSE 137/udp 138/udp 139 445 5353/udp #Copy config files into the image COPY smb....

April 16, 2024 · Ed Randall

Getting started with Cloudflare Tunnels

Setting up your own VPN can be complex In this post , I went through how I’ve setup Wireguard to be able to connect back to my home network when on the road. When it comes to choosing a VPN, Wireguard stands out for me in terms of speed, security and ease of configuration. However, there are a few complexities associated with setting up any VPN to securely connect back to a home network....

July 15, 2023 · Ed Randall

Kubernetes Notes & CKA Exam Prep

Overview This post covers 3 major topics: Kubernetes Lab Environment: The steps that I took to setup a Kubernetes cluster from scratch, in a self-hosted virtualised environment using Oracle Virtualbox and Hashicorp Vagrant Kubernetes Notes, Commands and Manifests: A collection of commands which I noted down as part of my preparation for the Certified Kubernetes Administrator exam Information Sources: A list of links to the main sources of information which I used when creating this environment and learning Kubernetes Kubernetes Lab Environment The VMs which formed the Kubernetes cluster were deployed on a Dell Precision workstation with plenty of CPU and RAM resources:...

July 4, 2023 · Ed Randall

Neo4j & Docker

This is a very quick script to get a single instance of neo4j running in a docker container. The username and password is set using the NEO4J_AUTH environment variable. #!/bin/bash # # Script: neo4j-docker.sh # Purpose: install neo4j container image after some simple environmentment prep # DOCKER=$(which docker) [ $? == 0 ] || { echo "ERROR: Check if docker is installed (and in your PATH)" ; exit 1; } DATA_DIR="$HOME/docker/neo4j-volumes/data" LOG_DIR="$HOME/docker/neo4j-volumes/logs" IMPORT_DIR="$HOME/docker/neo4j-volumes/import" PLUGINS_DIR="$HOME/docker/neo4j-volumes/plugins" RUNNING_CONTAINER=$($DOCKER ps -a | grep "neo4j:latest" | awk {'print $1'}) [ -z "$RUNNING_CONTAINER" ] || docker rm -f $RUNNING_CONTAINER [ -d $DATA_DIR ] && rm -rf $DATA_DIR/* || mkdir $DATA_DIR [ -d $LOG_DIR ] && rm -rf $DATA_DIR/* || mkdir $LOG_DIR [ -d $IMPORT_DIR ] && rm -rf $DATA_DIR/* || mkdir $IMPORT_DIR [ -d $PLUGINS_DIR ] && rm -rf $DATA_DIR/* || mkdir $PLUGINS_DIR $DOCKER run \ --name testneo4j \ -p7474:7474 -p7687:7687 \ -d \ -v $DATA_DIR:/data \ -v $LOG_DIR:/logs \ -v $IMPORT_DIR:/var/lib/neo4j/import \ -v $PLUGINS_DIR:/plugins \ --env NEO4J_AUTH=neo4j/test1234 \ neo4j:latest

March 11, 2022 · Ed Randall