Skip to content

Instantly share code, notes, and snippets.

View troyfontaine's full-sized avatar

Troy Fontaine troyfontaine

View GitHub Profile
@troyfontaine
troyfontaine / README.md
Created October 5, 2024 01:22
Virsh command output converted to JSON

Virsh Command Output Converted to JSON

List of VMs

vm_json=$(echo "[ $(virsh list --all|grep -Ev 'Id|----'|awk '{print "{ \"id\": \""$1"\", \"name\": \""$2"\", \"state\": \""$3 $4"\"}," }'|head -n -1) {} ]"|jq -r)

Example Output

@troyfontaine
troyfontaine / README.md
Created August 22, 2024 14:21
HP iLO4 On Ubuntu Noble 24.04 for use with HP ProLiant 8th Gen Servers

HP iLO4 on Ubuntu Noble 24.04 for use with HP ProLiant 8th Gen Servers

If you're a homelabber and are interested in attempting to use the iLO4's agentless management functionality (how is it agentless if you have to install software on the OS?), you can do so by installing the HP AMS Package

Install the Agentless Management Service

sudo su -
wget https://downloads.linux.hpe.com/SDR/repo/mcp/pool/non-free/hp-ams_2.8.3-3056.1ubuntu16_amd64.deb
dpkg -i hp-ams_2.8.3-3056.1ubuntu16_amd64.deb
@troyfontaine
troyfontaine / palworld-dedicated-server-setup.md
Last active December 6, 2024 02:11
Set up a Palworld Dedicated Server On Ubuntu 22.04

How to Set up a Palworld Dedicated Server On an Ubuntu 22.04 Host (VM or baremetal)

WORK IN PROGRESS

Because the documentation scattered around the internet is pretty inconsistent, I'm putting everything I've found that seems to work together here.

Overview

This took too much effort to get sorted out, so I'm documenting everything figured out so far here.

@troyfontaine
troyfontaine / README.md
Last active July 15, 2024 19:16
How to Update the Firmware of a Crucial Consumer SSD on Linux via the Terminal

How to Update the Firmware of a Crucial Consumer SSD on Ubuntu 22.04 via the Terminal

This has been tested on Ubuntu 22.04 with 3x Crucial MX500 1TB SSDs purchased in 2023

  1. Install the required packages
    sudo apt-get install -y smartmontools unzip curl
    
  2. Check your current firmware version and note it-you will want to be sure that you are actually updating the firmware version (replace sdX with your actual device's identifier-leaving off any partition numbers as you're checking the block device and not the data on it)
@troyfontaine
troyfontaine / asus-falchion-nx-key-combinations.md
Last active August 27, 2024 08:54
ASUS Falchion NX Key Combinations

ASUS Falchion NX Key Combinations

Function Keys

Hot Key Function
FN + DEL Scroll Lock
FN + CTRL Menu
FN + P Print screen
FN + PgDn End
@troyfontaine
troyfontaine / falchion-nx-remap-left-alt-left-windows-keys.md
Last active October 26, 2024 01:16
How to Remap Left-Alt and Left-Windows keys on the ASUS ROG Falchion NX (Mac Style Key Layout)

How to Remap the Left-Alt and Left-Windows keys on the ASUS ROG Falchion NX (Mac Style Key Layout)

Because remapping can confuse the keyboard, we have to temporarily reprogram two keys outside of the left Windows and Left Alt keys that we're trying to work with in order to get the keys swapped like we want. It would be nice if the Armour Crate software would provide a way to specify a known key rather than having us type it-but c'est la vie!

  1. Open Armoury Crate
  2. On the left nav, click on the "Device" tab, then select your keyboard from the list
  3. Click on the "Keys" tab at the top
  4. Click on the / ? key in the Armoury Crate Window, then on the right side of the Window, toggle the drop down from Default to Keyboard Function
  5. Now, click in the box that says "Click here then press the key."
  6. Hold down the right Alt key on your keyboard and press the left Alt key, you will now see that the / ? key is set to Left Alt
@troyfontaine
troyfontaine / serverspec_rspec_cheatsheet.md
Last active September 3, 2023 15:42 — forked from mearns/serverspec_rspec_cheatsheet.html
A cheat sheet for server spec and rspec

Serverspec and RSpec Cheat Sheet

Setup

Initialize a serverspec directory with boilerplate

serverspec-init
@troyfontaine
troyfontaine / 1-raspberry_pi_with_led_powerbutton_and_rtc.md
Last active July 17, 2023 21:59
Raspberry Pi with LED Power Button and RTC

How to Set up a Raspberry Pi with LED Power Button and RTC

After a lot of trial and error, I've figured out how to set up a Raspberry Pi (in my case, I tested with a 2B and 3B+, this may not work on a Pi 4B). This involves using the i2c0 bus (which normally isn't recommended), but this is what I was able to get working as re-mapping would communicate with the RTC via i2c, but the overlay for the RTC wouldn't adjust its configuration when told to use i2c3 or higher.

Required hardware

  1. Power button (this should be a momentary switch type)
  2. Power LED (for me, this was actually built into the power button)
  3. 330K Ohm resistor (this is connected between the LED and the 3.3v header
  4. A Real Time Clock (RTC) Module (preferably, one with built-in pull up resistors)
  5. Jumper wires
@troyfontaine
troyfontaine / README.md
Created April 12, 2022 03:16
Rsync commands for TrueNAS

Rsync Commands for use with TrueNAS

Due to the way TrueNAS is built-duplicating files using Rsync requires some special flags to allow it to work

The below example command has been used and verified as working with TrueNAS Scale

rsync -avrh -A --no-perms <SOURCE> <DESTINATION>
@troyfontaine
troyfontaine / README.md
Created April 3, 2022 05:06
Migrating Unifi Controller from Cloudkey Gen 1 to Docker Container

How to Migrate a Unifi Controller from Cloudkey Gen 1 to Docker Container

Background: In an effort to streamline my local network and reduce the number of dedicated devices, I began an effort to move off of my Unifi Cloudkey Gen 1 to a Docker Container. While the migration should be straight forward-it is definitely not!

Before we begin, ensure that your existing Cloudkey is still connected to the network and operational. This is crucial to migrate the existing settings and to leverage the Unifi migration tooling for a site to save on having to wipe your configuration and rebuild everything from scratch.

  1. Launch your container (it is up to you to follow the documentation for the specific maintainer's flavour to ensure you avoid data loss!) Once you can access the set up screen (on TCP:8443) for the containerized controller, you can proceed to Step 2
  2. On your existing controller, Navigate to Settings -> Backup and download a settings only backup. This is CRITICAL because trying to import