I will be using Proxmox Helper Scripts (https://tteck.github.io/Proxmox/ or https://Helper-Scripts.com) to help configure the different LXCs and VMs that I want.
Disable nag screen
As I was tired of having to confirm that I didn't have a subscription, I ripped these commands from Proxmox VE Tools -> Proxmox VE Post Install (https://raw.githubusercontent.com/tteck/Proxmox/main/misc/post-pve-install.sh) and ran on the Shell command line
- echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/.*data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
- apt --reinstall install proxmox-widget-toolkit
Setup Users
My philosophy was to put all actual users in the 1000s and system users in the 2000s
- user1
- useradd user1
- usermod -g users user1
- adduser user1 user1
- id user1
- user2
- useradd user2
- usermod -g users user2
- adduser user2 user2
- id user2
- mythtv
- groupadd -g 2001 mythtv
- useradd -u 2001 -g 2001 mythtv
- nginx
- groupadd -g 2002 nginx
- useradd -u 2002 -g 2002 nginx
- edit /etc/subuid and add
- root:1000:1000
- root:2000:1000
- edit /etc/subgid and add
- root:100:1
- root:1000:1000
- root:2000:1000
Import ZFS
- zpool import storage
- I decided not to map the drive in Proxmox, but if you wanted to you would do that here
- proxmox -> Datacenter -> Storage -> Add -> ZFS
Fix Directory/File Permissions
- /storage/mythtv
- cd /storage/mythtv
- ls -al
- find ./ -user <current owner> -print0 | xargs -0 chown -h mythtv
- find ./ -group <current group> -print0 | xargs -0 chgrp -h mythtv
- /storage/containers/mythtv
- cd /storage/containers/mythtv
- ls -al
- find ./ -user <current owner> -print0 | xargs -0 chown -h mythtv
- find ./ -group <current group> -print0 | xargs -0 chgrp -h mythtv
- /storage/containers/webserver
- cd /storage/containers
- chown -R nginx webserver
- chgrp -R nginx webserver
Create a Docker LXC
Now I needed a Docker LXC to run my webserver and MythTV
I have read that x264 sees reduced performance with over 6 threads, so I gave the VM 12 virtual cores since I want to be able to process 2 discs at a time.
- bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/ubuntu2404-vm.sh)"
- Edit Cloud-Init
- ubuntu -> Cloud-Init
- set user/pass
- set static IP
- Disable start at boot
- ubuntu -> Options -> Start at boot -> Edit
- uncheck and the hit OK
- Change resources
- 12 Cores
- 24 GB of memory (2 GB per core)
- added 16 GB of storage
- Console
- Enable ssh with password
- /etc/ssh/sshd_config.d/10_users.conf
- Match User username
- PasswordAuthentication yes
- sudo systemctl restart ssh
- VNC server
- sudo apt install tigervnc-standalone-server
- A window manager and terminal to use inside VNC
- sudo apt install xfce4 xfce4-terminal
- Keep proxmox console as text
- sudo systemctl set-default multi-user.target
- Start VNC
- tigervncserver :1 -geometry 1600x900 -depth 24 -localhost no -SecurityTypes VncAuth,TLSVnc -xstartup /usr/bin/startxfce4
- Add handbrake
- sudo apt install handbrake libdvd-pkg
- sudo dpkg-reconfigure libdvd-pkg
- Set timezone (Added 2024-0620)
- timedatectl list-timezones
- sudo timedatectl set-timezone America/New_York
- Setup samba shares
- sudo apt install cifs-utils
- create a file to save samba credentials in (eg smbcredentials)
- username=username
- password=password
- mount the shares
- sudo mount -t cifs //192.168.1.XX/nas /storage/encrypted/nas -o credentials=/home/<username>/smbcredentials,uid=<username>,gid=users
- Add qemu agent (added 2024-07-29)
- sudo apt install qemu-guest-agent
- sudo systemctl start qemu-guest-agent
Appendix
Error
Sources
- samba masks:
- samba follow links:
- id mapping:
- ssh:
- libdvdcss:
- revert ubuntu console from gui back to text mode inside proxmox
- timezone