Introduction
Summary
Proxmox
TrueNAS Core
Debian + CasaOS
Windows (10)
Home Assistant OS
Conclusion

Introduction

This is the companion guide to the Maker HQ video ‘My 2025 Do It All NAS’, providing a written set of instructions covering the process to recreate this Proxmox-based VM NAS/Media Centre.


Summary

The guide covers the installation of the Proxmox Hypervisor (PVE), TrueNAS Scale (TNS) as a Virtual Machine (VM), Debian as a VM with the CasaOS web-based Graphical User Interface (GUI) installed on top, Windows 10 and Home Assistant OS. You can pick and choose as you please what you wish to install, but note some aspects of the installation process may differ from these instructions if you do so. Once Proxmox is installed, these VMs can be created in any order.
Anywhere in this guide that text is in bold italics indicates that this a user configurable parameter which means that what you must enter may differ to what is listed in this guide. If you have deviated from this guide by changing parameters (e.g usernames & passwords) it may have flow-on effects that you will need to consider (and possibly correct) when completing your installation/setup steps. Anything in red italics is a command or action that needs to be completed with elevated/admin/root privileges.


Proxmox

Installation
After building your chosen computer, the first thing to do is to image the Proxmox ISO to a USB, CD or Ventoy drive. Ensure when booting the Proxmox installer you are doing so as a UEFI device, or this will have consequences later. Booting from this device should present the Proxmox installer GUI. Select ‘Install Proxmox VE (Graphical)’ to proceed with the graphical Proxmox installer.

Setup
After completing the installation, enter the presented URL in a locally-networked computer to access the web GUI. For me, this URL was 192.168.0.125:8006. Under Datacenter ► pve ► local (pve) ► ISO Images, we must upload each OS we want to create as a VM. If you just want to install TrueNAS, then just upload the latest TrueNAS ISO.

And to pre-empt the TrueNAS install, we need to install lshw from the Proxmox Shell:

apt install lshw


TrueNAS Core

VM Creation
To install TrueNAS we must create our first VM. Select ‘Create VM’ at the top right of the Proxmox web GUI. Select the TrueNAS ISO you uploaded and click Next. TrueNAS recommends at least the following hardware specs:

CPU Cores: 2 (1 socket, 2 cores)
Disk Space: 16GB (16)
Memory Size: 8GB (8192)

I recommend at least 64GB if you want to run any apps inside TrueNAS. Enter at least these minimum values, then complete the VM setup. If this is your first VM setup inside Proxmox, it should have the VM ID 100.

Installation
Once your VM is setup the installation process begins, much like any OS. Upon completion of the installation another URL should be presented such that you can access the TrueNAS web GUI. For me it was 192.168.0.136.

Setup
Now we can use the qm command to allocate your hard drives as scsi devices:

qm set 100 -scsiX /dev/disk/by-id/ata-yyy

In the above command, 100 is the ID of the VM, X is the device number you wish to add it as (should be 1 for the first hard drive, 2 for the second hard drive, etc) and yyy is the hard drive to be added, which should auto-complete after entering ‘ata-’ (using Tab). Once your drives are added to the pool, we can create the SMB share for network access to the drives. Under Credentials ► Local Users, add a new user with whatever permissions you desire. In my case it was taylor with full read-write to access the share from my networked PCs. Now we can go to Shares and create and start a Windows SMB Share. Click ‘Add’ and select the path where the dataset will exist. Then give the dataset a name. This is the folder that any users of the share will have access to. In my case I called it NAS. You must then add the necessary permissions to this share by adding your local user to the ACL.


Debian + CasaOS

VM Creation
To install CasaOS we must first install a Debian instance, again as a VM by clicking ‘Create VM’ at the top right of the Proxmox web GUI.

Installation
The Debian installation is quite protracted, but not much needs to be changed from defaults. After installing Debian we should check for updates by elevating the terminal session to admin privileges by entering su followed by the admin password. Then we can the following consecutively to check for and apply any updates:

apt-get update
apt-get dist-upgrade

Following this we need to install curl:

sudo apt install curl

Now we can install CasaOS:

curl -fsSL https://get.casaos.io | sudo bash

When this is complete CasaOS should be running and accessible at a URL presented in the terminal. For me this was 192.168.0.178.

Setup
To connect to the SMB we created earlier for this so that we/Debian/CasaOS can access it from this VM, we need to add a few things. First off, I’m creating a credentials file in /home/taylor called .key using nano:

nano .key

Input the following, then save with Ctrl+O:

username=taylor
password=taylor_password
domain=WORKGROUP

Next, to make the SMB share mount automatically we need to edit /etc/fstab as follows.

nano /etc/fstab/

Add this line, with any amendments as required for your specific setup, below anything else in the file:

//192.168.0.136/nas/ /mnt/share cifs credentials=/home/taylor/.key,uid=1000,gid=1000 0 0

192.168.0.136 is the IP address of the TrueNAS VM, nas is the share name created earlier and .key is the credentials file created previously. I recommend configuring TrueNAS to be the first VM to boot with a 90 second delay to allow time for the share to become active before Debian boots and attempts to connect. To implement this, under the TrueNAS VM Options menu in the Proxmox web GUI, for ‘Start/Shutdown order’ enter 1 in the ‘Start/Shutdown order’ field for it to be the first VM to start up, and 90 for ‘Startup delay’ to delay any other VMs from starting (for those that have auto-start enabled) by 90 seconds.


Windows (10)

VM Creation

Installation
Hopefully if you are completing this project you have familiarity with the installation of Windows. I’ve chosen Windows 10 as there’s less effort to get it installed, less bloat and less ties to cloud services.

Setup


Home Assistant OS

VM Creation
Creating the HAOS VM is a bit different to the others setup previously. We basically need to make an empty VM into which we will then expand the HAOS image. First off, create a VM as before, but on the OS tab, select ‘Do not use any media’. On the System tab, select the BIOS type as ‘OVMF (UEIF)’ and select EFI Storage as local-lvm. Remove any disks automatically added on the Disks tab. Proceed with creation using the following hardware requirements, at minimum: CPU Cores: 2 (1 socket, 2 cores) Memory Size: 2GB (2048)

Installation
After finishing the creation of this empty VM, perform the following in the Proxmox Shell:

wget https://github.com/home-assistant/operating-system/releases/download/14.2/haos_ova-14.2.qcow2.xz unxz haos_ova-14.2.qcow2.xz qm importdisk 102 haos_ova-14.2.qcow2.xz local-lvm

In the above command, 102 is the ID of the HAOS VM.

With this done, under the Hardware section of the HAOS VM, an Unused Disk 0 should be present. Click on this device and then click Add, then Add (again) in the window that appears. Finally, in the Options section of the HAOS VM, we need to correct the boot order. Select this option, then Edit and then disable all but scsi0. The HAOS VM can now be started, and the web GUI accessed at the displayed URL. For me this was 192.168.0.215:8123.


Conclusion

If you have followed this guide completely, you should now have a NAS with media serving-capabilities, the ability to run a Windows 10 VM when required, a web GUI for all your media apps and Home Assistant for home automation.