Multi-User Samba/NFS Setup with ZFS Datasets on Proxmox

Production-tested guide for setting up a multi-service storage architecture using ZFS datasets, unprivileged LXC containers, ACLs, and Samba/NFS sharing on Proxmox. ...

November 28, 2025 · (updated June 5, 2026) · 8 min · 1599 words · Minh Nguyen

Migrating from Proxmox-hosted NAS to TrueNAS with Docker Apps

A practical migration guide from a Proxmox-hosted Synology NAS to TrueNAS SCALE with Docker Compose applications, including network topology planning and macvlan configuration. ...

October 22, 2025 · (updated June 5, 2026) · 6 min · 1269 words · Minh Nguyen

Secure SSH Access with Cloudflare Tunnel

Access your servers securely through Cloudflare’s Zero Trust network without exposing SSH ports or setting up VPNs. ...

August 17, 2024 · (updated June 5, 2026) · 4 min · 842 words · Minh Nguyen

Using shlex.split() for Subprocess Commands in Python

A quick tip for properly parsing shell-style command strings when using Python’s subprocess.run() with list arguments. ...

May 3, 2024 · (updated June 5, 2026) · 3 min · 506 words · Minh Nguyen

Running macOS in Docker (Headless with VNC)

A streamlined guide to running macOS in Docker using Docker-OSX, with headless VNC access for servers and remote setups. ...

February 14, 2024 · (updated June 5, 2026) · 5 min · 1006 words · Minh Nguyen

WEB-DL from Disney Plus (Educational Guide)

An educational guide on downloading WEB-DL quality streams from Disney Plus using L3 Widevine decryption. For personal backup and archival purposes only. ...

October 12, 2023 · (updated June 5, 2026) · 5 min · 908 words · Minh Nguyen

NoPayStation: PS Vita Game Preservation on Linux

A guide to using NoPayStation for PS Vita game preservation and backup, enabling legal owners to archive their digital purchases. ...

August 25, 2023 · (updated June 5, 2026) · 4 min · 832 words · Minh Nguyen

Lightweight JupyterHub on k3s for Small Research Labs

Deploy JupyterHub on a lightweight k3s Kubernetes cluster for small research labs and teams, without the overhead of full Kubernetes installations. ...

June 18, 2023 · (updated June 5, 2026) · 6 min · 1082 words · Minh Nguyen

JupyterHub on Baremetal Kubernetes - Part 1 - Setting up cluster

Introduction In this blog post, we will guide you through the process of setting up a baremetal Kubernetes cluster tailored specifically for the Neural Transmissions (NETS)1 lab, using NVIDIA DeepOps. JupyterHub, a multi-user server that manages and proxies multiple instances of the Jupyter notebook server, is a perfect fit for this research environment. It facilitates seamless collaboration and sharing of data science projects among researchers. Throughout this tutorial, we will walk you through the steps to set up a Kubernetes cluster on baremetal servers equipped with NVIDIA GPUs, and get it ready for the deployment of JupyterHub. ...

April 25, 2023 · (updated October 12, 2023) · 5 min · 945 words · Minh Nguyen

Setting up Arch - Part 5 - Bugs Fixes

OBS Studio flickering with Intel Graphics With some Intel graphics cards on XOrg (in my case, Tiger Lake Xe), OBS Studio will flicker with screen capture. sudo nano /etc/X11/xorg.conf.d/20-intel.conf Section "Device" Identifier "Intel Graphics" Driver "modesetting" EndSection Reboot or restart XOrg server to apply the fix. Delete Goodix Fingerprint Sensor saved fingerprint data If you installed Windows and enrolled fingerprints with Goodix Fingerprint Sensor, the saved fingerprint data will prevent new enrollments in Linux. ...

May 3, 2022 · 1 min · 152 words · Minh Nguyen

Guide for hacking PSVita on Linux

Follow instructions from https://guide.13375384.xyz/start or https://vita.hacks.guide/. Documents for compiling from sources for tools. Guide to mount TexFAT Note: Put device in airplane mode during the Content Manager connection process will make the steps much easier to do. DON’T MANUALLY SETTING YAMT, JUST USE YAMT SETUP USING VITADEPLOY (guide) FinalHE Check prerequisites (https://github.com/soarqin/finalhe) git clone https://github.com/soarqin/finalhe cd finalhe qmake && make Build artifacts in src/FinalHE. Copy VitaDeploy zip in the same folder as FinalHE binary ...

March 14, 2022 · (updated October 12, 2023) · 2 min · 250 words · Minh Nguyen

Setting up Arch - Part 4 - Tips and Tricks

