Skip to content

Instantly share code, notes, and snippets.

View aadityabhatia's full-sized avatar

Sonny Bhatia aadityabhatia

View GitHub Profile
@aadityabhatia
aadityabhatia / docker-image-prune.service
Created March 24, 2024 17:58
systemd service and timer to prune outdated Docker images and limit disk usage
[Unit]
Description=Docker Image Prune
After=docker.socket
Requires=docker.socket
[Service]
Type=oneshot
ExecStart=docker image prune --all --force --filter "until=24h"
@aadityabhatia
aadityabhatia / squeue-monitor.py
Last active February 27, 2024 14:05
monitor squeue and send notification when node is allocated
import subprocess
import requests
import sys
from datetime import datetime
import time
import random
import signal
# arbitrarily chosen prime numbers
SLEEP_MIN = 127
@aadityabhatia
aadityabhatia / redis-watch.ts
Last active April 14, 2023 18:23
Watch Redis pub/sub channels
import Redis = require('redis')
import fs = require('node:fs')
const config = JSON.parse(fs.readFileSync('config.json', 'utf8'))
const redisConfig = config.redisConfig
const redisClient = Redis.createClient({
url: `rediss://${redisConfig.USERNAME}:${redisConfig.PASSWORD}@${redisConfig.HOST}:${redisConfig.PORT}`,
socket: {
tls: true,
servername: redisConfig.HOST,
@aadityabhatia
aadityabhatia / zfs-load-key.service
Last active January 5, 2023 00:24
ZFS Setup Notes
[Unit]
Description=ZFS Encryption Keys
DefaultDependencies=no
After=zfs-import.target
After=zfs-import-cache.service
After=systemd-modules-load.service
Before=zfs-mount.service
[Service]
Type=oneshot
@aadityabhatia
aadityabhatia / make-efi-bootable-drive.bash
Last active January 14, 2021 22:41
make EFI bootable drive
#!/bin/bash
set -e
test $UID -ne 0 && echo Must be root. && exit 2
test -z "$2" && printf "\nSyntax: $0 DRIVE EFI_FILE\n\n" && exit 2
DRIVE="$1"
EFI_FILE="$2"
# ensure DRIVE is block device
@aadityabhatia
aadityabhatia / robohash.bash
Created December 9, 2020 18:02
generate a unique gravatar robohash icon
#!/bin/bash
EMAIL=robo@example.com
md5=$(printf $EMAIL | md5sum | tr -cd '0-9a-f')
echo "https://www.gravatar.com/avatar/$md5?s=200&forcedefault=y&d=robohash"
@aadityabhatia
aadityabhatia / wipedisk.sh
Created August 8, 2020 21:22
wipe head and tail of a block device
#!/bin/bash
set -e
# wipe first and last 10MiB
SECTORS_WIPE=20480
# ensure $1 is block device
test -b $1
# get number of 512-byte sectors
@aadityabhatia
aadityabhatia / generate-letsencrypt-certificate.sh
Last active June 27, 2020 20:25
generate letsencrypt cert using docker
#!/bin/bash
set -e
HOST=$1
test "$UID" -ne "0" && echo "Must be root." >&2 && exit 2
test -z "$HOST" && echo -e "\n\tUSAGE: $0 HOST\n" >&2 && exit 2
echo HOST: $HOST
echo Generating SSL certificate...
docker run -it --rm --name certbot -v "$HOME/workspace/letsencrypt/etc:/etc/letsencrypt" -v "$HOME/workspace/letsencrypt/var:/var/lib/letsencrypt" certbot/dns-cloudflare certonly --agree-tos -d $HOST
@aadityabhatia
aadityabhatia / wireguard.sh
Created April 15, 2020 23:53
wireguard setup
wg genkey > wgkey
chmod 400 wgkey
wg pubkey < wgkey
sudo ip link add wg0 type wireguard
sudo ip addr add dev wg0 172.16.1.1/24
sudo wg set wg0 private-key wgkey
sudo ip link set wg0 up
sudo wg set wg0 listen-port PORT
sudo wg set wg0 peer PUBKEY allowed-ips 172.16.1.1/24
@aadityabhatia
aadityabhatia / preseed.service
Created March 25, 2019 02:25
systemd service: preseed server
[Unit]
Description=preseed file generator
Documentation=https://www.npmjs.com/package/preseed
Requires=network.target
After=network.target
AssertFileNotEmpty=/etc/preseed/config.json
[Service]
User=daemon