Computing/NAS/Software: Difference between revisions

From Cricalix.Net
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
=== Proxmox ===
== Hardware ==
Defaults to port 8006. Given I access it from multiple machines, defaulting to 443 would be nice.
Core is a https://nascompares.com/review/cwwk-q670-8-bay-gen5-nas-vpro-mobo-review/ ([https://web.archive.org/web/20250624104920/https://nascompares.com/review/cwwk-q670-8-bay-gen5-nas-vpro-mobo-review/ archive] link); twin 2.5G network ports, a lot of SATA ports, and lots of compromises.


<code>iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8006</code>
== Network ==
Used https://mkdocs-4960c2.gitlab.io/lab/incus/incus_network_issues_walkthrough/ ([https://web.archive.org/web/20260402165455/https://mkdocs-4960c2.gitlab.io/lab/incus/incus_network_issues_walkthrough/ archive] link; apparently AI generated, but functional enough) as a guide to reconfiguring the Fedora OS that's running the NAS so that br0 is the primary interface for Incus to use directly. This enables host-container communication - macvlan doesn't allow this, and the default Incus bridge uses NAT (and I don't want to deal with port forwards)


Then use iptables-persistent to make that apply every time.
=== Host ===
The host uses enp7s0 for connectivity<syntaxhighlight lang="ini">
[connection]
id=enp7s0
uuid=4d354481-a088-3449-8d28-35b96ac1a3d4
type=ethernet
autoconnect-priority=-999
interface-name=enp7s0
timestamp=1775146834


=== Unraid VM ===
[ethernet]
Unraid needs a USB stick to boot from. Legacy advice on the Internet is that Proxmox won't boot a VM from a USB stick, but that's wrong with at least Proxmox V8. Config for VM


* q35 machine
[ipv4]
* UEFI/OVMF
address1=192.168.0.181/24
* '''No''' EFI disk
dns=192.168.0.1;
* Some GB of RAM
gateway=192.168.0.1
* Host CPU cores, 2 of them (the VM is tied to the USB stick anyway, so may as well tie it to the host cores)
method=manual
* PCI passthrough - SATA controller


SATA controller was assigned to a resource mapping at the Datacenter level in the Proxmox UI tree, then made available for the PCI passthrough. Two USB sticks were also configured in resource mappings; one for the boot stick, and the other for temporary use in the Unraid array. Integrated graphics also isolated for passthrough to the Media Host.
[ipv6]
addr-gen-mode=default
method=auto


=== Media host VM ===
[proxy]
Tried q35 with PCI passthrough of the IGP
</syntaxhighlight>


Hit https://bugzilla.proxmox.com/show_bug.cgi?id=2381
=== Host Bridge ===
The bridge is configured with br0 having a static IP, and a slave interface is set up for enp8s0 so that the bridge sits on physical network port.<syntaxhighlight lang="ini">
[connection]
id=br0
type=bridge
interface-name=br0


Revert to 440 with PCI passthrough. Had to reinstall for some reason, and switch to SeaBIOS.
[bridge]
forward-delay=0
stp=false


==== Media host Sonarr ====
[ipv4]
<code>podman run --name=sonarr --detach -e PUID=$(id -u media) -e PGUID=$(id -g media) -e TZ=Europe/Dublin -p 8989:8989 -v /services/sonarr:/config -v /vault/video/TV\ Shows:/media --restart always lscr.io/linuxserver/sonarr:latest</code>
address1=192.168.0.2/24
dns=192.168.0.1;
gateway=192.168.0.1
method=manual


Needs host NFS mounted. Avoids trying to do privileged LXCs on Proxmox and working out how to maintain a copy of the configs outside of the container.
[ipv6]
addr-gen-mode=default
method=auto
</syntaxhighlight><syntaxhighlight lang="ini">
[connection]
id=br0-slave
type=ethernet
controller=br0
interface-name=enp8s0
port-type=bridge
 
[ethernet]
 
[bridge-port]
 
</syntaxhighlight>
 
=== Incus Bridge ===
Incus's default bridge was removed when setting up the new configuration (older install where the default bridge had been accepted. A custom physical interface was added, based on the <code>br0</code> bridge. Profiles were then changed to use the new <code>ibr0</code>.
incus network create ibr0 --type=physical parent=br0
 
== VMs and Containers ==
 
=== Unraid VM (deprecated / removed) ===
Unraid needs a USB stick to boot from, as it uses the serial number of the stick as a license key. Ended up with plopkexec in the boot path for the qemu-backed VM (pc-q35)<syntaxhighlight lang="yaml">
devices:
  iso-volume:
    boot.priority: '10'
    pool: machines
    source: plopkexec64.iso
    type: disk
  bootdrive:
    required: 'true'
    serial: 20CF302E2382F150663CA637
    type: usb
  sata:
    address: '00:17.0'
    type: pci
