- Create your LXC (Host: PVE 8.3, LXC: Debian 12). For hardware I went with 4 cores, 8GB RAM, 32GB storage.
- In LXC: Create non-root user:
adduser foo
- Add to sudo:
usermod -aG sudo foo
- Set up SSH (see Arch wiki)
- Install Docker: https://docs.docker.com/engine/install/debian/
- Setup non-root Docker management: https://docs.docker.com/engine/install/linux-postinstall/
- Follow step 2 here. [Archive Link]
Note: Probably don't need to add group 44 (video) as Jellyfin (or more accurately, ffmpeg) uses the render group only (104).
This script allows you to analyse the ViewingActivity.csv
file included in your Netflix data and outputs a list of shows watched by a particular profile ordered by frequency (i.e. number of times viewed and number of episodes viewed).
You will first need to request your Netflix data, download it and extract the zip file. You can do this by going to Account -> Security -> Personal information access
You will also need to install xsv or a similar tool.
Adjust the grep and awk expressions as appropriate. The grep expression will exclude lines where those strings are found (e.g. exclude teasers/trailers). The awk expression is necessary for specifying a cutoff for the show title to allow grouping of shows, e.g. Stranger Things: Stranger Things 2: Chapter One: MADMAX (Episode 1)
will be transformed to Stranger Things
to allow accurate counting of each shows views.
- Under the VM's
Hardware
tab, changeBIOS
fromDefault (SeaBIOS)
toOVMF (UEFI)
in the Proxmox web UI - Click
Add
at the top and selectEFI Disk
. Select a location and click OK. - Boot the VM using Boot Repair Disk. Alternatively, boot any live CD and install the Boot Repair tool. Instructions for Ubuntu here: https://help.ubuntu.com/community/Boot-Repair
- Use Gparted or your favourite partitioning tool to create an EFI partition. Note: You may need to resize your disk and adjust your partition layout.
- Run the Boot Repair tool and choose the recommended option. Follow the instructions
NB: This works on a disk partitioned using MBR.
sudo mount -t cifs -o "uid=$local_user,username=$smb_user,addr=$host" //$host/$share $mount_path
For errors:
mount: $mount_path: cannot mount //$host/$share read-only
mount: $mount_path: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount. helper program.
$wslAddress = wsl ip -4 a show eth0 | wsl grep -Po 'inet \K[0-9.]*' | |
# This assumes you only have one interface containing 'WSL' in its name | |
$ifId = (Get-NetIPInterface -InterfaceAlias "*WSL*" -AddressFamily IPv4).ifIndex | |
route add -p $wslAddress mask 255.255.255.255 $wslAddress metric 256 if $ifId |
$repo = $args[0]; | |
$outdir = $args[1] | |
$release = (curl -s https://api.github.com/repos/scito/extract_otp_secrets/releases/latest | ConvertFrom-Json).assets | where { $_.name -like "*.msi" -or $_.name -like "*.exe" } | |
# TODO: check there's only one item | |
$outFile = "$outdir\$($release.name)"; | |
curl -L $release.browser_download_url --output $outFile; | |
& $outFile |
# Use Get-PnpDevice with no parameters to get the name of the device | |
Get-PnpDevice -FriendlyName "AMD Radeon RX 6700" | Disable-PnpDevice -Confirm:$false ; Sleep -Seconds 5; Get-PnpDevice -FriendlyName "AMD Radeon RX 6700" | Enable-PnpDevice -Confirm:$false |
Register-WmiEvent -Query "SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'win32_PNPEntity' AND TargetInstance.DeviceID like 'USB\\VID_045B&PID_0209%'" -SourceIdentifier KVMConnected -Action { lgtv --name MyTV --ssl setInput HDMI_4 } | |
Register-WmiEvent -Query "SELECT * FROM __InstanceDeletionEvent WITHIN 1 WHERE TargetInstance ISA 'win32_PNPEntity' AND TargetInstance.DeviceID like 'USB\\VID_045B&PID_0209%'" -SourceIdentifier KVMDisonnected -Action { lgtv --name MyTV --ssl setInput HDMI_3 } |