Git Product home page Git Product logo

homelab's Introduction

Christopher Nethercott

I'm currently studying Mathematics at the University of York.

homelab's People

Contributors

chriscn avatar

Watchers

 avatar  avatar

homelab's Issues

PiHole Reverse Proxy

I currently run PiHole's SSL through itself rather than using a reverse proxy since the reverse proxy is much newer. However I am having a weird bug where I think the DNS / nginx reverse proxy is getting confused over who has the subdomain pihole.chrisnethercott.co.uk.

I've got all *.chrisnethercott.co.uk to set to 192.168.5.18 which is the local reverse proxy. However internally home assistant and pihole both have local dns configured in pihole.

Custom inventory management system

Having looked through the documentation and with my unique situation of managing clients behind a VPN; I'd like to create some multipurpose scripts that work for all my PiHoles etc

Ansible has this really cool dynamic inventory which I will use to acomplish this.

Most likely will just be text files containing the inventory with different groups [pihole], [pivpn], [pi] etc that the actual playbooks will use

Migrate docker contains from unRAID (Tritium) to (Felix)

Migrate the following docker container and services.

Each migration should do the following:

  • Copy files
  • Create docker-compose.yml with service
  • Add custom subdomain using swag e.g. paperless.chrisnethercott.co.uk

Containers to migrate

  • Lidarr
  • MariaDB
  • NZBGet
  • NZBHydra
  • Paperless
  • Plex
  • Radarr
  • Redis
  • Sonarr
  • SpeedFlux
  • TandoorRecipes
  • Tautulli

Notes

  • Internally debating whether or not to move the Media services away from Tritium. The server has a 2x1GB link so it should be fine. Would like Tritium to just be Storage
  • All configuration data will be stored locally however Media will be mounted over a NFS share

Migrate Home Assistant from Raspberry Pi 4GB to Felix

I've migrated the domain to be inline with the other Reverse Proxy. However it may be time to completely migrate and retire this Raspberry Pi for the time being.

Currently I've got most of the services running on felix without any issues and it isn't nearly at load. I also can just ditch the mariadb container on the Pi and migrate that.

Setup new microserver with 4TB SAS drive

Pending allocation of a name, I need to install a 4TB sas hard drive to give this new server some block storage. I am yet to decide what this shold do but I am slowly leaning towards formatting all of them with Proxmox and using them in a clustered environment, or perhaps migrating to Kubernetes.

Redeploy Felix with Storage

Currently Felix just has a singular SSD which runs the main operating system as well as all of the services that I love. I've been running unRAID on Tritium for a while now but would like slightly more control and don't really like Slackware OS or whatever the underlying kernel is.

Moving plan

  1. Buy 4x4TB Segate IronWolf drives ~£80 each
  2. Install the new drives and setup ZFS on a new ubuntu install
    2.5. ? Buy 2x 10GB cards and a DAC cable to speed up file transfers by creating a 10GB link between them
  3. Copy over all of the files from Tritium to the new ZFS cluster
  4. Reformat Tritium with Ubuntu and setup ZFS with its pool
  5. Seperate files into Media and Non media, non media to live on tritium and then backed up to felix

Migrating from unRAID on Vulcan to Ubuntu 22.04 LTS

When I initially got into Homelab; unRAID seemed like the default choice since I liked using a GUI. However I have slowly gotten frustrated with the underlying kernel. And since purchasing a 3rd Microserver the option is to either run a distrubuted storage network or Kubernetes.

I'd like to migrate the storage cluster from XFS UnRaid to ZFS, doing this will require manually transfering the files ~8TB locally across the network.

Part of this is I'd like to play around more with Ansible and that is not really possible at the moment.

In the process I'll likely rename the server to avoid confusion. The following tasks will need to be achieved.

  • #12
  • #13
  • #14
  • #15
  • Recreate the ZFS pool (one parity, encryption)
  • Create samba / user accounts

GPU

Consider buying a GPU for felix since it will eventually run plex and a GPU will be useful for other tasks that may benefit from gpu acceleration.

Monitoring and fun dashboards

The main reason for buying a second Microserver is to allow me to have a dashboard in grafana of all my home servers.
I need to do more research into this but mainly will be a grafana,influxdb,promethsis dashboard combination.

Dynamic DNS for reverse proxy

DNS is hosted in route 53; setup dynamic dns through a docker container to automatically update the *.chrisnethercott.co.uk to reflect my current ip address

Ansible playbooks

Current Solution

  1. Make changes locally, then git commit -am and then push them git push
  2. On the remote machine (felix) run git pull
  3. Run the changes docker-compose up -d --remove-orphans

It would be good to autoamte this as much as possible - maybe moving away from Docker compose to somethign much more available.

Remove automatic pull and update script

The automatic script was a nice idea in theory however it ended up becoming suprlus to requirements since I would automatically do it. I'd like to have a look at a GitOps solution sometime soon

ZSH Ansible Playbook

As a first task, a nice idea to setup ansible would be to install zsh, oh-my-zsh, set it up with my custom theme and then setup zsh-syntax-highlighting

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.