Skip to content

Servers & Self-Hosting

Home servers, NAS shares, Docker, remote access, virtual machines and camera/NVR setups.

Oddbyte walkthroughs

Home Server Basics

View section →

Guide for pihole+unbound on docker (single docker-compose.yml) — by heis2201, rdwebdesign and Bucking_Horn on Pi-hole Community

intermediateforum

A poster shares his single compose file running Pi-hole and Unbound as two containers on one bridge network, with Pi-hole's upstream pointed at Unbound and the listening mode set to all. Replies note there is no official Unbound image, that container names can replace fixed IPs, and that the web password can be set through an environment variable. Check it against current Pi-hole v6 settings.

Proxmox Media setup help — by BadCo_NZ, Dratatoo and others on Level1Techs Forums

intermediateforum

A home-server design thread about where to keep media for Plex/Jellyfin on Proxmox. Responders suggest mirroring the NVMe with ZFS, running Docker apps in a VM (or apps in LXCs), sharing storage to them by NFS or virtio-fs, a separate VM or container for SMB, and putting any VPN on a pfSense or OPNsense gateway. Opinions differ, so treat it as discussion rather than a single recipe.

NAS & Network Shares

View section →

Detect, enable, and disable SMBv1, SMBv2, and SMBv3 in Windows — by Microsoft Learn

intermediatepage

Microsoft's reference for checking and changing SMB protocol versions on clients and servers. It says SMBv1 has serious security flaws and is not installed by default in Windows 11 or Server 2019 and later, so old NAS boxes should be updated rather than re-enabling it. It also warns that SMB signing is required by default on Windows 11 24H2 and Server 2025, which can block connections to some third-party servers.

Setting up Samba as a Standalone Server — by SambaWiki

intermediatepage

SambaWiki guide to running Samba on a Linux box that is not in a domain, with one guest share and one password-protected share. It covers creating smb.conf, Samba users, groups, share permissions with setgid, validating with testparm and testing with smbclient. Guest shares are flagged as a security risk, and recent Windows clients may refuse guest access over SMB2/3.

Unable to connect to SMB1 NAS drives with NET USE after KB5065429/KB5065426 updates — by IGYQ on Microsoft Q&A

intermediateforum

A thread about a legacy NAS that stopped mapping after the September 2025 Windows cumulative updates. The answer explains the client now rejects SMB1 negotiation, offers re-enabling the SMB1 client as a not-recommended workaround, and advises updating the NAS firmware to SMB2/3. A second reply says Microsoft has begun blocking even manual re-enabling, and the original poster's NAS had no newer firmware, so replacing it may be the only fix.

Docker & Containers

View section →

Volumes — by Docker Docs

intermediatepage

Docs on persisting container data with volumes, which Docker calls the preferred mechanism, versus bind mounts that tie you to the host's folder layout. Mentions read-only mounts, subdirectory mounts, volume drivers for NFS/CIFS, and the gotcha that mounting over a non-empty directory hides its existing files. Volumes are not removed automatically when a container is deleted.

Packet filtering and firewalls — by Docker Docs

advancedpage

Explains how Docker's iptables rules interact with host firewalls. Published ports are handled in the nat table before ufw's chains see the traffic, so a port you publish can be reachable even if ufw seems to block it. The page advises against editing Docker's rules or turning off its iptables management. Treat any published port as exposed to your network.

Remote Access (SSH, RDP, VPN)

View section →

Tailscale quickstart — by Tailscale

beginnerpage

Shows how to create a private tailnet by installing the Tailscale client on two devices and signing in with the same identity account, then points to follow-ups like MagicDNS, exit nodes, subnet routers and access policies. A VPN-style overlay like this is a safer way to reach home services than opening ports on your router.

Subnet routers — by Tailscale

intermediatepage

Explains how one Tailscale device can advertise a whole LAN so you can reach printers, cameras or a NAS that cannot run the client. You need IP forwarding on the router device, approval of the routes in the admin console, and access rules that permit the traffic. Approving a route does not grant access by itself.

Virtual Machines

View section →

2025: Proxmox PCIe / GPU Passthrough with NVIDIA — by hoardarous on Proxmox Forum

advancedforum

A step-by-step NVIDIA passthrough write-up on Proxmox VE 8.4.9 using Intel VT-d: update BIOS, enable IOMMU in GRUB, create a q35/OVMF VM, blacklist nouveau and nvidia on the host, bind the GPU to vfio and add a hostpci line to the VM. Comments add that vfio_virqfd can be omitted on current releases and that Secure Boot can interfere with guest driver installs.

FabU: Restore a file from a vzdump/vma backup on the CLI — by UdoB on Proxmox Forum

advancedforum

A tutorial for pulling single files out of a Proxmox VM backup without restoring the whole VM: decompress the .vma.zst, extract the VMA to a raw image, map its partitions with kpartx, mount one and copy files out. The author skipped installing the vma tool on a non-Proxmox machine because its pve-qemu-kvm package has too many dependencies, so run that step on a PVE host.

Media & Camera Servers

View section →

Jellyfin: Container install — by Jellyfin documentation

intermediatepage

How to run Jellyfin in Docker with persistent config and cache folders, media bind mounts (optionally read-only), ports 8096/TCP and 7359/UDP, and a restart policy. Host networking is only needed for DLNA. Containers are only supported on Linux hosts; Windows and macOS users are told to install natively.

SOLVED: Intel QuickSync on Docker? — by TheDreadPirate and homelabResearcher on Jellyfin Forum

intermediateforum

On an Intel N100, VA-API worked in the Jellyfin container but Quick Sync did not. The fix (from moderator TheDreadPirate, confirmed by the poster) was to find the host's render group ID and add it under group_add in the compose file, with the /dev/dri device mappings left in place; another reply advised against chmod on the devices because it resets on reboot.

Community Answers (Stack Exchange)

View section →

Video Walkthroughs

View section →