</syntaxhighlight>Whole SATA controller is passed through, removing the devices from the view of the host OS.
 
2026-07: Unraid went out of maintenance contract, and I wasn't using the featureset. Migrated to Snapraid + Mergerfs. NFS exports from the homelab box, SMB exports from an incus system container (not an application container) that has the mergerfs volume bind mounted.
 
=== HomeAssistant (deprecated / removed) ===
Default HAOS setup, but with two USB devices passed through from the host for Zigbee and Matter support.<syntaxhighlight lang="yaml">
devices:
  matter-antenna:
    productid: 831a
    type: usb
    vendorid: 303a
  zigbee:
    productid: 55d4
    type: usb
    vendorid: 1a86
</syntaxhighlight>The Incus web UI can do very silly things when adding USB devices; doing it via the YAML editor is safer. Silly being defined as not allowing settings for the passed-through device, and 'usb' seemed to grab everything including the pass through for the Unraid VM (making Unraid unhappy).
 
2026-06: HA was moved to a Pi5 instead, so that I can fiddle with the homelab and not break HA at inopportune times.

Latest revision as of 07:48, 19 August 2026

Hardware

Core is a https://nascompares.com/review/cwwk-q670-8-bay-gen5-nas-vpro-mobo-review/ (archive link); twin 2.5G network ports, a lot of SATA ports, and lots of compromises.

Network

Used https://mkdocs-4960c2.gitlab.io/lab/incus/incus_network_issues_walkthrough/ (archive link; apparently AI generated, but functional enough) as a guide to reconfiguring the Fedora OS that's running the NAS so that br0 is the primary interface for Incus to use directly. This enables host-container communication - macvlan doesn't allow this, and the default Incus bridge uses NAT (and I don't want to deal with port forwards)

Host

The host uses enp7s0 for connectivity

[connection]
id=enp7s0
uuid=4d354481-a088-3449-8d28-35b96ac1a3d4
type=ethernet
autoconnect-priority=-999
interface-name=enp7s0
timestamp=1775146834

[ethernet]

[ipv4]
address1=192.168.0.181/24
dns=192.168.0.1;
gateway=192.168.0.1
method=manual

[ipv6]
addr-gen-mode=default
method=auto

[proxy]

Host Bridge

The bridge is configured with br0 having a static IP, and a slave interface is set up for enp8s0 so that the bridge sits on physical network port.

[connection]
id=br0
type=bridge
interface-name=br0

[bridge]
forward-delay=0
stp=false

[ipv4]
address1=192.168.0.2/24
dns=192.168.0.1;
gateway=192.168.0.1
method=manual

[ipv6]
addr-gen-mode=default
method=auto
[connection]
id=br0-slave
type=ethernet
controller=br0
interface-name=enp8s0
port-type=bridge

[ethernet]

[bridge-port]

Incus Bridge

Incus's default bridge was removed when setting up the new configuration (older install where the default bridge had been accepted. A custom physical interface was added, based on the br0 bridge. Profiles were then changed to use the new ibr0.

incus network create ibr0 --type=physical parent=br0

VMs and Containers

Unraid VM (deprecated / removed)

Unraid needs a USB stick to boot from, as it uses the serial number of the stick as a license key. Ended up with plopkexec in the boot path for the qemu-backed VM (pc-q35)

devices:
  iso-volume:
    boot.priority: '10'
    pool: machines
    source: plopkexec64.iso
    type: disk
  bootdrive:
    required: 'true'
    serial: 20CF302E2382F150663CA637
    type: usb
  sata:
    address: '00:17.0'
    type: pci

Whole SATA controller is passed through, removing the devices from the view of the host OS.

2026-07: Unraid went out of maintenance contract, and I wasn't using the featureset. Migrated to Snapraid + Mergerfs. NFS exports from the homelab box, SMB exports from an incus system container (not an application container) that has the mergerfs volume bind mounted.

HomeAssistant (deprecated / removed)

Default HAOS setup, but with two USB devices passed through from the host for Zigbee and Matter support.

devices:
  matter-antenna:
    productid: 831a
    type: usb
    vendorid: 303a
  zigbee:
    productid: 55d4
    type: usb
    vendorid: 1a86

The Incus web UI can do very silly things when adding USB devices; doing it via the YAML editor is safer. Silly being defined as not allowing settings for the passed-through device, and 'usb' seemed to grab everything including the pass through for the Unraid VM (making Unraid unhappy).

2026-06: HA was moved to a Pi5 instead, so that I can fiddle with the homelab and not break HA at inopportune times.