fstab mount with user permssion Use KDE/GNOME partition manager to manage mount point and use mount options: uid=1000,gid=1001,umask=022 Or append to /etc/fstab: UUID=<disk_UUID> <mount_point> <format> uid=1000,gid=1001,umask=022,noatime 0 1 fstab mount NTFS with kernel NTFS3 driver from kernel 5.15 Use KDE/GNOME partition manager to manage mount point, this will use the default mount.ntfs -> ntfs-3g driver. We need to change the mount driver to mount.ntfs3 in /etc/fstab: UUID=<disk_UUID> <mount_point> ntfs3 discard,noatime 0 0

November 18, 2021 · (updated May 3, 2022) · 1 min · 72 words · Minh Nguyen

Setting up Arch - Part 3 - Post-Installation Setup

Install zsh4humans I don’t need anything more fancy than romkatv’s zsh4humans sh -c "$(curl -fsSL https://raw.githubusercontent.com/n0k0m3/Personal-Setup/main/Setting_up_Arch/setup.sh)" Install Nextcloud sudo pacman -S nextcloud-client Sync .dotfiles with Nextcloud + flameshot shortcut Setting up pacman and makepkg config sudo nano /etc/pacman.conf Set ParallelDownloads = 10: sudo nano /etc/makepkg.conf Set compile flags CFLAGS="-march=native -mtune=native ..." and MAKEFLAGS="-j12" for 12 being total number of available cores/threads: Comparing current installation with installed packages of previous dist python3 read_install.py <installed.log file> Update installed.log with current setup Download export_install_deps.py{: .btn .btn–info } ...

November 17, 2021 · (updated June 19, 2022) · 1 min · 90 words · Minh Nguyen

Setting up Arch - Part 2 - `systemd` hooks with FIDO2 unlock

By default Arch-based distros uses busybox init, which doesn’t support some features comfort from systemd. This guide will help you to setup systemd hooks, switch encryption to LUKS2 for systemd-cryptenroll, use U2F/FIDO2 key to unlock at boot, and Plymouth for boot splash screen. systemd hooks and Plymouth boot splash screen Follwing script will change busybox init to systemd hooks and setup plymouth with colorful_loop theme. Requirements: yay (default on EndeavourOS) ...

November 16, 2021 · (updated May 3, 2022) · 2 min · 309 words · Minh Nguyen

Setting up Arch - Part 1 - Swap on BTRFS

This is setup on EndeavourOS/Manjaro, on barebone Arch should be a little bit different (install yay before all of these steps) Arch setup Setting up Manjaro/EndeavourOS with Calamares installer using this partition Setup with SWAP file (turn on hibernation option): Partition Mount Point Filesystem Size Encryption Status EFI system partition /boot/efi FAT32 300-550 MB Unencrypted /boot partition /boot/efi ext4 200-500 MB Unencrypted root partition / btrfs/LUKS Rest of space Encrypted Note: mount EFI with boot flag and / with root flag. ...

November 15, 2021 · (updated January 16, 2023) · 1 min · 151 words · Minh Nguyen

Analysis of ProtonDB Linux Distribution

Data Preprocessing Notebook link Cumulative Results Note: On Dec 2nd 2019, ProtonDB contribute workflow changed to a questionnaire, subsequently changed the data structures. All data prior to this date are for reference only and should NOT be inferred. Raw user counts per distro Normalized distro market share on ProtonDB Normalized distro market share on ProtonDB (Merged distro base) Arch Linux and Arch-based distro is on the rise, while Debian-based (Ubuntu) distros are on the decline. ...

May 10, 2021 · (updated October 11, 2023) · 2 min · 263 words · Minh Nguyen

Tensorflow with GPU support in Docker

Following guide was tested on EndeavourOS and Manjaro (Arch-based) Linux distro. Why? Installing dependencies and setting up notebooks is usually a PITA: installing CUDA with CuDNN and TensorRT doesn’t have a common and easy to follow guide, along with recent (not recent) release of python 3.9, most ML/DL packages are not updated to this wheel. Also setting up venv is hard to maintain and migrate as you have to backup the whole environment to other machine. ...

May 2, 2021 · (updated October 12, 2023) · 4 min · 655 words · Minh Nguyen

VFIO Single GPU Passthrough Guide on Linux

Why single GPU passthrough? Because I’m poor, using Ryzen non-APU CPU, and I don’t want to buy a second GPU just for passthrough. I’m using a single GPU passthrough for gaming on Windows and using Linux as my daily driver. In this guide, we will be going over how to set up a single GPU passthrough on Linux. This guide is meant to be a reference for myself and others who want to learn how to set up a single GPU passthrough on Linux. I’m using Arch Linux as the host OS, but this guide should work on any Linux distro. ...

May 1, 2021 · (updated April 25, 2022) · 8 min · 1695 words · Minh Nguyen