<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.deathbybandaid.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Deathbybandaid</id>
	<title>Deathbybandaid Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.deathbybandaid.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Deathbybandaid"/>
	<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php/Special:Contributions/Deathbybandaid"/>
	<updated>2026-07-05T17:03:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox-VE&amp;diff=104</id>
		<title>Proxmox-VE</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox-VE&amp;diff=104"/>
		<updated>2023-04-28T10:49:53Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Too many open files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Terminology=&lt;br /&gt;
&#039;Node&#039; is a computer running proxmox.&lt;br /&gt;
&lt;br /&gt;
&#039;Cluster&#039; is  a group of proxmox nodes, that can being used together for easy migration or high availability.&lt;br /&gt;
&lt;br /&gt;
&#039;Container&#039; is a guest operating system that shares the kernel with the proxmox host, can give a performance boost compared to a normal Virtual OS.&lt;br /&gt;
=VM/LXC Specifics=&lt;br /&gt;
*[[Proxmox VM]]&lt;br /&gt;
*[[Proxmox LXC]]&lt;br /&gt;
=Installation=&lt;br /&gt;
Download the [https://www.proxmox.com/en/downloads ISO] and install on bare metal. Alternatively, you can [https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Buster install on top of an existing Debian]&lt;br /&gt;
==Extra Notes==&lt;br /&gt;
If ZFS is the storage system of choice, it helps to install on SSD for OS, and set up a ZFS pool manually later.&lt;br /&gt;
==Advice on Container/VM Numbering==&lt;br /&gt;
Create a VLAN for your containers, and allow the container number to reflect the IP address assigned to it. This will save you a great deal of headache.&lt;br /&gt;
&lt;br /&gt;
Example, say Plex, sonarr, radarr, lidarr, sabnzbd, etc are all on VLAN 12, and Plex&#039;s IP is 10.0.12.90 you can number the plex container 12090 to reflect VLANID+IP&lt;br /&gt;
==Enable Non-Subscription Updates==&lt;br /&gt;
Complete the following steps to your source lists to get updates.&lt;br /&gt;
===Enable No Subscription Repo===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list.d/pve-nosub.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;deb http://download.proxmox.com/debian bullseye pve-no-subscription&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list.d/pve-enterprise.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Comment out Enterprise Repo===&lt;br /&gt;
add a # symbol in front) of this line:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Install any and all available updates===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Non-production Bleeding Edge==&lt;br /&gt;
===PVE Testing Repo===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list.d/pve-testing.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;deb http://download.proxmox.com/debian/pve bullseye pvetest&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Debian Sid===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 deb http://deb.debian.org/debian sid main non-free contrib&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ sid main contrib non-free&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Install any and all available updates===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Fix Proxmox Web Interface===&lt;br /&gt;
If you see:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;unable to parse codename from &#039;/etc/os-release&#039; (500)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Then Modify the following file and add this line:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/os-release&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;VERSION_CODENAME=bullseye&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Disable subscription nag after login==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget https://git.deathbybandaid.net/attachments/3d08b1b4-b896-497b-893b-c9c0dbb830ca&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;dpkg -i pve-fake-subscription_*.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;127.0.0.1 shop.maurer-it.com&amp;quot; |  tee -a /etc/hosts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pve-fake-subscription&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Update Template Listing==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pveam update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Download Virtio iso==&lt;br /&gt;
[https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso ISO file]&lt;br /&gt;
==Headless Laptop==&lt;br /&gt;
If you want a laptop node, you may want to disable the lid closing action, or your node will go into standby.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/systemd/logind.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Change the lines below.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;HandleLidSwitch=ignore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;HandleLidSwitchDocked=ignore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
restart the logind service.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart systemd-logind.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Change Network Settings without reboot==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install ifupdown2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Add an L2 virtual switch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install openvswitch-switch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Add libraries for virgl==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install libgl1 libegl1 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Create sudo user==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;adduser sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;usermod -aG sudo sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Install a desktop environment (optional)==&lt;br /&gt;
This takes a few minutes... Make sure you have a non-root user!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install tasksel&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;tasksel install desktop kde-desktop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl set-default graphical.target&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Dark Theme (Optional)==&lt;br /&gt;
[https://github.com/Weilbyte/PVEDiscordDark PVEDiscordDark]&lt;br /&gt;
&lt;br /&gt;
==Two Node Cluster==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/pve/corosync.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
look for the `quorum` section and add&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  two_node: 1&lt;br /&gt;
  wait_for_all: 0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=manual add of cifs share=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvesm add cifs DrivePoolold --server 192.168.1.101 --share DrivePool --username Administrator --password ********* --smbversion 2.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clustering=&lt;br /&gt;
==Create a cluster==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm create YOUR-CLUSTER-NAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Add a node to a cluster==&lt;br /&gt;
From the node you want to add. (new nodes must be empty)&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm add IP-ADDRESS-CLUSTER&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove a node from a cluster==&lt;br /&gt;
Remove all containers from the node, and login to a node that you are keeping.&lt;br /&gt;
&lt;br /&gt;
it does not hurt to run these commands on all remaining nodes&lt;br /&gt;
&lt;br /&gt;
Delete the node&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm delnode hp4 NODE_NAME_TO_DELETE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Delete node configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd /etc/pve/nodes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rm -r NODE_NAME_TO_DELETE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
This step is purely to help with if you want to readd a new node with the same IP address as one you&#039;ve removed&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/ssh/ssh_known_hosts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And remove ip, and node name lines&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm updatecerts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -R 192.168.1.103&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -f &amp;quot;/etc/ssh/ssh_known_hosts&amp;quot; -R &amp;quot;192.168.1.103&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -f &amp;quot;/etc/ssh/ssh_known_hosts&amp;quot; -R &amp;quot;NODE_NAME_TO_DELETE&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
This step is when the replacement node is running:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh -o &#039;HostKeyAlias=pve5&#039; root@10.0.4.5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Set Node to not wait for cluster votes==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pvecm expected 1&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=ZFS Tricks and Tips=&lt;br /&gt;
==Proxmox Default ZFS setup==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool create -f -o ashift=12 rpool /dev/sda /dev/sdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zfs create rpool/data&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Directory mounted on ZFS==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zfs create rpool/downloads -o mountpoint=/downloads&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===backups directory in ZFS===&lt;br /&gt;
Create Directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zfs create tank/bkup  -o mountpoint=/bkup&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add to storage.cfg&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/pve/storage.cfg&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 dir: bkup&lt;br /&gt;
         path /bkup&lt;br /&gt;
         content vztmpl,iso,backup&lt;br /&gt;
         maxfiles 4&lt;br /&gt;
         shared 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Add ZFS swap space==&lt;br /&gt;
This will add 8GB of swap space for ZFS to use.&lt;br /&gt;
===Verify Current===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@Proxmox1:~# swapon -s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Filename                                Type            Size    Used    Priority&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zd0                                partition       8388604 4036884 -2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Add and activate===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@Proxmox1:~# zfs create -V 8G rpool/swap2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkswap /dev/zvol/rpool/swap2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;swapon /dev/zvol/rpool/swap2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Verify New===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@Proxmox1:~# swapon -s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Filename                                Type            Size    Used    Priority&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zd0                                partition       8388604 4036884 -2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zd96                               partition       8388604 0       -3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Make Load at boot===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/fstab&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zvol/rpool/swap2 none swap sw 0 0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Rename a pool===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool export [poolname]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
As an example, for a pool named tank which we wish to rename notankshere:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool export tank&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Then run:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool import [poolname] [newpoolname]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
e.g.:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool import tank notankshere&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The pool will be imported as “notankshere” instead.&lt;br /&gt;
=Find and remove unused container disks=&lt;br /&gt;
Find:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct rescan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Look for lines that say &amp;quot;add unreferenced volume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To remove, use the webui&lt;br /&gt;
=Troubleshooting and Error Handling Tips=&lt;br /&gt;
==Too many open files, OOM Killer, Out Of Memory==&lt;br /&gt;
If you start receiving errors regarding &amp;quot;too many open files&amp;quot;, try applying these fixes.&lt;br /&gt;
&lt;br /&gt;
These errors increase when you start running large numbers of containers.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/security/limits.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add to the bottom of the file:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 *	soft	nofile	1048576&lt;br /&gt;
 *	hard	nofile	1048576&lt;br /&gt;
 root	soft	nofile	1048576&lt;br /&gt;
 root	hard	nofile	1048576&lt;br /&gt;
 *	soft	memlock	unlimited&lt;br /&gt;
 *	hard	memlock	unlimited&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /proc/sys/fs/inotify/max_user_watches&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the contents of the file:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;1048576&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /usr/lib/sysctl.d/override.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add to the bottom of the file:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 fs.inotify.max_queued_events=1048576&lt;br /&gt;
 fs.inotify.max_user_instances=1048576&lt;br /&gt;
 fs.inotify.max_user_watches=1048576&lt;br /&gt;
 vm.max_map_count=262144&lt;br /&gt;
 kernel.dmesg_restrict=1&lt;br /&gt;
 net.core.rmem_max = 16777216&lt;br /&gt;
 fs.file-max = 1048576&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Apply the New Settings:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sysctl -p&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sysctl --system&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==increase ulimit or decrease threads==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.prlimit.nofile = 20000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Container Names missing in left pane==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 service pvedaemon restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 service pvestatd restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 service pveproxy restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Backup Fails because ZFS Snapshot is already there==&lt;br /&gt;
I got an error on backup that said:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 INFO: starting new backup job: vzdump 190 --remove 0 --compress lzo --node Proxmox1 --storage DBB-Proxmox --mode snapshot&lt;br /&gt;
 INFO: filesystem type on dumpdir is &#039;cifs&#039; -using /var/tmp/vzdumptmp29423 for temporary files&lt;br /&gt;
 INFO: Starting Backup of VM 190 (lxc)&lt;br /&gt;
 INFO: status = running&lt;br /&gt;
 INFO: CT Name: sonarr.dbb.local&lt;br /&gt;
 INFO: excluding bind mount point mp0 (&#039;/Drivepool&#039;) from backup&lt;br /&gt;
 INFO: excluding bind mount point mp1 (&#039;/Downloads&#039;) from backup&lt;br /&gt;
 INFO: backup mode: snapshot&lt;br /&gt;
 INFO: ionice priority: 7&lt;br /&gt;
 INFO: create storage snapshot &#039;vzdump&#039;&lt;br /&gt;
 snapshot create failed: starting cleanup&lt;br /&gt;
 no lock found trying to remove &#039;backup&#039;  lock&lt;br /&gt;
 ERROR: Backup of VM 190 failed - zfs error: cannot create snapshot &#039;rpool/data/subvol-190-disk-1@vzdump&#039;: dataset already exists&lt;br /&gt;
 INFO: Backup job finished with errors&lt;br /&gt;
 TASK ERROR: job errors&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The solution was to run:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@Proxmox1:~# zfs list -t snapshot&lt;br /&gt;
 NAME                                  USED  AVAIL  REFER  MOUNTPOINT&lt;br /&gt;
 rpool/data/subvol-190-disk-1@vzdump  86.5M      -  2.13G  -&lt;br /&gt;
 root@Proxmox1:~# zfs destroy rpool/data/subvol-190-disk-1@vzdump&lt;br /&gt;
 root@Proxmox1:~# zfs list -t snapshot&lt;br /&gt;
 no datasets available&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Found stale copy during migration==&lt;br /&gt;
I got this message&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 ERROR: found stale volume copy &#039;local-zfs:subvol-2032-disk-0&#039; on node &#039;Proxmox-HP&#039;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Solution (on host you are migrating TO):&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 qm rescan --vmid 2032&lt;br /&gt;
 &lt;br /&gt;
 OR for LXC&lt;br /&gt;
 &lt;br /&gt;
 pct rescan --vmid 2032&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 zfs list -rt all rpool&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 zfs destroy rpool/data/subvol-2032-disk-0&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=103</id>
		<title>Proxmox LXC</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=103"/>
		<updated>2023-04-20T17:03:25Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* GPU Passthrough */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Proxmox-VE Main Page==&lt;br /&gt;
[[Proxmox-VE]]&lt;br /&gt;
=Mounts=&lt;br /&gt;
==Mounting a directory available to the host machine==&lt;br /&gt;
In this example, Drivepool is a cifs share on another machine. The container we are adding this to is 230. The first location is on the host machine, and the second is where you want it located in the container.&lt;br /&gt;
&lt;br /&gt;
The container should be shutdown/stopped before running this command.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct set 230 -mp0 /mnt/pve/Drivepool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
OR add to the config file located in&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/etc/pve/lxc/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
If your shared directory is present on all nodes add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mounting a CIFS share in a container==&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable CIFS and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DrivePool -fstype=cifs,vers=3.0,rw,relatime,sec=ntlmssp,cache=strict,credentials=/etc/autofs/DrivePool.creds,uid=1001,forceuid,gid=111,forcegid,file_mode=0777,dir_mode=0777,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1 ://IPADDRESS/DrivePool&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.creds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 domain=YOURDOMAIN&lt;br /&gt;
 username=YOURUSERNAME&lt;br /&gt;
 password=YOURPASSWORD&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install AutoFS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y cifs-utils autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add Our Configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 /FS1 /etc/autofs/DrivePool.conf --ghost --timeout 0 --verbose&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mount directories from other containers==&lt;br /&gt;
===Method 1 AutoFS + sshfs===&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/plex1.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bar -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#sysop@10.0.12.90:/your/remote/path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Now we setup passwordless auth to the other container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -t rsa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-copy-id -i .ssh/id_rsa.pub sysop@10.0.12.90&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
It will prompt you for the password.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll create the mount directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /mnt/sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And add our configuration to autofs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/mnt/sshfs --timeout=30,--ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Method 2 just sshfs===&lt;br /&gt;
Mount directories from other containers&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;yourpass&amp;quot; | sshfs youruser@10.0.15.31:/path/on/remote /mnt/pathyouwant -o password_stdin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;@reboot /bin/bash /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Passthrough Physical Disk to Container==&lt;br /&gt;
[https://forum.proxmox.com/threads/container-with-physical-disk.42280/#post-203292 Passthrough Physical Disk to Container]&lt;br /&gt;
=Device Passthrough=&lt;br /&gt;
==GPU Passthrough==&lt;br /&gt;
Install pve-headers, before and after you do any driver installs on host a below&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install pve-headers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y pve-headers-$(uname -r)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===NOTES===&lt;br /&gt;
This seems to need to be done sometimes after running updates on the host and rebooting.&lt;br /&gt;
===Nvidia===&lt;br /&gt;
====On Host====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y build-essential gcc-multilib dkms&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Blacklist Nouveau Drivers=====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modprobe.d/blacklist-nouveau.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;blacklist nouveau&lt;br /&gt;
options nouveau modeset=0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Download Nvidia Driver for your card=====&lt;br /&gt;
&lt;br /&gt;
======Manual======&lt;br /&gt;
[https://www.nvidia.com/Download/index.aspx]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run --dkms -s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======Apt======&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add to your main repo&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;non-free&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Create Kernel rules=====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/udev/rules.d/70-nvidia.rules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_modeset&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -m &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia-modeset*&#039;&amp;quot;&lt;br /&gt;
 # Create /nvidia0, /dev/nvidia1 … and /nvidiactl when nvidia module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-smi -L &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia*&#039;&amp;quot;&lt;br /&gt;
 # Create the CUDA node when nvidia_uvm CUDA module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_uvm&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -u &amp;amp;&amp;amp; /bin/chmod 0666 /dev/nvidia-uvm*&#039;&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modules-load.d/modules.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add these lines&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Nvidia modules&lt;br /&gt;
nvidia&lt;br /&gt;
nvidia-modeset&lt;br /&gt;
nvidia_uvm&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Update initramfs=====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Do a reboot=====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Find the GPU device number.=====&lt;br /&gt;
This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
AND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -al /dev/nvidia*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Take note of the numbers in the fifth column above 195, 236 and 226 respectively.&lt;br /&gt;
&lt;br /&gt;
=====ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf=====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:255 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:254 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:1 rw&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Setup Nvidia persistanced service=====&lt;br /&gt;
&lt;br /&gt;
To avoid that the driver/kernel module is unloaded whenever the GPU is not used, we should run the Nvidia provided persistence service. It’s made available to us after the driver install.&lt;br /&gt;
&lt;br /&gt;
Copy and extract&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cp /usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2 .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bunzip2 nvidia-persistenced-init.tar.bz2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;tar -xf nvidia-persistenced-init.tar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Remove old, if any (to avoid masked service)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rm /etc/systemd/system/nvidia-persistenced.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x nvidia-persistenced-init/install.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./nvidia-persistenced-init/install.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Check that it’s ok&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl status nvidia-persistenced.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rm -rf nvidia-persistenced-init*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run --no-kernel-module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===AMD Radeon===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.amd.com/en/support Download AMD Driver for your card]&lt;br /&gt;
&lt;br /&gt;
Extract file, and navigate into the extracted contents.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-pro-install --no-32 --opencl=legacy,rocr -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-install --opencl=legacy --headless --no-dkms --no-32 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Intel Quick Sync===&lt;br /&gt;
I&#039;ve not personally tested this, but:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&lt;br /&gt;
All Intel CPU’s since Sandy Bridge released in 2011 have hardware acceleration for H.264 built in.&lt;br /&gt;
&lt;br /&gt;
So if your CPU supports Quick Sync you can speed up transcoding and reduce load as well as energy consumption.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Net Passthrough==&lt;br /&gt;
This is important if your container needs to be able to create a TUN device. This is useful for applications like openvpn.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 10:200 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/net dev/net none bind,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==DVB Passthrough (TV Tuner Cards)==&lt;br /&gt;
This is useful for applications like tvheadend, nextpvr, plex, emby, jellyfin.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 212:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==USB Passthrough==&lt;br /&gt;
Find the applicable usb major and minor numbers via:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #: lsusb&lt;br /&gt;
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
 Bus 001 Device 013: ID 045e:0800 Microsoft Corp.&lt;br /&gt;
 Bus 001 Device 020: ID 04a9:1746 Canon, Inc.&lt;br /&gt;
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 189:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/bus/usb/001/020 dev/bus/usb/001/020 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Application Tricks for running in LXC=&lt;br /&gt;
==Docker==&lt;br /&gt;
&lt;br /&gt;
===Host===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 nano /etc/modules-load.d/modules.conf&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 modprobe overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable nesting and keyctl.&lt;br /&gt;
&lt;br /&gt;
===Container===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 curl -fsSL https://get.docker.com -o get-docker.sh&lt;br /&gt;
 sh get-docker.sh&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run NTP server in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.cap.drop = sys_module mac_admin mac_override&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Run avahi in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir -p /etc/systemd/system/avahi-daemon.service.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/systemd/system/avahi-daemon.service.d/override.conf&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/sbin/avahi-daemon -s --no-rlimits&lt;br /&gt;
 EOF&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl start avahi-daemon&lt;br /&gt;
 systemctl status avahi-daemon&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Running Ubuntu Snaps in LXC==&lt;br /&gt;
install squashfuse in the container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install squashfuse fuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
then install snap&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install snap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==LXC apache2 NAMESPACE fix==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sed -i -e &#039;s,PrivateTmp=true,PrivateTmp=false\nNoNewPrivileges=yes,g&#039; /lib/systemd/system/apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl daemon-reload&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl start apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LXC elasticsearch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/elasticsearch/jvm.options.d/heap.options&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
-Xms4g&lt;br /&gt;
-Xmx4g&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart elasticsearch.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward ALSA audio to LXC container==&lt;br /&gt;
===Host Machine===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 apt-get install dkms&lt;br /&gt;
 &lt;br /&gt;
 apt-get install libasound2 alsa-utils alsa-oss&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# arecord -l&lt;br /&gt;
 **** List of CAPTURE Hardware Devices ****&lt;br /&gt;
 card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]&lt;br /&gt;
   Subdevices: 0/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 card 1: CameraB409241 [USB Camera-B4.09.24.1], device 0: USB Audio [USB Audio]&lt;br /&gt;
   Subdevices: 1/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# ls -la /dev/snd&lt;br /&gt;
 total 0&lt;br /&gt;
 drwxr-xr-x  4 root root      360 Jul 10 23:26 .&lt;br /&gt;
 drwxr-xr-x 24 root root     4300 Jul 10 23:26 ..&lt;br /&gt;
 drwxr-xr-x  2 root root       60 Jul 10 23:26 by-id&lt;br /&gt;
 drwxr-xr-x  2 root root       80 Jul 10 23:26 by-path&lt;br /&gt;
 crw-rw----  1 root audio 116,  2 Jul 11 08:50 controlC0&lt;br /&gt;
 crw-rw----  1 root audio 116, 12 Jul 11 08:50 controlC1&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup.devices.allow = c 116:* rwm&lt;br /&gt;
 lxc.mount.entry = /dev/snd dev/snd none bind,create=dir 0 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove apparmor from a container==&lt;br /&gt;
There may be times that apparmor prevents a container from running properly (This is rare). If you trust the container, you can edit the configuration file to disable apparmor:&lt;br /&gt;
&lt;br /&gt;
Configs are located in `/etc/pve/lxc`&lt;br /&gt;
&lt;br /&gt;
add to the bottom of the config:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.apparmor.profile: unconfined&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Reduce the size of a container=&lt;br /&gt;
Containers can always be easily increased in size via the web panel. Reducing their size is a slightly more complicated procedure that must be done via CLI.&lt;br /&gt;
&lt;br /&gt;
This process requires you to backup a container, and then restore it with the new size. Note: directories may be different for you.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct stop &amp;lt;id&amp;gt;&lt;br /&gt;
 vzdump &amp;lt;id&amp;gt; -storage local -compress lzo&lt;br /&gt;
 pct destroy &amp;lt;id&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo --rootfs local:&amp;lt;newsize&amp;gt;&lt;br /&gt;
 pct fsck &amp;lt;id&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Restore a Container from storage=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo -storage local-zfs&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clone a container=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct clone &amp;lt;id&amp;gt; &amp;lt;newid&amp;gt; --full --storage local-zfs --hostname newhostname&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=102</id>
		<title>Proxmox LXC</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=102"/>
		<updated>2023-04-03T15:17:32Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* On Host */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Proxmox-VE Main Page==&lt;br /&gt;
[[Proxmox-VE]]&lt;br /&gt;
=Mounts=&lt;br /&gt;
==Mounting a directory available to the host machine==&lt;br /&gt;
In this example, Drivepool is a cifs share on another machine. The container we are adding this to is 230. The first location is on the host machine, and the second is where you want it located in the container.&lt;br /&gt;
&lt;br /&gt;
The container should be shutdown/stopped before running this command.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct set 230 -mp0 /mnt/pve/Drivepool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
OR add to the config file located in&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/etc/pve/lxc/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
If your shared directory is present on all nodes add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mounting a CIFS share in a container==&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable CIFS and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DrivePool -fstype=cifs,vers=3.0,rw,relatime,sec=ntlmssp,cache=strict,credentials=/etc/autofs/DrivePool.creds,uid=1001,forceuid,gid=111,forcegid,file_mode=0777,dir_mode=0777,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1 ://IPADDRESS/DrivePool&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.creds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 domain=YOURDOMAIN&lt;br /&gt;
 username=YOURUSERNAME&lt;br /&gt;
 password=YOURPASSWORD&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install AutoFS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y cifs-utils autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add Our Configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 /FS1 /etc/autofs/DrivePool.conf --ghost --timeout 0 --verbose&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mount directories from other containers==&lt;br /&gt;
===Method 1 AutoFS + sshfs===&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/plex1.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bar -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#sysop@10.0.12.90:/your/remote/path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Now we setup passwordless auth to the other container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -t rsa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-copy-id -i .ssh/id_rsa.pub sysop@10.0.12.90&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
It will prompt you for the password.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll create the mount directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /mnt/sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And add our configuration to autofs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/mnt/sshfs --timeout=30,--ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Method 2 just sshfs===&lt;br /&gt;
Mount directories from other containers&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;yourpass&amp;quot; | sshfs youruser@10.0.15.31:/path/on/remote /mnt/pathyouwant -o password_stdin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;@reboot /bin/bash /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Passthrough Physical Disk to Container==&lt;br /&gt;
[https://forum.proxmox.com/threads/container-with-physical-disk.42280/#post-203292 Passthrough Physical Disk to Container]&lt;br /&gt;
=Device Passthrough=&lt;br /&gt;
==GPU Passthrough==&lt;br /&gt;
Install pve-headers, before and after you do any driver installs on host a below&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install pve-headers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y pve-headers-$(uname -r)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===NOTES===&lt;br /&gt;
This seems to need to be done sometimes after running updates on the host and rebooting.&lt;br /&gt;
===Nvidia===&lt;br /&gt;
====On Host====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Blacklist Nouveau Drivers=====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modprobe.d/blacklist.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;blacklist nouveau&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y build-essential&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Download Nvidia Driver for your card=====&lt;br /&gt;
&lt;br /&gt;
======Manual======&lt;br /&gt;
[https://www.nvidia.com/Download/index.aspx]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======Apt======&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add to your main repo&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;non-free&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Create Kernel rules=====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/udev/rules.d/70-nvidia.rules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_modeset&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -m &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia-modeset*&#039;&amp;quot;&lt;br /&gt;
 # Create /nvidia0, /dev/nvidia1 … and /nvidiactl when nvidia module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-smi -L &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia*&#039;&amp;quot;&lt;br /&gt;
 # Create the CUDA node when nvidia_uvm CUDA module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_uvm&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -u &amp;amp;&amp;amp; /bin/chmod 0666 /dev/nvidia-uvm*&#039;&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modules-load.d/modules.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add these lines&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Nvidia modules&lt;br /&gt;
nvidia&lt;br /&gt;
nvidia-modeset&lt;br /&gt;
nvidia_uvm&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Update initramfs=====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Do a reboot=====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Find the GPU device number.=====&lt;br /&gt;
This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
AND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -al /dev/nvidia*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Take note of the numbers in the fifth column above 195, 236 and 226 respectively.&lt;br /&gt;
&lt;br /&gt;
=====ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf=====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:255 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:254 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:1 rw&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Setup Nvidia persistanced service=====&lt;br /&gt;
&lt;br /&gt;
To avoid that the driver/kernel module is unloaded whenever the GPU is not used, we should run the Nvidia provided persistence service. It’s made available to us after the driver install.&lt;br /&gt;
&lt;br /&gt;
Copy and extract&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cp /usr/share/doc/NVIDIA_GLX-1.0/samples/nvidia-persistenced-init.tar.bz2 .&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bunzip2 nvidia-persistenced-init.tar.bz2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;tar -xf nvidia-persistenced-init.tar&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Remove old, if any (to avoid masked service)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rm /etc/systemd/system/nvidia-persistenced.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x nvidia-persistenced-init/install.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./nvidia-persistenced-init/install.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Check that it’s ok&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl status nvidia-persistenced.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rm -rf nvidia-persistenced-init*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run --no-kernel-module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===AMD Radeon===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.amd.com/en/support Download AMD Driver for your card]&lt;br /&gt;
&lt;br /&gt;
Extract file, and navigate into the extracted contents.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-pro-install --no-32 --opencl=legacy,rocr -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-install --opencl=legacy --headless --no-dkms --no-32 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Intel Quick Sync===&lt;br /&gt;
I&#039;ve not personally tested this, but:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&lt;br /&gt;
All Intel CPU’s since Sandy Bridge released in 2011 have hardware acceleration for H.264 built in.&lt;br /&gt;
&lt;br /&gt;
So if your CPU supports Quick Sync you can speed up transcoding and reduce load as well as energy consumption.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Net Passthrough==&lt;br /&gt;
This is important if your container needs to be able to create a TUN device. This is useful for applications like openvpn.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 10:200 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/net dev/net none bind,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==DVB Passthrough (TV Tuner Cards)==&lt;br /&gt;
This is useful for applications like tvheadend, nextpvr, plex, emby, jellyfin.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 212:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==USB Passthrough==&lt;br /&gt;
Find the applicable usb major and minor numbers via:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #: lsusb&lt;br /&gt;
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
 Bus 001 Device 013: ID 045e:0800 Microsoft Corp.&lt;br /&gt;
 Bus 001 Device 020: ID 04a9:1746 Canon, Inc.&lt;br /&gt;
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 189:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/bus/usb/001/020 dev/bus/usb/001/020 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Application Tricks for running in LXC=&lt;br /&gt;
==Docker==&lt;br /&gt;
&lt;br /&gt;
===Host===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 nano /etc/modules-load.d/modules.conf&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 modprobe overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable nesting and keyctl.&lt;br /&gt;
&lt;br /&gt;
===Container===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 curl -fsSL https://get.docker.com -o get-docker.sh&lt;br /&gt;
 sh get-docker.sh&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run NTP server in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.cap.drop = sys_module mac_admin mac_override&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Run avahi in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir -p /etc/systemd/system/avahi-daemon.service.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/systemd/system/avahi-daemon.service.d/override.conf&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/sbin/avahi-daemon -s --no-rlimits&lt;br /&gt;
 EOF&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl start avahi-daemon&lt;br /&gt;
 systemctl status avahi-daemon&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Running Ubuntu Snaps in LXC==&lt;br /&gt;
install squashfuse in the container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install squashfuse fuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
then install snap&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install snap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==LXC apache2 NAMESPACE fix==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sed -i -e &#039;s,PrivateTmp=true,PrivateTmp=false\nNoNewPrivileges=yes,g&#039; /lib/systemd/system/apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl daemon-reload&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl start apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LXC elasticsearch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/elasticsearch/jvm.options.d/heap.options&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
-Xms4g&lt;br /&gt;
-Xmx4g&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart elasticsearch.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward ALSA audio to LXC container==&lt;br /&gt;
===Host Machine===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 apt-get install dkms&lt;br /&gt;
 &lt;br /&gt;
 apt-get install libasound2 alsa-utils alsa-oss&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# arecord -l&lt;br /&gt;
 **** List of CAPTURE Hardware Devices ****&lt;br /&gt;
 card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]&lt;br /&gt;
   Subdevices: 0/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 card 1: CameraB409241 [USB Camera-B4.09.24.1], device 0: USB Audio [USB Audio]&lt;br /&gt;
   Subdevices: 1/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# ls -la /dev/snd&lt;br /&gt;
 total 0&lt;br /&gt;
 drwxr-xr-x  4 root root      360 Jul 10 23:26 .&lt;br /&gt;
 drwxr-xr-x 24 root root     4300 Jul 10 23:26 ..&lt;br /&gt;
 drwxr-xr-x  2 root root       60 Jul 10 23:26 by-id&lt;br /&gt;
 drwxr-xr-x  2 root root       80 Jul 10 23:26 by-path&lt;br /&gt;
 crw-rw----  1 root audio 116,  2 Jul 11 08:50 controlC0&lt;br /&gt;
 crw-rw----  1 root audio 116, 12 Jul 11 08:50 controlC1&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup.devices.allow = c 116:* rwm&lt;br /&gt;
 lxc.mount.entry = /dev/snd dev/snd none bind,create=dir 0 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove apparmor from a container==&lt;br /&gt;
There may be times that apparmor prevents a container from running properly (This is rare). If you trust the container, you can edit the configuration file to disable apparmor:&lt;br /&gt;
&lt;br /&gt;
Configs are located in `/etc/pve/lxc`&lt;br /&gt;
&lt;br /&gt;
add to the bottom of the config:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.apparmor.profile: unconfined&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Reduce the size of a container=&lt;br /&gt;
Containers can always be easily increased in size via the web panel. Reducing their size is a slightly more complicated procedure that must be done via CLI.&lt;br /&gt;
&lt;br /&gt;
This process requires you to backup a container, and then restore it with the new size. Note: directories may be different for you.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct stop &amp;lt;id&amp;gt;&lt;br /&gt;
 vzdump &amp;lt;id&amp;gt; -storage local -compress lzo&lt;br /&gt;
 pct destroy &amp;lt;id&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo --rootfs local:&amp;lt;newsize&amp;gt;&lt;br /&gt;
 pct fsck &amp;lt;id&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Restore a Container from storage=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo -storage local-zfs&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clone a container=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct clone &amp;lt;id&amp;gt; &amp;lt;newid&amp;gt; --full --storage local-zfs --hostname newhostname&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox-VE&amp;diff=101</id>
		<title>Proxmox-VE</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox-VE&amp;diff=101"/>
		<updated>2023-03-28T15:16:05Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Add an L2 virtual switch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Terminology=&lt;br /&gt;
&#039;Node&#039; is a computer running proxmox.&lt;br /&gt;
&lt;br /&gt;
&#039;Cluster&#039; is  a group of proxmox nodes, that can being used together for easy migration or high availability.&lt;br /&gt;
&lt;br /&gt;
&#039;Container&#039; is a guest operating system that shares the kernel with the proxmox host, can give a performance boost compared to a normal Virtual OS.&lt;br /&gt;
=VM/LXC Specifics=&lt;br /&gt;
*[[Proxmox VM]]&lt;br /&gt;
*[[Proxmox LXC]]&lt;br /&gt;
=Installation=&lt;br /&gt;
Download the [https://www.proxmox.com/en/downloads ISO] and install on bare metal. Alternatively, you can [https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Buster install on top of an existing Debian]&lt;br /&gt;
==Extra Notes==&lt;br /&gt;
If ZFS is the storage system of choice, it helps to install on SSD for OS, and set up a ZFS pool manually later.&lt;br /&gt;
==Advice on Container/VM Numbering==&lt;br /&gt;
Create a VLAN for your containers, and allow the container number to reflect the IP address assigned to it. This will save you a great deal of headache.&lt;br /&gt;
&lt;br /&gt;
Example, say Plex, sonarr, radarr, lidarr, sabnzbd, etc are all on VLAN 12, and Plex&#039;s IP is 10.0.12.90 you can number the plex container 12090 to reflect VLANID+IP&lt;br /&gt;
==Enable Non-Subscription Updates==&lt;br /&gt;
Complete the following steps to your source lists to get updates.&lt;br /&gt;
===Enable No Subscription Repo===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list.d/pve-nosub.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;deb http://download.proxmox.com/debian bullseye pve-no-subscription&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list.d/pve-enterprise.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Comment out Enterprise Repo===&lt;br /&gt;
add a # symbol in front) of this line:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Install any and all available updates===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Non-production Bleeding Edge==&lt;br /&gt;
===PVE Testing Repo===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list.d/pve-testing.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;deb http://download.proxmox.com/debian/pve bullseye pvetest&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Debian Sid===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 deb http://deb.debian.org/debian sid main non-free contrib&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ sid main contrib non-free&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Install any and all available updates===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Fix Proxmox Web Interface===&lt;br /&gt;
If you see:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;unable to parse codename from &#039;/etc/os-release&#039; (500)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Then Modify the following file and add this line:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/os-release&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;VERSION_CODENAME=bullseye&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Disable subscription nag after login==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget https://git.deathbybandaid.net/attachments/3d08b1b4-b896-497b-893b-c9c0dbb830ca&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;dpkg -i pve-fake-subscription_*.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;127.0.0.1 shop.maurer-it.com&amp;quot; |  tee -a /etc/hosts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pve-fake-subscription&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Update Template Listing==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pveam update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Download Virtio iso==&lt;br /&gt;
[https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso ISO file]&lt;br /&gt;
==Headless Laptop==&lt;br /&gt;
If you want a laptop node, you may want to disable the lid closing action, or your node will go into standby.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/systemd/logind.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Change the lines below.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;HandleLidSwitch=ignore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;HandleLidSwitchDocked=ignore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
restart the logind service.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart systemd-logind.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Change Network Settings without reboot==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install ifupdown2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Add an L2 virtual switch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install openvswitch-switch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Add libraries for virgl==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install libgl1 libegl1 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Create sudo user==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;adduser sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;usermod -aG sudo sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Install a desktop environment (optional)==&lt;br /&gt;
This takes a few minutes... Make sure you have a non-root user!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install tasksel&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;tasksel install desktop kde-desktop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl set-default graphical.target&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Dark Theme (Optional)==&lt;br /&gt;
[https://github.com/Weilbyte/PVEDiscordDark PVEDiscordDark]&lt;br /&gt;
&lt;br /&gt;
==Two Node Cluster==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/pve/corosync.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
look for the `quorum` section and add&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  two_node: 1&lt;br /&gt;
  wait_for_all: 0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=manual add of cifs share=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvesm add cifs DrivePoolold --server 192.168.1.101 --share DrivePool --username Administrator --password ********* --smbversion 2.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clustering=&lt;br /&gt;
==Create a cluster==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm create YOUR-CLUSTER-NAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Add a node to a cluster==&lt;br /&gt;
From the node you want to add. (new nodes must be empty)&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm add IP-ADDRESS-CLUSTER&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove a node from a cluster==&lt;br /&gt;
Remove all containers from the node, and login to a node that you are keeping.&lt;br /&gt;
&lt;br /&gt;
it does not hurt to run these commands on all remaining nodes&lt;br /&gt;
&lt;br /&gt;
Delete the node&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm delnode hp4 NODE_NAME_TO_DELETE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Delete node configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd /etc/pve/nodes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rm -r NODE_NAME_TO_DELETE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
This step is purely to help with if you want to readd a new node with the same IP address as one you&#039;ve removed&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/ssh/ssh_known_hosts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And remove ip, and node name lines&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm updatecerts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -R 192.168.1.103&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -f &amp;quot;/etc/ssh/ssh_known_hosts&amp;quot; -R &amp;quot;192.168.1.103&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -f &amp;quot;/etc/ssh/ssh_known_hosts&amp;quot; -R &amp;quot;NODE_NAME_TO_DELETE&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
This step is when the replacement node is running:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh -o &#039;HostKeyAlias=pve5&#039; root@10.0.4.5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Set Node to not wait for cluster votes==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pvecm expected 1&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=ZFS Tricks and Tips=&lt;br /&gt;
==Proxmox Default ZFS setup==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool create -f -o ashift=12 rpool /dev/sda /dev/sdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zfs create rpool/data&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Directory mounted on ZFS==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zfs create rpool/downloads -o mountpoint=/downloads&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===backups directory in ZFS===&lt;br /&gt;
Create Directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zfs create tank/bkup  -o mountpoint=/bkup&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add to storage.cfg&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/pve/storage.cfg&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 dir: bkup&lt;br /&gt;
         path /bkup&lt;br /&gt;
         content vztmpl,iso,backup&lt;br /&gt;
         maxfiles 4&lt;br /&gt;
         shared 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Add ZFS swap space==&lt;br /&gt;
This will add 8GB of swap space for ZFS to use.&lt;br /&gt;
===Verify Current===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@Proxmox1:~# swapon -s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Filename                                Type            Size    Used    Priority&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zd0                                partition       8388604 4036884 -2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Add and activate===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@Proxmox1:~# zfs create -V 8G rpool/swap2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkswap /dev/zvol/rpool/swap2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;swapon /dev/zvol/rpool/swap2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Verify New===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@Proxmox1:~# swapon -s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Filename                                Type            Size    Used    Priority&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zd0                                partition       8388604 4036884 -2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zd96                               partition       8388604 0       -3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Make Load at boot===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/fstab&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zvol/rpool/swap2 none swap sw 0 0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Rename a pool===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool export [poolname]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
As an example, for a pool named tank which we wish to rename notankshere:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool export tank&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Then run:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool import [poolname] [newpoolname]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
e.g.:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool import tank notankshere&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The pool will be imported as “notankshere” instead.&lt;br /&gt;
=Find and remove unused container disks=&lt;br /&gt;
Find:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct rescan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Look for lines that say &amp;quot;add unreferenced volume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To remove, use the webui&lt;br /&gt;
=Troubleshooting and Error Handling Tips=&lt;br /&gt;
==Too many open files==&lt;br /&gt;
If you start receiving errors regarding &amp;quot;too many open files&amp;quot;, try applying these fixes.&lt;br /&gt;
&lt;br /&gt;
These errors increase when you start running large numbers of containers.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/security/limits.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add to the bottom of the file:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 *	soft	nofile	1048576&lt;br /&gt;
 *	hard	nofile	1048576&lt;br /&gt;
 root	soft	nofile	1048576&lt;br /&gt;
 root	hard	nofile	1048576&lt;br /&gt;
 *	soft	memlock	unlimited&lt;br /&gt;
 *	hard	memlock	unlimited&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/sysctl.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add to the bottom of the file:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 fs.inotify.max_queued_events=1048576&lt;br /&gt;
 fs.inotify.max_user_instances=1048576&lt;br /&gt;
 fs.inotify.max_user_watches=1048576&lt;br /&gt;
 vm.max_map_count=262144&lt;br /&gt;
 kernel.dmesg_restrict=1&lt;br /&gt;
 net.core.rmem_max = 16777216&lt;br /&gt;
 fs.file-max = 1048576&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /proc/sys/fs/inotify/max_user_watches&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Make the contents of the file:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;1048576&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Apply the New Settings:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sysctl -p&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sysctl --system&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==increase ulimit or decrease threads==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.prlimit.nofile = 20000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Container Names missing in left pane==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 service pvedaemon restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 service pvestatd restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 service pveproxy restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Backup Fails because ZFS Snapshot is already there==&lt;br /&gt;
I got an error on backup that said:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 INFO: starting new backup job: vzdump 190 --remove 0 --compress lzo --node Proxmox1 --storage DBB-Proxmox --mode snapshot&lt;br /&gt;
 INFO: filesystem type on dumpdir is &#039;cifs&#039; -using /var/tmp/vzdumptmp29423 for temporary files&lt;br /&gt;
 INFO: Starting Backup of VM 190 (lxc)&lt;br /&gt;
 INFO: status = running&lt;br /&gt;
 INFO: CT Name: sonarr.dbb.local&lt;br /&gt;
 INFO: excluding bind mount point mp0 (&#039;/Drivepool&#039;) from backup&lt;br /&gt;
 INFO: excluding bind mount point mp1 (&#039;/Downloads&#039;) from backup&lt;br /&gt;
 INFO: backup mode: snapshot&lt;br /&gt;
 INFO: ionice priority: 7&lt;br /&gt;
 INFO: create storage snapshot &#039;vzdump&#039;&lt;br /&gt;
 snapshot create failed: starting cleanup&lt;br /&gt;
 no lock found trying to remove &#039;backup&#039;  lock&lt;br /&gt;
 ERROR: Backup of VM 190 failed - zfs error: cannot create snapshot &#039;rpool/data/subvol-190-disk-1@vzdump&#039;: dataset already exists&lt;br /&gt;
 INFO: Backup job finished with errors&lt;br /&gt;
 TASK ERROR: job errors&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The solution was to run:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@Proxmox1:~# zfs list -t snapshot&lt;br /&gt;
 NAME                                  USED  AVAIL  REFER  MOUNTPOINT&lt;br /&gt;
 rpool/data/subvol-190-disk-1@vzdump  86.5M      -  2.13G  -&lt;br /&gt;
 root@Proxmox1:~# zfs destroy rpool/data/subvol-190-disk-1@vzdump&lt;br /&gt;
 root@Proxmox1:~# zfs list -t snapshot&lt;br /&gt;
 no datasets available&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Found stale copy during migration==&lt;br /&gt;
I got this message&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 ERROR: found stale volume copy &#039;local-zfs:subvol-2032-disk-0&#039; on node &#039;Proxmox-HP&#039;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Solution (on host you are migrating TO):&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 qm rescan --vmid 2032&lt;br /&gt;
 &lt;br /&gt;
 OR for LXC&lt;br /&gt;
 &lt;br /&gt;
 pct rescan --vmid 2032&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 zfs list -rt all rpool&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 zfs destroy rpool/data/subvol-2032-disk-0&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=100</id>
		<title>Proxmox LXC</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=100"/>
		<updated>2023-03-23T15:20:50Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* On Host */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Proxmox-VE Main Page==&lt;br /&gt;
[[Proxmox-VE]]&lt;br /&gt;
=Mounts=&lt;br /&gt;
==Mounting a directory available to the host machine==&lt;br /&gt;
In this example, Drivepool is a cifs share on another machine. The container we are adding this to is 230. The first location is on the host machine, and the second is where you want it located in the container.&lt;br /&gt;
&lt;br /&gt;
The container should be shutdown/stopped before running this command.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct set 230 -mp0 /mnt/pve/Drivepool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
OR add to the config file located in&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/etc/pve/lxc/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
If your shared directory is present on all nodes add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mounting a CIFS share in a container==&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable CIFS and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DrivePool -fstype=cifs,vers=3.0,rw,relatime,sec=ntlmssp,cache=strict,credentials=/etc/autofs/DrivePool.creds,uid=1001,forceuid,gid=111,forcegid,file_mode=0777,dir_mode=0777,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1 ://IPADDRESS/DrivePool&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.creds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 domain=YOURDOMAIN&lt;br /&gt;
 username=YOURUSERNAME&lt;br /&gt;
 password=YOURPASSWORD&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install AutoFS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y cifs-utils autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add Our Configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 /FS1 /etc/autofs/DrivePool.conf --ghost --timeout 0 --verbose&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mount directories from other containers==&lt;br /&gt;
===Method 1 AutoFS + sshfs===&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/plex1.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bar -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#sysop@10.0.12.90:/your/remote/path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Now we setup passwordless auth to the other container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -t rsa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-copy-id -i .ssh/id_rsa.pub sysop@10.0.12.90&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
It will prompt you for the password.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll create the mount directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /mnt/sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And add our configuration to autofs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/mnt/sshfs --timeout=30,--ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Method 2 just sshfs===&lt;br /&gt;
Mount directories from other containers&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;yourpass&amp;quot; | sshfs youruser@10.0.15.31:/path/on/remote /mnt/pathyouwant -o password_stdin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;@reboot /bin/bash /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Passthrough Physical Disk to Container==&lt;br /&gt;
[https://forum.proxmox.com/threads/container-with-physical-disk.42280/#post-203292 Passthrough Physical Disk to Container]&lt;br /&gt;
=Device Passthrough=&lt;br /&gt;
==GPU Passthrough==&lt;br /&gt;
Install pve-headers, before and after you do any driver installs on host a below&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install pve-headers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y pve-headers-$(uname -r)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===NOTES===&lt;br /&gt;
This seems to need to be done sometimes after running updates on the host and rebooting.&lt;br /&gt;
===Nvidia===&lt;br /&gt;
====On Host====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Blacklist Nouveau Drivers&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modprobe.d/blacklist.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;blacklist nouveau&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y build-essential&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Download Nvidia Driver for your card&lt;br /&gt;
&lt;br /&gt;
=====Manual=====&lt;br /&gt;
[https://www.nvidia.com/Download/index.aspx]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Apt=====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add to your main repo&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;non-free&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create Kernel rules&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/udev/rules.d/70-nvidia.rules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_modeset&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -m &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia-modeset*&#039;&amp;quot;&lt;br /&gt;
 # Create /nvidia0, /dev/nvidia1 … and /nvidiactl when nvidia module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-smi -L &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia*&#039;&amp;quot;&lt;br /&gt;
 # Create the CUDA node when nvidia_uvm CUDA module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_uvm&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -u &amp;amp;&amp;amp; /bin/chmod 0666 /dev/nvidia-uvm*&#039;&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modules-load.d/modules.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add these lines&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Nvidia modules&lt;br /&gt;
nvidia&lt;br /&gt;
nvidia-modeset&lt;br /&gt;
nvidia_uvm&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update initramfs&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do a reboot&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
AND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -al /dev/nvidia*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Take note of the numbers in the fifth column above 195, 236 and 226 respectively.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:255 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:254 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:1 rw&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run --no-kernel-module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===AMD Radeon===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.amd.com/en/support Download AMD Driver for your card]&lt;br /&gt;
&lt;br /&gt;
Extract file, and navigate into the extracted contents.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-pro-install --no-32 --opencl=legacy,rocr -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-install --opencl=legacy --headless --no-dkms --no-32 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Intel Quick Sync===&lt;br /&gt;
I&#039;ve not personally tested this, but:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&lt;br /&gt;
All Intel CPU’s since Sandy Bridge released in 2011 have hardware acceleration for H.264 built in.&lt;br /&gt;
&lt;br /&gt;
So if your CPU supports Quick Sync you can speed up transcoding and reduce load as well as energy consumption.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Net Passthrough==&lt;br /&gt;
This is important if your container needs to be able to create a TUN device. This is useful for applications like openvpn.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 10:200 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/net dev/net none bind,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==DVB Passthrough (TV Tuner Cards)==&lt;br /&gt;
This is useful for applications like tvheadend, nextpvr, plex, emby, jellyfin.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 212:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==USB Passthrough==&lt;br /&gt;
Find the applicable usb major and minor numbers via:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #: lsusb&lt;br /&gt;
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
 Bus 001 Device 013: ID 045e:0800 Microsoft Corp.&lt;br /&gt;
 Bus 001 Device 020: ID 04a9:1746 Canon, Inc.&lt;br /&gt;
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 189:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/bus/usb/001/020 dev/bus/usb/001/020 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Application Tricks for running in LXC=&lt;br /&gt;
==Docker==&lt;br /&gt;
&lt;br /&gt;
===Host===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 nano /etc/modules-load.d/modules.conf&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 modprobe overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable nesting and keyctl.&lt;br /&gt;
&lt;br /&gt;
===Container===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 curl -fsSL https://get.docker.com -o get-docker.sh&lt;br /&gt;
 sh get-docker.sh&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run NTP server in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.cap.drop = sys_module mac_admin mac_override&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Run avahi in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir -p /etc/systemd/system/avahi-daemon.service.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/systemd/system/avahi-daemon.service.d/override.conf&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/sbin/avahi-daemon -s --no-rlimits&lt;br /&gt;
 EOF&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl start avahi-daemon&lt;br /&gt;
 systemctl status avahi-daemon&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Running Ubuntu Snaps in LXC==&lt;br /&gt;
install squashfuse in the container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install squashfuse fuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
then install snap&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install snap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==LXC apache2 NAMESPACE fix==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sed -i -e &#039;s,PrivateTmp=true,PrivateTmp=false\nNoNewPrivileges=yes,g&#039; /lib/systemd/system/apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl daemon-reload&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl start apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LXC elasticsearch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/elasticsearch/jvm.options.d/heap.options&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
-Xms4g&lt;br /&gt;
-Xmx4g&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart elasticsearch.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward ALSA audio to LXC container==&lt;br /&gt;
===Host Machine===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 apt-get install dkms&lt;br /&gt;
 &lt;br /&gt;
 apt-get install libasound2 alsa-utils alsa-oss&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# arecord -l&lt;br /&gt;
 **** List of CAPTURE Hardware Devices ****&lt;br /&gt;
 card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]&lt;br /&gt;
   Subdevices: 0/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 card 1: CameraB409241 [USB Camera-B4.09.24.1], device 0: USB Audio [USB Audio]&lt;br /&gt;
   Subdevices: 1/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# ls -la /dev/snd&lt;br /&gt;
 total 0&lt;br /&gt;
 drwxr-xr-x  4 root root      360 Jul 10 23:26 .&lt;br /&gt;
 drwxr-xr-x 24 root root     4300 Jul 10 23:26 ..&lt;br /&gt;
 drwxr-xr-x  2 root root       60 Jul 10 23:26 by-id&lt;br /&gt;
 drwxr-xr-x  2 root root       80 Jul 10 23:26 by-path&lt;br /&gt;
 crw-rw----  1 root audio 116,  2 Jul 11 08:50 controlC0&lt;br /&gt;
 crw-rw----  1 root audio 116, 12 Jul 11 08:50 controlC1&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup.devices.allow = c 116:* rwm&lt;br /&gt;
 lxc.mount.entry = /dev/snd dev/snd none bind,create=dir 0 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove apparmor from a container==&lt;br /&gt;
There may be times that apparmor prevents a container from running properly (This is rare). If you trust the container, you can edit the configuration file to disable apparmor:&lt;br /&gt;
&lt;br /&gt;
Configs are located in `/etc/pve/lxc`&lt;br /&gt;
&lt;br /&gt;
add to the bottom of the config:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.apparmor.profile: unconfined&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Reduce the size of a container=&lt;br /&gt;
Containers can always be easily increased in size via the web panel. Reducing their size is a slightly more complicated procedure that must be done via CLI.&lt;br /&gt;
&lt;br /&gt;
This process requires you to backup a container, and then restore it with the new size. Note: directories may be different for you.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct stop &amp;lt;id&amp;gt;&lt;br /&gt;
 vzdump &amp;lt;id&amp;gt; -storage local -compress lzo&lt;br /&gt;
 pct destroy &amp;lt;id&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo --rootfs local:&amp;lt;newsize&amp;gt;&lt;br /&gt;
 pct fsck &amp;lt;id&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Restore a Container from storage=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo -storage local-zfs&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clone a container=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct clone &amp;lt;id&amp;gt; &amp;lt;newid&amp;gt; --full --storage local-zfs --hostname newhostname&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=99</id>
		<title>Proxmox LXC</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=99"/>
		<updated>2023-01-17T17:46:43Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Mounting a CIFS share in a container */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Proxmox-VE Main Page==&lt;br /&gt;
[[Proxmox-VE]]&lt;br /&gt;
=Mounts=&lt;br /&gt;
==Mounting a directory available to the host machine==&lt;br /&gt;
In this example, Drivepool is a cifs share on another machine. The container we are adding this to is 230. The first location is on the host machine, and the second is where you want it located in the container.&lt;br /&gt;
&lt;br /&gt;
The container should be shutdown/stopped before running this command.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct set 230 -mp0 /mnt/pve/Drivepool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
OR add to the config file located in&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/etc/pve/lxc/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
If your shared directory is present on all nodes add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mounting a CIFS share in a container==&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable CIFS and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 DrivePool -fstype=cifs,vers=3.0,rw,relatime,sec=ntlmssp,cache=strict,credentials=/etc/autofs/DrivePool.creds,uid=1001,forceuid,gid=111,forcegid,file_mode=0777,dir_mode=0777,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1 ://IPADDRESS/DrivePool&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.creds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 domain=YOURDOMAIN&lt;br /&gt;
 username=YOURUSERNAME&lt;br /&gt;
 password=YOURPASSWORD&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install AutoFS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y cifs-utils autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add Our Configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 /FS1 /etc/autofs/DrivePool.conf --ghost --timeout 0 --verbose&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mount directories from other containers==&lt;br /&gt;
===Method 1 AutoFS + sshfs===&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/plex1.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bar -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#sysop@10.0.12.90:/your/remote/path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Now we setup passwordless auth to the other container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -t rsa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-copy-id -i .ssh/id_rsa.pub sysop@10.0.12.90&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
It will prompt you for the password.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll create the mount directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /mnt/sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And add our configuration to autofs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/mnt/sshfs --timeout=30,--ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Method 2 just sshfs===&lt;br /&gt;
Mount directories from other containers&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;yourpass&amp;quot; | sshfs youruser@10.0.15.31:/path/on/remote /mnt/pathyouwant -o password_stdin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;@reboot /bin/bash /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Passthrough Physical Disk to Container==&lt;br /&gt;
[https://forum.proxmox.com/threads/container-with-physical-disk.42280/#post-203292 Passthrough Physical Disk to Container]&lt;br /&gt;
=Device Passthrough=&lt;br /&gt;
==GPU Passthrough==&lt;br /&gt;
Install pve-headers, before and after you do any driver installs on host a below&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install pve-headers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y pve-headers-$(uname -r)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===NOTES===&lt;br /&gt;
This seems to need to be done sometimes after running updates on the host and rebooting.&lt;br /&gt;
===Nvidia===&lt;br /&gt;
====On Host====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Blacklist Nouveau Drivers&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modprobe.d/blacklist.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;blacklist nouveau&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y build-essential&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.nvidia.com/Download/index.aspx Download Nvidia Driver for your card]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Create Kernel rules&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/udev/rules.d/70-nvidia.rules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_modeset&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -m &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia-modeset*&#039;&amp;quot;&lt;br /&gt;
 # Create /nvidia0, /dev/nvidia1 … and /nvidiactl when nvidia module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-smi -L &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia*&#039;&amp;quot;&lt;br /&gt;
 # Create the CUDA node when nvidia_uvm CUDA module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_uvm&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -u &amp;amp;&amp;amp; /bin/chmod 0666 /dev/nvidia-uvm*&#039;&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modules-load.d/modules.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add these lines&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Nvidia modules&lt;br /&gt;
nvidia&lt;br /&gt;
nvidia-modeset&lt;br /&gt;
nvidia_uvm&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update initramfs&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do a reboot&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
AND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -al /dev/nvidia*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Take note of the numbers in the fifth column above 195, 236 and 226 respectively.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:255 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:254 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:1 rw&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run --no-kernel-module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===AMD Radeon===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.amd.com/en/support Download AMD Driver for your card]&lt;br /&gt;
&lt;br /&gt;
Extract file, and navigate into the extracted contents.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-pro-install --no-32 --opencl=legacy,rocr -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-install --opencl=legacy --headless --no-dkms --no-32 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Intel Quick Sync===&lt;br /&gt;
I&#039;ve not personally tested this, but:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&lt;br /&gt;
All Intel CPU’s since Sandy Bridge released in 2011 have hardware acceleration for H.264 built in.&lt;br /&gt;
&lt;br /&gt;
So if your CPU supports Quick Sync you can speed up transcoding and reduce load as well as energy consumption.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Net Passthrough==&lt;br /&gt;
This is important if your container needs to be able to create a TUN device. This is useful for applications like openvpn.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 10:200 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/net dev/net none bind,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==DVB Passthrough (TV Tuner Cards)==&lt;br /&gt;
This is useful for applications like tvheadend, nextpvr, plex, emby, jellyfin.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 212:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==USB Passthrough==&lt;br /&gt;
Find the applicable usb major and minor numbers via:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #: lsusb&lt;br /&gt;
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
 Bus 001 Device 013: ID 045e:0800 Microsoft Corp.&lt;br /&gt;
 Bus 001 Device 020: ID 04a9:1746 Canon, Inc.&lt;br /&gt;
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 189:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/bus/usb/001/020 dev/bus/usb/001/020 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Application Tricks for running in LXC=&lt;br /&gt;
==Docker==&lt;br /&gt;
&lt;br /&gt;
===Host===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 nano /etc/modules-load.d/modules.conf&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 modprobe overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable nesting and keyctl.&lt;br /&gt;
&lt;br /&gt;
===Container===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 curl -fsSL https://get.docker.com -o get-docker.sh&lt;br /&gt;
 sh get-docker.sh&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run NTP server in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.cap.drop = sys_module mac_admin mac_override&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Run avahi in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir -p /etc/systemd/system/avahi-daemon.service.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/systemd/system/avahi-daemon.service.d/override.conf&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/sbin/avahi-daemon -s --no-rlimits&lt;br /&gt;
 EOF&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl start avahi-daemon&lt;br /&gt;
 systemctl status avahi-daemon&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Running Ubuntu Snaps in LXC==&lt;br /&gt;
install squashfuse in the container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install squashfuse fuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
then install snap&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install snap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==LXC apache2 NAMESPACE fix==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sed -i -e &#039;s,PrivateTmp=true,PrivateTmp=false\nNoNewPrivileges=yes,g&#039; /lib/systemd/system/apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl daemon-reload&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl start apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LXC elasticsearch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/elasticsearch/jvm.options.d/heap.options&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
-Xms4g&lt;br /&gt;
-Xmx4g&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart elasticsearch.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward ALSA audio to LXC container==&lt;br /&gt;
===Host Machine===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 apt-get install dkms&lt;br /&gt;
 &lt;br /&gt;
 apt-get install libasound2 alsa-utils alsa-oss&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# arecord -l&lt;br /&gt;
 **** List of CAPTURE Hardware Devices ****&lt;br /&gt;
 card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]&lt;br /&gt;
   Subdevices: 0/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 card 1: CameraB409241 [USB Camera-B4.09.24.1], device 0: USB Audio [USB Audio]&lt;br /&gt;
   Subdevices: 1/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# ls -la /dev/snd&lt;br /&gt;
 total 0&lt;br /&gt;
 drwxr-xr-x  4 root root      360 Jul 10 23:26 .&lt;br /&gt;
 drwxr-xr-x 24 root root     4300 Jul 10 23:26 ..&lt;br /&gt;
 drwxr-xr-x  2 root root       60 Jul 10 23:26 by-id&lt;br /&gt;
 drwxr-xr-x  2 root root       80 Jul 10 23:26 by-path&lt;br /&gt;
 crw-rw----  1 root audio 116,  2 Jul 11 08:50 controlC0&lt;br /&gt;
 crw-rw----  1 root audio 116, 12 Jul 11 08:50 controlC1&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup.devices.allow = c 116:* rwm&lt;br /&gt;
 lxc.mount.entry = /dev/snd dev/snd none bind,create=dir 0 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove apparmor from a container==&lt;br /&gt;
There may be times that apparmor prevents a container from running properly (This is rare). If you trust the container, you can edit the configuration file to disable apparmor:&lt;br /&gt;
&lt;br /&gt;
Configs are located in `/etc/pve/lxc`&lt;br /&gt;
&lt;br /&gt;
add to the bottom of the config:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.apparmor.profile: unconfined&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Reduce the size of a container=&lt;br /&gt;
Containers can always be easily increased in size via the web panel. Reducing their size is a slightly more complicated procedure that must be done via CLI.&lt;br /&gt;
&lt;br /&gt;
This process requires you to backup a container, and then restore it with the new size. Note: directories may be different for you.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct stop &amp;lt;id&amp;gt;&lt;br /&gt;
 vzdump &amp;lt;id&amp;gt; -storage local -compress lzo&lt;br /&gt;
 pct destroy &amp;lt;id&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo --rootfs local:&amp;lt;newsize&amp;gt;&lt;br /&gt;
 pct fsck &amp;lt;id&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Restore a Container from storage=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo -storage local-zfs&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clone a container=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct clone &amp;lt;id&amp;gt; &amp;lt;newid&amp;gt; --full --storage local-zfs --hostname newhostname&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=98</id>
		<title>Proxmox LXC</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=98"/>
		<updated>2023-01-13T18:09:00Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Nvidia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Proxmox-VE Main Page==&lt;br /&gt;
[[Proxmox-VE]]&lt;br /&gt;
=Mounts=&lt;br /&gt;
==Mounting a directory available to the host machine==&lt;br /&gt;
In this example, Drivepool is a cifs share on another machine. The container we are adding this to is 230. The first location is on the host machine, and the second is where you want it located in the container.&lt;br /&gt;
&lt;br /&gt;
The container should be shutdown/stopped before running this command.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct set 230 -mp0 /mnt/pve/Drivepool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
OR add to the config file located in&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/etc/pve/lxc/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
If your shared directory is present on all nodes add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mounting a CIFS share in a container==&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable CIFS and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;DrivePool -fstype=cifs,rw,credentials=/etc/autofs/DrivePool.creds,file_mode=0777,dir_mode=0777 ://IPADDRESS/DrivePool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.creds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 domain=YOURDOMAIN&lt;br /&gt;
 username=YOURUSERNAME&lt;br /&gt;
 password=YOURPASSWORD&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install AutoFS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y cifs-utils autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add Our Configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/FS1 /etc/autofs/DrivePool.conf --ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mount directories from other containers==&lt;br /&gt;
===Method 1 AutoFS + sshfs===&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/plex1.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bar -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#sysop@10.0.12.90:/your/remote/path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Now we setup passwordless auth to the other container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -t rsa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-copy-id -i .ssh/id_rsa.pub sysop@10.0.12.90&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
It will prompt you for the password.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll create the mount directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /mnt/sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And add our configuration to autofs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/mnt/sshfs --timeout=30,--ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Method 2 just sshfs===&lt;br /&gt;
Mount directories from other containers&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;yourpass&amp;quot; | sshfs youruser@10.0.15.31:/path/on/remote /mnt/pathyouwant -o password_stdin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;@reboot /bin/bash /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Passthrough Physical Disk to Container==&lt;br /&gt;
[https://forum.proxmox.com/threads/container-with-physical-disk.42280/#post-203292 Passthrough Physical Disk to Container]&lt;br /&gt;
=Device Passthrough=&lt;br /&gt;
==GPU Passthrough==&lt;br /&gt;
Install pve-headers, before and after you do any driver installs on host a below&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install pve-headers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y pve-headers-$(uname -r)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===NOTES===&lt;br /&gt;
This seems to need to be done sometimes after running updates on the host and rebooting.&lt;br /&gt;
===Nvidia===&lt;br /&gt;
====On Host====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Blacklist Nouveau Drivers&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modprobe.d/blacklist.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;blacklist nouveau&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y build-essential&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.nvidia.com/Download/index.aspx Download Nvidia Driver for your card]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Create Kernel rules&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/udev/rules.d/70-nvidia.rules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_modeset&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -m &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia-modeset*&#039;&amp;quot;&lt;br /&gt;
 # Create /nvidia0, /dev/nvidia1 … and /nvidiactl when nvidia module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-smi -L &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia*&#039;&amp;quot;&lt;br /&gt;
 # Create the CUDA node when nvidia_uvm CUDA module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_uvm&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -u &amp;amp;&amp;amp; /bin/chmod 0666 /dev/nvidia-uvm*&#039;&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modules-load.d/modules.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add these lines&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
# Nvidia modules&lt;br /&gt;
nvidia&lt;br /&gt;
nvidia-modeset&lt;br /&gt;
nvidia_uvm&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update initramfs&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do a reboot&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
AND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -al /dev/nvidia*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Take note of the numbers in the fifth column above 195, 236 and 226 respectively.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:255 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:254 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:1 rw&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run --no-kernel-module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===AMD Radeon===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.amd.com/en/support Download AMD Driver for your card]&lt;br /&gt;
&lt;br /&gt;
Extract file, and navigate into the extracted contents.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-pro-install --no-32 --opencl=legacy,rocr -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-install --opencl=legacy --headless --no-dkms --no-32 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Intel Quick Sync===&lt;br /&gt;
I&#039;ve not personally tested this, but:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&lt;br /&gt;
All Intel CPU’s since Sandy Bridge released in 2011 have hardware acceleration for H.264 built in.&lt;br /&gt;
&lt;br /&gt;
So if your CPU supports Quick Sync you can speed up transcoding and reduce load as well as energy consumption.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Net Passthrough==&lt;br /&gt;
This is important if your container needs to be able to create a TUN device. This is useful for applications like openvpn.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 10:200 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/net dev/net none bind,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==DVB Passthrough (TV Tuner Cards)==&lt;br /&gt;
This is useful for applications like tvheadend, nextpvr, plex, emby, jellyfin.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 212:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==USB Passthrough==&lt;br /&gt;
Find the applicable usb major and minor numbers via:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #: lsusb&lt;br /&gt;
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
 Bus 001 Device 013: ID 045e:0800 Microsoft Corp.&lt;br /&gt;
 Bus 001 Device 020: ID 04a9:1746 Canon, Inc.&lt;br /&gt;
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 189:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/bus/usb/001/020 dev/bus/usb/001/020 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Application Tricks for running in LXC=&lt;br /&gt;
==Docker==&lt;br /&gt;
&lt;br /&gt;
===Host===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 nano /etc/modules-load.d/modules.conf&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 modprobe overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable nesting and keyctl.&lt;br /&gt;
&lt;br /&gt;
===Container===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 curl -fsSL https://get.docker.com -o get-docker.sh&lt;br /&gt;
 sh get-docker.sh&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run NTP server in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.cap.drop = sys_module mac_admin mac_override&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Run avahi in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir -p /etc/systemd/system/avahi-daemon.service.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/systemd/system/avahi-daemon.service.d/override.conf&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/sbin/avahi-daemon -s --no-rlimits&lt;br /&gt;
 EOF&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl start avahi-daemon&lt;br /&gt;
 systemctl status avahi-daemon&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Running Ubuntu Snaps in LXC==&lt;br /&gt;
install squashfuse in the container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install squashfuse fuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
then install snap&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install snap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==LXC apache2 NAMESPACE fix==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sed -i -e &#039;s,PrivateTmp=true,PrivateTmp=false\nNoNewPrivileges=yes,g&#039; /lib/systemd/system/apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl daemon-reload&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl start apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LXC elasticsearch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/elasticsearch/jvm.options.d/heap.options&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
-Xms4g&lt;br /&gt;
-Xmx4g&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart elasticsearch.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward ALSA audio to LXC container==&lt;br /&gt;
===Host Machine===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 apt-get install dkms&lt;br /&gt;
 &lt;br /&gt;
 apt-get install libasound2 alsa-utils alsa-oss&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# arecord -l&lt;br /&gt;
 **** List of CAPTURE Hardware Devices ****&lt;br /&gt;
 card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]&lt;br /&gt;
   Subdevices: 0/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 card 1: CameraB409241 [USB Camera-B4.09.24.1], device 0: USB Audio [USB Audio]&lt;br /&gt;
   Subdevices: 1/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# ls -la /dev/snd&lt;br /&gt;
 total 0&lt;br /&gt;
 drwxr-xr-x  4 root root      360 Jul 10 23:26 .&lt;br /&gt;
 drwxr-xr-x 24 root root     4300 Jul 10 23:26 ..&lt;br /&gt;
 drwxr-xr-x  2 root root       60 Jul 10 23:26 by-id&lt;br /&gt;
 drwxr-xr-x  2 root root       80 Jul 10 23:26 by-path&lt;br /&gt;
 crw-rw----  1 root audio 116,  2 Jul 11 08:50 controlC0&lt;br /&gt;
 crw-rw----  1 root audio 116, 12 Jul 11 08:50 controlC1&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup.devices.allow = c 116:* rwm&lt;br /&gt;
 lxc.mount.entry = /dev/snd dev/snd none bind,create=dir 0 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove apparmor from a container==&lt;br /&gt;
There may be times that apparmor prevents a container from running properly (This is rare). If you trust the container, you can edit the configuration file to disable apparmor:&lt;br /&gt;
&lt;br /&gt;
Configs are located in `/etc/pve/lxc`&lt;br /&gt;
&lt;br /&gt;
add to the bottom of the config:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.apparmor.profile: unconfined&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Reduce the size of a container=&lt;br /&gt;
Containers can always be easily increased in size via the web panel. Reducing their size is a slightly more complicated procedure that must be done via CLI.&lt;br /&gt;
&lt;br /&gt;
This process requires you to backup a container, and then restore it with the new size. Note: directories may be different for you.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct stop &amp;lt;id&amp;gt;&lt;br /&gt;
 vzdump &amp;lt;id&amp;gt; -storage local -compress lzo&lt;br /&gt;
 pct destroy &amp;lt;id&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo --rootfs local:&amp;lt;newsize&amp;gt;&lt;br /&gt;
 pct fsck &amp;lt;id&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Restore a Container from storage=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo -storage local-zfs&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clone a container=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct clone &amp;lt;id&amp;gt; &amp;lt;newid&amp;gt; --full --storage local-zfs --hostname newhostname&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=97</id>
		<title>Proxmox LXC</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=97"/>
		<updated>2023-01-13T17:31:00Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* GPU Passthrough */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Proxmox-VE Main Page==&lt;br /&gt;
[[Proxmox-VE]]&lt;br /&gt;
=Mounts=&lt;br /&gt;
==Mounting a directory available to the host machine==&lt;br /&gt;
In this example, Drivepool is a cifs share on another machine. The container we are adding this to is 230. The first location is on the host machine, and the second is where you want it located in the container.&lt;br /&gt;
&lt;br /&gt;
The container should be shutdown/stopped before running this command.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct set 230 -mp0 /mnt/pve/Drivepool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
OR add to the config file located in&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/etc/pve/lxc/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
If your shared directory is present on all nodes add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mounting a CIFS share in a container==&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable CIFS and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;DrivePool -fstype=cifs,rw,credentials=/etc/autofs/DrivePool.creds,file_mode=0777,dir_mode=0777 ://IPADDRESS/DrivePool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.creds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 domain=YOURDOMAIN&lt;br /&gt;
 username=YOURUSERNAME&lt;br /&gt;
 password=YOURPASSWORD&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install AutoFS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y cifs-utils autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add Our Configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/FS1 /etc/autofs/DrivePool.conf --ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mount directories from other containers==&lt;br /&gt;
===Method 1 AutoFS + sshfs===&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/plex1.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bar -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#sysop@10.0.12.90:/your/remote/path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Now we setup passwordless auth to the other container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -t rsa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-copy-id -i .ssh/id_rsa.pub sysop@10.0.12.90&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
It will prompt you for the password.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll create the mount directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /mnt/sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And add our configuration to autofs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/mnt/sshfs --timeout=30,--ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Method 2 just sshfs===&lt;br /&gt;
Mount directories from other containers&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;yourpass&amp;quot; | sshfs youruser@10.0.15.31:/path/on/remote /mnt/pathyouwant -o password_stdin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;@reboot /bin/bash /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Passthrough Physical Disk to Container==&lt;br /&gt;
[https://forum.proxmox.com/threads/container-with-physical-disk.42280/#post-203292 Passthrough Physical Disk to Container]&lt;br /&gt;
=Device Passthrough=&lt;br /&gt;
==GPU Passthrough==&lt;br /&gt;
Install pve-headers, before and after you do any driver installs on host a below&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install pve-headers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y pve-headers-$(uname -r)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===NOTES===&lt;br /&gt;
This seems to need to be done sometimes after running updates on the host and rebooting.&lt;br /&gt;
===Nvidia===&lt;br /&gt;
====On Host====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Blacklist Nouveau Drivers&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modprobe.d/blacklist.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;blacklist nouveau&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y build-essential&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.nvidia.com/Download/index.aspx Download Nvidia Driver for your card]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Create Kernel rules&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/udev/rules.d/70-nvidia.rules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_modeset&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -m &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia-modeset*&#039;&amp;quot;&lt;br /&gt;
 # Create /nvidia0, /dev/nvidia1 … and /nvidiactl when nvidia module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-smi -L &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia*&#039;&amp;quot;&lt;br /&gt;
 # Create the CUDA node when nvidia_uvm CUDA module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_uvm&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -u &amp;amp;&amp;amp; /bin/chmod 0666 /dev/nvidia-uvm*&#039;&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Do a reboot&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
AND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -al /dev/nvidia*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Take note of the numbers in the fifth column above 195, 236 and 226 respectively.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:255 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:254 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:1 rw&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run --no-kernel-module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===AMD Radeon===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.amd.com/en/support Download AMD Driver for your card]&lt;br /&gt;
&lt;br /&gt;
Extract file, and navigate into the extracted contents.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-pro-install --no-32 --opencl=legacy,rocr -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-install --opencl=legacy --headless --no-dkms --no-32 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Intel Quick Sync===&lt;br /&gt;
I&#039;ve not personally tested this, but:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&lt;br /&gt;
All Intel CPU’s since Sandy Bridge released in 2011 have hardware acceleration for H.264 built in.&lt;br /&gt;
&lt;br /&gt;
So if your CPU supports Quick Sync you can speed up transcoding and reduce load as well as energy consumption.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Net Passthrough==&lt;br /&gt;
This is important if your container needs to be able to create a TUN device. This is useful for applications like openvpn.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 10:200 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/net dev/net none bind,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==DVB Passthrough (TV Tuner Cards)==&lt;br /&gt;
This is useful for applications like tvheadend, nextpvr, plex, emby, jellyfin.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 212:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==USB Passthrough==&lt;br /&gt;
Find the applicable usb major and minor numbers via:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #: lsusb&lt;br /&gt;
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
 Bus 001 Device 013: ID 045e:0800 Microsoft Corp.&lt;br /&gt;
 Bus 001 Device 020: ID 04a9:1746 Canon, Inc.&lt;br /&gt;
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 189:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/bus/usb/001/020 dev/bus/usb/001/020 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Application Tricks for running in LXC=&lt;br /&gt;
==Docker==&lt;br /&gt;
&lt;br /&gt;
===Host===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 nano /etc/modules-load.d/modules.conf&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 modprobe overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable nesting and keyctl.&lt;br /&gt;
&lt;br /&gt;
===Container===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 curl -fsSL https://get.docker.com -o get-docker.sh&lt;br /&gt;
 sh get-docker.sh&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run NTP server in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.cap.drop = sys_module mac_admin mac_override&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Run avahi in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir -p /etc/systemd/system/avahi-daemon.service.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/systemd/system/avahi-daemon.service.d/override.conf&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/sbin/avahi-daemon -s --no-rlimits&lt;br /&gt;
 EOF&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl start avahi-daemon&lt;br /&gt;
 systemctl status avahi-daemon&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Running Ubuntu Snaps in LXC==&lt;br /&gt;
install squashfuse in the container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install squashfuse fuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
then install snap&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install snap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==LXC apache2 NAMESPACE fix==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sed -i -e &#039;s,PrivateTmp=true,PrivateTmp=false\nNoNewPrivileges=yes,g&#039; /lib/systemd/system/apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl daemon-reload&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl start apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LXC elasticsearch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/elasticsearch/jvm.options.d/heap.options&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
-Xms4g&lt;br /&gt;
-Xmx4g&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart elasticsearch.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward ALSA audio to LXC container==&lt;br /&gt;
===Host Machine===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 apt-get install dkms&lt;br /&gt;
 &lt;br /&gt;
 apt-get install libasound2 alsa-utils alsa-oss&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# arecord -l&lt;br /&gt;
 **** List of CAPTURE Hardware Devices ****&lt;br /&gt;
 card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]&lt;br /&gt;
   Subdevices: 0/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 card 1: CameraB409241 [USB Camera-B4.09.24.1], device 0: USB Audio [USB Audio]&lt;br /&gt;
   Subdevices: 1/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# ls -la /dev/snd&lt;br /&gt;
 total 0&lt;br /&gt;
 drwxr-xr-x  4 root root      360 Jul 10 23:26 .&lt;br /&gt;
 drwxr-xr-x 24 root root     4300 Jul 10 23:26 ..&lt;br /&gt;
 drwxr-xr-x  2 root root       60 Jul 10 23:26 by-id&lt;br /&gt;
 drwxr-xr-x  2 root root       80 Jul 10 23:26 by-path&lt;br /&gt;
 crw-rw----  1 root audio 116,  2 Jul 11 08:50 controlC0&lt;br /&gt;
 crw-rw----  1 root audio 116, 12 Jul 11 08:50 controlC1&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup.devices.allow = c 116:* rwm&lt;br /&gt;
 lxc.mount.entry = /dev/snd dev/snd none bind,create=dir 0 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove apparmor from a container==&lt;br /&gt;
There may be times that apparmor prevents a container from running properly (This is rare). If you trust the container, you can edit the configuration file to disable apparmor:&lt;br /&gt;
&lt;br /&gt;
Configs are located in `/etc/pve/lxc`&lt;br /&gt;
&lt;br /&gt;
add to the bottom of the config:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.apparmor.profile: unconfined&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Reduce the size of a container=&lt;br /&gt;
Containers can always be easily increased in size via the web panel. Reducing their size is a slightly more complicated procedure that must be done via CLI.&lt;br /&gt;
&lt;br /&gt;
This process requires you to backup a container, and then restore it with the new size. Note: directories may be different for you.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct stop &amp;lt;id&amp;gt;&lt;br /&gt;
 vzdump &amp;lt;id&amp;gt; -storage local -compress lzo&lt;br /&gt;
 pct destroy &amp;lt;id&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo --rootfs local:&amp;lt;newsize&amp;gt;&lt;br /&gt;
 pct fsck &amp;lt;id&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Restore a Container from storage=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo -storage local-zfs&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clone a container=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct clone &amp;lt;id&amp;gt; &amp;lt;newid&amp;gt; --full --storage local-zfs --hostname newhostname&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=96</id>
		<title>Proxmox LXC</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=96"/>
		<updated>2023-01-13T17:29:19Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* On Host */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Proxmox-VE Main Page==&lt;br /&gt;
[[Proxmox-VE]]&lt;br /&gt;
=Mounts=&lt;br /&gt;
==Mounting a directory available to the host machine==&lt;br /&gt;
In this example, Drivepool is a cifs share on another machine. The container we are adding this to is 230. The first location is on the host machine, and the second is where you want it located in the container.&lt;br /&gt;
&lt;br /&gt;
The container should be shutdown/stopped before running this command.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct set 230 -mp0 /mnt/pve/Drivepool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
OR add to the config file located in&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/etc/pve/lxc/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
If your shared directory is present on all nodes add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mounting a CIFS share in a container==&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable CIFS and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;DrivePool -fstype=cifs,rw,credentials=/etc/autofs/DrivePool.creds,file_mode=0777,dir_mode=0777 ://IPADDRESS/DrivePool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.creds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 domain=YOURDOMAIN&lt;br /&gt;
 username=YOURUSERNAME&lt;br /&gt;
 password=YOURPASSWORD&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install AutoFS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y cifs-utils autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add Our Configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/FS1 /etc/autofs/DrivePool.conf --ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mount directories from other containers==&lt;br /&gt;
===Method 1 AutoFS + sshfs===&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/plex1.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bar -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#sysop@10.0.12.90:/your/remote/path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Now we setup passwordless auth to the other container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -t rsa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-copy-id -i .ssh/id_rsa.pub sysop@10.0.12.90&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
It will prompt you for the password.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll create the mount directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /mnt/sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And add our configuration to autofs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/mnt/sshfs --timeout=30,--ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Method 2 just sshfs===&lt;br /&gt;
Mount directories from other containers&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;yourpass&amp;quot; | sshfs youruser@10.0.15.31:/path/on/remote /mnt/pathyouwant -o password_stdin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;@reboot /bin/bash /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Passthrough Physical Disk to Container==&lt;br /&gt;
[https://forum.proxmox.com/threads/container-with-physical-disk.42280/#post-203292 Passthrough Physical Disk to Container]&lt;br /&gt;
=Device Passthrough=&lt;br /&gt;
==GPU Passthrough==&lt;br /&gt;
Install pve-headers, before and after you do any driver installs on host a below&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install pve-headers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===NOTES===&lt;br /&gt;
This seems to need to be done sometimes after running updates on the host and rebooting.&lt;br /&gt;
===Nvidia===&lt;br /&gt;
====On Host====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Blacklist Nouveau Drivers&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modprobe.d/blacklist.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;blacklist nouveau&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y build-essential&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.nvidia.com/Download/index.aspx Download Nvidia Driver for your card]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Create Kernel rules&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/udev/rules.d/70-nvidia.rules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_modeset&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -m &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia-modeset*&#039;&amp;quot;&lt;br /&gt;
 # Create /nvidia0, /dev/nvidia1 … and /nvidiactl when nvidia module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-smi -L &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia*&#039;&amp;quot;&lt;br /&gt;
 # Create the CUDA node when nvidia_uvm CUDA module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_uvm&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -u &amp;amp;&amp;amp; /bin/chmod 0666 /dev/nvidia-uvm*&#039;&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Do a reboot&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
AND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -al /dev/nvidia*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Take note of the numbers in the fifth column above 195, 236 and 226 respectively.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:255 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:254 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:1 rw&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run --no-kernel-module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===AMD Radeon===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.amd.com/en/support Download AMD Driver for your card]&lt;br /&gt;
&lt;br /&gt;
Extract file, and navigate into the extracted contents.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-pro-install --no-32 --opencl=legacy,rocr -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-install --opencl=legacy --headless --no-dkms --no-32 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Intel Quick Sync===&lt;br /&gt;
I&#039;ve not personally tested this, but:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&lt;br /&gt;
All Intel CPU’s since Sandy Bridge released in 2011 have hardware acceleration for H.264 built in.&lt;br /&gt;
&lt;br /&gt;
So if your CPU supports Quick Sync you can speed up transcoding and reduce load as well as energy consumption.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Net Passthrough==&lt;br /&gt;
This is important if your container needs to be able to create a TUN device. This is useful for applications like openvpn.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 10:200 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/net dev/net none bind,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==DVB Passthrough (TV Tuner Cards)==&lt;br /&gt;
This is useful for applications like tvheadend, nextpvr, plex, emby, jellyfin.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 212:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==USB Passthrough==&lt;br /&gt;
Find the applicable usb major and minor numbers via:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #: lsusb&lt;br /&gt;
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
 Bus 001 Device 013: ID 045e:0800 Microsoft Corp.&lt;br /&gt;
 Bus 001 Device 020: ID 04a9:1746 Canon, Inc.&lt;br /&gt;
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 189:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/bus/usb/001/020 dev/bus/usb/001/020 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Application Tricks for running in LXC=&lt;br /&gt;
==Docker==&lt;br /&gt;
&lt;br /&gt;
===Host===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 nano /etc/modules-load.d/modules.conf&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 modprobe overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable nesting and keyctl.&lt;br /&gt;
&lt;br /&gt;
===Container===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 curl -fsSL https://get.docker.com -o get-docker.sh&lt;br /&gt;
 sh get-docker.sh&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run NTP server in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.cap.drop = sys_module mac_admin mac_override&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Run avahi in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir -p /etc/systemd/system/avahi-daemon.service.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/systemd/system/avahi-daemon.service.d/override.conf&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/sbin/avahi-daemon -s --no-rlimits&lt;br /&gt;
 EOF&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl start avahi-daemon&lt;br /&gt;
 systemctl status avahi-daemon&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Running Ubuntu Snaps in LXC==&lt;br /&gt;
install squashfuse in the container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install squashfuse fuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
then install snap&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install snap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==LXC apache2 NAMESPACE fix==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sed -i -e &#039;s,PrivateTmp=true,PrivateTmp=false\nNoNewPrivileges=yes,g&#039; /lib/systemd/system/apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl daemon-reload&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl start apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LXC elasticsearch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/elasticsearch/jvm.options.d/heap.options&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
-Xms4g&lt;br /&gt;
-Xmx4g&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart elasticsearch.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward ALSA audio to LXC container==&lt;br /&gt;
===Host Machine===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 apt-get install dkms&lt;br /&gt;
 &lt;br /&gt;
 apt-get install libasound2 alsa-utils alsa-oss&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# arecord -l&lt;br /&gt;
 **** List of CAPTURE Hardware Devices ****&lt;br /&gt;
 card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]&lt;br /&gt;
   Subdevices: 0/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 card 1: CameraB409241 [USB Camera-B4.09.24.1], device 0: USB Audio [USB Audio]&lt;br /&gt;
   Subdevices: 1/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# ls -la /dev/snd&lt;br /&gt;
 total 0&lt;br /&gt;
 drwxr-xr-x  4 root root      360 Jul 10 23:26 .&lt;br /&gt;
 drwxr-xr-x 24 root root     4300 Jul 10 23:26 ..&lt;br /&gt;
 drwxr-xr-x  2 root root       60 Jul 10 23:26 by-id&lt;br /&gt;
 drwxr-xr-x  2 root root       80 Jul 10 23:26 by-path&lt;br /&gt;
 crw-rw----  1 root audio 116,  2 Jul 11 08:50 controlC0&lt;br /&gt;
 crw-rw----  1 root audio 116, 12 Jul 11 08:50 controlC1&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup.devices.allow = c 116:* rwm&lt;br /&gt;
 lxc.mount.entry = /dev/snd dev/snd none bind,create=dir 0 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove apparmor from a container==&lt;br /&gt;
There may be times that apparmor prevents a container from running properly (This is rare). If you trust the container, you can edit the configuration file to disable apparmor:&lt;br /&gt;
&lt;br /&gt;
Configs are located in `/etc/pve/lxc`&lt;br /&gt;
&lt;br /&gt;
add to the bottom of the config:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.apparmor.profile: unconfined&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Reduce the size of a container=&lt;br /&gt;
Containers can always be easily increased in size via the web panel. Reducing their size is a slightly more complicated procedure that must be done via CLI.&lt;br /&gt;
&lt;br /&gt;
This process requires you to backup a container, and then restore it with the new size. Note: directories may be different for you.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct stop &amp;lt;id&amp;gt;&lt;br /&gt;
 vzdump &amp;lt;id&amp;gt; -storage local -compress lzo&lt;br /&gt;
 pct destroy &amp;lt;id&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo --rootfs local:&amp;lt;newsize&amp;gt;&lt;br /&gt;
 pct fsck &amp;lt;id&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Restore a Container from storage=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo -storage local-zfs&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clone a container=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct clone &amp;lt;id&amp;gt; &amp;lt;newid&amp;gt; --full --storage local-zfs --hostname newhostname&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=95</id>
		<title>Proxmox LXC</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=95"/>
		<updated>2023-01-13T17:17:24Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* On Host */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Proxmox-VE Main Page==&lt;br /&gt;
[[Proxmox-VE]]&lt;br /&gt;
=Mounts=&lt;br /&gt;
==Mounting a directory available to the host machine==&lt;br /&gt;
In this example, Drivepool is a cifs share on another machine. The container we are adding this to is 230. The first location is on the host machine, and the second is where you want it located in the container.&lt;br /&gt;
&lt;br /&gt;
The container should be shutdown/stopped before running this command.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct set 230 -mp0 /mnt/pve/Drivepool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
OR add to the config file located in&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/etc/pve/lxc/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
If your shared directory is present on all nodes add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mounting a CIFS share in a container==&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable CIFS and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;DrivePool -fstype=cifs,rw,credentials=/etc/autofs/DrivePool.creds,file_mode=0777,dir_mode=0777 ://IPADDRESS/DrivePool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.creds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 domain=YOURDOMAIN&lt;br /&gt;
 username=YOURUSERNAME&lt;br /&gt;
 password=YOURPASSWORD&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install AutoFS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y cifs-utils autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add Our Configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/FS1 /etc/autofs/DrivePool.conf --ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mount directories from other containers==&lt;br /&gt;
===Method 1 AutoFS + sshfs===&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/plex1.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bar -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#sysop@10.0.12.90:/your/remote/path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Now we setup passwordless auth to the other container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -t rsa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-copy-id -i .ssh/id_rsa.pub sysop@10.0.12.90&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
It will prompt you for the password.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll create the mount directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /mnt/sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And add our configuration to autofs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/mnt/sshfs --timeout=30,--ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Method 2 just sshfs===&lt;br /&gt;
Mount directories from other containers&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;yourpass&amp;quot; | sshfs youruser@10.0.15.31:/path/on/remote /mnt/pathyouwant -o password_stdin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;@reboot /bin/bash /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Passthrough Physical Disk to Container==&lt;br /&gt;
[https://forum.proxmox.com/threads/container-with-physical-disk.42280/#post-203292 Passthrough Physical Disk to Container]&lt;br /&gt;
=Device Passthrough=&lt;br /&gt;
==GPU Passthrough==&lt;br /&gt;
Install pve-headers, before and after you do any driver installs on host a below&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install pve-headers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===NOTES===&lt;br /&gt;
This seems to need to be done sometimes after running updates on the host and rebooting.&lt;br /&gt;
===Nvidia===&lt;br /&gt;
====On Host====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Blacklist Nouveau Drivers&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/modprobe.d/blacklist.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;blacklist nouveau&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update-initramfs -u&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.nvidia.com/Download/index.aspx Download Nvidia Driver for your card]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Create Kernel rules&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/udev/rules.d/70-nvidia.rules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_modeset&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -m &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia-modeset*&#039;&amp;quot;&lt;br /&gt;
 # Create /nvidia0, /dev/nvidia1 … and /nvidiactl when nvidia module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-smi -L &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia*&#039;&amp;quot;&lt;br /&gt;
 # Create the CUDA node when nvidia_uvm CUDA module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_uvm&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -u &amp;amp;&amp;amp; /bin/chmod 0666 /dev/nvidia-uvm*&#039;&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Do a reboot&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
AND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -al /dev/nvidia*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Take note of the numbers in the fifth column above 195, 236 and 226 respectively.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:255 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:254 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:1 rw&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run --no-kernel-module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===AMD Radeon===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.amd.com/en/support Download AMD Driver for your card]&lt;br /&gt;
&lt;br /&gt;
Extract file, and navigate into the extracted contents.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-pro-install --no-32 --opencl=legacy,rocr -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-install --opencl=legacy --headless --no-dkms --no-32 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Intel Quick Sync===&lt;br /&gt;
I&#039;ve not personally tested this, but:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&lt;br /&gt;
All Intel CPU’s since Sandy Bridge released in 2011 have hardware acceleration for H.264 built in.&lt;br /&gt;
&lt;br /&gt;
So if your CPU supports Quick Sync you can speed up transcoding and reduce load as well as energy consumption.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Net Passthrough==&lt;br /&gt;
This is important if your container needs to be able to create a TUN device. This is useful for applications like openvpn.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 10:200 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/net dev/net none bind,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==DVB Passthrough (TV Tuner Cards)==&lt;br /&gt;
This is useful for applications like tvheadend, nextpvr, plex, emby, jellyfin.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 212:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==USB Passthrough==&lt;br /&gt;
Find the applicable usb major and minor numbers via:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #: lsusb&lt;br /&gt;
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
 Bus 001 Device 013: ID 045e:0800 Microsoft Corp.&lt;br /&gt;
 Bus 001 Device 020: ID 04a9:1746 Canon, Inc.&lt;br /&gt;
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 189:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/bus/usb/001/020 dev/bus/usb/001/020 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Application Tricks for running in LXC=&lt;br /&gt;
==Docker==&lt;br /&gt;
&lt;br /&gt;
===Host===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 nano /etc/modules-load.d/modules.conf&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 modprobe overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable nesting and keyctl.&lt;br /&gt;
&lt;br /&gt;
===Container===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 curl -fsSL https://get.docker.com -o get-docker.sh&lt;br /&gt;
 sh get-docker.sh&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run NTP server in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.cap.drop = sys_module mac_admin mac_override&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Run avahi in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir -p /etc/systemd/system/avahi-daemon.service.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/systemd/system/avahi-daemon.service.d/override.conf&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/sbin/avahi-daemon -s --no-rlimits&lt;br /&gt;
 EOF&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl start avahi-daemon&lt;br /&gt;
 systemctl status avahi-daemon&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Running Ubuntu Snaps in LXC==&lt;br /&gt;
install squashfuse in the container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install squashfuse fuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
then install snap&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install snap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==LXC apache2 NAMESPACE fix==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sed -i -e &#039;s,PrivateTmp=true,PrivateTmp=false\nNoNewPrivileges=yes,g&#039; /lib/systemd/system/apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl daemon-reload&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl start apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LXC elasticsearch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/elasticsearch/jvm.options.d/heap.options&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
-Xms4g&lt;br /&gt;
-Xmx4g&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart elasticsearch.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward ALSA audio to LXC container==&lt;br /&gt;
===Host Machine===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 apt-get install dkms&lt;br /&gt;
 &lt;br /&gt;
 apt-get install libasound2 alsa-utils alsa-oss&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# arecord -l&lt;br /&gt;
 **** List of CAPTURE Hardware Devices ****&lt;br /&gt;
 card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]&lt;br /&gt;
   Subdevices: 0/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 card 1: CameraB409241 [USB Camera-B4.09.24.1], device 0: USB Audio [USB Audio]&lt;br /&gt;
   Subdevices: 1/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# ls -la /dev/snd&lt;br /&gt;
 total 0&lt;br /&gt;
 drwxr-xr-x  4 root root      360 Jul 10 23:26 .&lt;br /&gt;
 drwxr-xr-x 24 root root     4300 Jul 10 23:26 ..&lt;br /&gt;
 drwxr-xr-x  2 root root       60 Jul 10 23:26 by-id&lt;br /&gt;
 drwxr-xr-x  2 root root       80 Jul 10 23:26 by-path&lt;br /&gt;
 crw-rw----  1 root audio 116,  2 Jul 11 08:50 controlC0&lt;br /&gt;
 crw-rw----  1 root audio 116, 12 Jul 11 08:50 controlC1&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup.devices.allow = c 116:* rwm&lt;br /&gt;
 lxc.mount.entry = /dev/snd dev/snd none bind,create=dir 0 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove apparmor from a container==&lt;br /&gt;
There may be times that apparmor prevents a container from running properly (This is rare). If you trust the container, you can edit the configuration file to disable apparmor:&lt;br /&gt;
&lt;br /&gt;
Configs are located in `/etc/pve/lxc`&lt;br /&gt;
&lt;br /&gt;
add to the bottom of the config:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.apparmor.profile: unconfined&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Reduce the size of a container=&lt;br /&gt;
Containers can always be easily increased in size via the web panel. Reducing their size is a slightly more complicated procedure that must be done via CLI.&lt;br /&gt;
&lt;br /&gt;
This process requires you to backup a container, and then restore it with the new size. Note: directories may be different for you.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct stop &amp;lt;id&amp;gt;&lt;br /&gt;
 vzdump &amp;lt;id&amp;gt; -storage local -compress lzo&lt;br /&gt;
 pct destroy &amp;lt;id&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo --rootfs local:&amp;lt;newsize&amp;gt;&lt;br /&gt;
 pct fsck &amp;lt;id&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Restore a Container from storage=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo -storage local-zfs&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clone a container=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct clone &amp;lt;id&amp;gt; &amp;lt;newid&amp;gt; --full --storage local-zfs --hostname newhostname&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=FreeIPA&amp;diff=94</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=FreeIPA&amp;diff=94"/>
		<updated>2022-12-12T18:04:16Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a cheatsheet of config for various apps to authenticate against FreeIPA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Emby==&lt;br /&gt;
&lt;br /&gt;
LDAP server address: &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LDAP server Port number:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;389&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bind DN:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;uid=svc_emby,cn=users,cn=accounts,dc=ipa,dc=dbb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Bind credentials:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Password1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User search base:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cn=users,cn=accounts,dc=ipa,dc=dbb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User search filter:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;(&amp;amp;(uid={0})(memberof=cn=emby_users,cn=groups,cn=accounts,dc=ipa,dc=dbb)(objectClass=person)(!(nsAccountLock=TRUE)))&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=FreeIPA&amp;diff=93</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=FreeIPA&amp;diff=93"/>
		<updated>2022-12-12T17:58:04Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a cheatsheet of config for various apps to authenticate against FreeIPA.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Emby==&lt;br /&gt;
&lt;br /&gt;
LDAP&lt;br /&gt;
LDAP server address:&lt;br /&gt;
127.0.0.1&lt;br /&gt;
LDAP server Port number:&lt;br /&gt;
389&lt;br /&gt;
&lt;br /&gt;
Enable SSL&lt;br /&gt;
SSL certificate thumbprint (SHA1):&lt;br /&gt;
Example: AAF4C61DDCC5E8A2DABEDE0F3B482CD9AEA9434D. Multiple thumbprints are accepted, comma delimted.&lt;br /&gt;
Bind DN:&lt;br /&gt;
uid=svc_emby,cn=users,cn=accounts,dc=ipa,dc=dbb&lt;br /&gt;
Example: CN=user,OU=branch,DC=contoso,DC=local&lt;br /&gt;
Bind credentials:&lt;br /&gt;
Password1&lt;br /&gt;
Example: secret_password&lt;br /&gt;
User search base:&lt;br /&gt;
cn=users,cn=accounts,dc=ipa,dc=dbb&lt;br /&gt;
Use to limit the LDAP users that can be imported into Emby.&lt;br /&gt;
Example: DC=contoso,DC=local&lt;br /&gt;
User search filter:&lt;br /&gt;
(&amp;amp;(uid={0})(memberof=cn=emby_users,cn=groups,cn=accounts,dc=ipa,dc=dbb)(objectClass=person)(!(nsAccountLock=TRUE)))&lt;br /&gt;
Example: (uid={0})&lt;br /&gt;
Important: This must contain {0} in order to allow specific user lookups.&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=FreeIPA&amp;diff=92</id>
		<title>FreeIPA</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=FreeIPA&amp;diff=92"/>
		<updated>2022-12-12T17:55:27Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: Created page with &amp;quot;This is a cheatsheet of config for various apps to authenticate against FreeIPA.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a cheatsheet of config for various apps to authenticate against FreeIPA.&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Main_Page&amp;diff=91</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Main_Page&amp;diff=91"/>
		<updated>2022-12-12T17:54:52Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Starter Topics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the deathbybandaid wiki. Entries here will be primarily tech related. Pages will be created for a variety of topics with tips and tricks to get the most out of your computing resources.&lt;br /&gt;
&lt;br /&gt;
Entries may sometimes have a biased opinion based on personal experiences, but don&#039;t let that stop you from voicing yours in the Discussion tabs.&lt;br /&gt;
=Getting started=&lt;br /&gt;
I will continue to theme this page at some point with dynamic information that displays wiki stats.&lt;br /&gt;
=Offtopic =&lt;br /&gt;
==Food==&lt;br /&gt;
*[[Zick Ham]]&lt;br /&gt;
=Calendars=&lt;br /&gt;
*[https://calendar.google.com/calendar?cid=dThxYzFraWZtNGRjN2FvYjFqb2w0YzM1Ym9AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ SpiceWorks]&lt;br /&gt;
*[https://calendar.google.com/calendar?cid=cnNmczNmM2QxY2FxcGJvZThmdWIyYXE4b2NAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ ActualTechMedia]&lt;br /&gt;
*[https://calendar.google.com/calendar?cid=aHI4bGR1Y2htZ2dmZjBlZWhmbTZtcTJsaGtAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ Comptia]&lt;br /&gt;
*[https://calendar.google.com/calendar?cid=MzNicHYyczc1M3JqZzZsZHEzZGZpYXY3dmdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ TruthInIT]&lt;br /&gt;
*[https://calendar.google.com/calendar?cid=bGFzNjVmZ2ZnYzk5NXBldGEwOGpycG9uNW9AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ ultimatewindowssecurity]&lt;br /&gt;
=RSS=&lt;br /&gt;
[https://rss.deathbybandaid.net/feeds/ Generated Feeds]&lt;br /&gt;
=Starter Topics=&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
*[[FreeIPA]]&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
*[[pfSense]]&lt;br /&gt;
*[[Unbound]] (For Use with Pi-hole)&lt;br /&gt;
*[[Pi-Hole]]&lt;br /&gt;
==IRC==&lt;br /&gt;
*[[ZNC]]&lt;br /&gt;
==systemd==&lt;br /&gt;
*[[bash script service]]&lt;br /&gt;
==Update Caching==&lt;br /&gt;
*[[Apt-Cacher NG]]&lt;br /&gt;
*[[WSUSoffline (on linux)]]&lt;br /&gt;
==Windows Server==&lt;br /&gt;
*[[Windows Server 2016]]&lt;br /&gt;
==Firewall==&lt;br /&gt;
*[[pfSense]]&lt;br /&gt;
==Hypervisor==&lt;br /&gt;
*[[Proxmox-VE]]&lt;br /&gt;
==Helpdesk==&lt;br /&gt;
*[[Tronprem]]&lt;br /&gt;
==DNS==&lt;br /&gt;
*[[Pi-hole]]&lt;br /&gt;
*[[Adguard Home]]&lt;br /&gt;
*[[NoTrack]]&lt;br /&gt;
*[[Metiix Blockade]]&lt;br /&gt;
*[[Piholeparser]]&lt;br /&gt;
*[[Shell DNS Blaster]]&lt;br /&gt;
==Web Server / Proxy==&lt;br /&gt;
*[[Nginx]]&lt;br /&gt;
*[[haproxy]] ([http://www.haproxy.org/ Official website])&lt;br /&gt;
==Dynamic DNS==&lt;br /&gt;
*[[Noip Duc]]&lt;br /&gt;
==Printer==&lt;br /&gt;
*[[CUPS]]&lt;br /&gt;
==Network Controller==&lt;br /&gt;
*[[Unifi]]&lt;br /&gt;
==VPN==&lt;br /&gt;
*[[Pritunl]]&lt;br /&gt;
*[[WireGuard]] ([https://www.wireguard.com/ Official website])&lt;br /&gt;
==Remote Desktop==&lt;br /&gt;
*[[Guacamole]]&lt;br /&gt;
*[[Simple-Help]]&lt;br /&gt;
==IRC==&lt;br /&gt;
*[[ZNC]]&lt;br /&gt;
*[[Kiwi]]&lt;br /&gt;
*[[Sopel]]&lt;br /&gt;
==Email==&lt;br /&gt;
*[[Mailcow]]&lt;br /&gt;
==Group Chat==&lt;br /&gt;
*[[Mattermost]]&lt;br /&gt;
*[[matrix]] ([http://matrix.org/ Official website])&lt;br /&gt;
==Web Application==&lt;br /&gt;
*[[Wordpress]]&lt;br /&gt;
*[[Mediawiki]]&lt;br /&gt;
==Download Clients==&lt;br /&gt;
*[[SABnzbd]]&lt;br /&gt;
*[[airdc]]&lt;br /&gt;
*[[jdownloader]]&lt;br /&gt;
*[[pyLoad]]&lt;br /&gt;
*[[Transmission]]&lt;br /&gt;
*[[Deluge]]&lt;br /&gt;
*[[rtorrent]] ([https://rakshasa.github.io/rtorrent/ Official website])&lt;br /&gt;
==Media Managers==&lt;br /&gt;
*[[Sonarr]] ([https://sonarr.tv/ Official website])&lt;br /&gt;
*[[Radarr]] ([https://radarr.video/ Official website])&lt;br /&gt;
*[[Lidarr]] ([https://lidarr.audio/ Official website])&lt;br /&gt;
*[[Readarr]] ([https://readarr.com/ Official website])&lt;br /&gt;
*[[Ubooquity]] ([https://vaemendis.net/ubooquity/ Official website])&lt;br /&gt;
==Download Indexers==&lt;br /&gt;
*[[NZBHydra]]&lt;br /&gt;
*[[Cardigann]]&lt;br /&gt;
*[[AirDC]]&lt;br /&gt;
*[[Jackett]]&lt;br /&gt;
*[[flexget]] ([https://flexget.com/ Official website])&lt;br /&gt;
==Media Controllers==&lt;br /&gt;
*[[Tautulli]]&lt;br /&gt;
*[[Ombi]]&lt;br /&gt;
==Media Playback==&lt;br /&gt;
*[[Emby]] ([https://emby.media/ Official website])&lt;br /&gt;
*[[Jellyfin]] ([https://jellyfin.org/ Official website])&lt;br /&gt;
*[[Kodi]] ([https://kodi.tv/ Official website])&lt;br /&gt;
*[[Plex]] ([https://www.plex.tv/ Official website])&lt;br /&gt;
==Service Monitors==&lt;br /&gt;
*[[Monitorr]]&lt;br /&gt;
*[[Logarr]]&lt;br /&gt;
==File Naming==&lt;br /&gt;
*[[Filebot]]&lt;br /&gt;
*[[ranger]] (specifically the bulkrename feature) ([https://ranger.github.io/ Official website])&lt;br /&gt;
*[[Rename My TV Series 2]] ([https://www.tweaking4all.com/home-theatre/rename-my-tv-series-v2/ Official website])&lt;br /&gt;
==Software KVM==&lt;br /&gt;
*[[Synergy]]&lt;br /&gt;
*[[Mouse Without Borders]]&lt;br /&gt;
==Computer Cleanup==&lt;br /&gt;
*[[CCleaner]]&lt;br /&gt;
*[[Privazr]]&lt;br /&gt;
==Disk Storage==&lt;br /&gt;
*[[Stablebit]]&lt;br /&gt;
==Digital Game Platforms==&lt;br /&gt;
*[[Battle.net]] ([https://battle.net/ Official website])&lt;br /&gt;
*[[Bethesda.net]] ([https://bethesda.net/ Official website])&lt;br /&gt;
*[[Epic Games]] ([https://emby.media/ Official website])&lt;br /&gt;
*[[GOG]] ([https://gog.com/ Official website])&lt;br /&gt;
*[[itch.io]] ([https://itch.io/ Official website])&lt;br /&gt;
*[[Origin]] ([https://www.origin.com/usa/en-us/ Official website])&lt;br /&gt;
*[[Steam]] ([https://store.steampowered.com/ Official website])&lt;br /&gt;
*[[Ubisoft]]([https://store.ubi.com/us/home/?lang=en_US Official website])&lt;br /&gt;
==RSS Feed Management==&lt;br /&gt;
*[[Selfoss]]&lt;br /&gt;
*[[TTRSS]]&lt;br /&gt;
*[[Commafeed]]&lt;br /&gt;
*[[FreshRSS]]&lt;br /&gt;
&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Main_Page&amp;diff=90</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Main_Page&amp;diff=90"/>
		<updated>2022-12-12T17:53:56Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Starter Topics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the deathbybandaid wiki. Entries here will be primarily tech related. Pages will be created for a variety of topics with tips and tricks to get the most out of your computing resources.&lt;br /&gt;
&lt;br /&gt;
Entries may sometimes have a biased opinion based on personal experiences, but don&#039;t let that stop you from voicing yours in the Discussion tabs.&lt;br /&gt;
=Getting started=&lt;br /&gt;
I will continue to theme this page at some point with dynamic information that displays wiki stats.&lt;br /&gt;
=Offtopic =&lt;br /&gt;
==Food==&lt;br /&gt;
*[[Zick Ham]]&lt;br /&gt;
=Calendars=&lt;br /&gt;
*[https://calendar.google.com/calendar?cid=dThxYzFraWZtNGRjN2FvYjFqb2w0YzM1Ym9AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ SpiceWorks]&lt;br /&gt;
*[https://calendar.google.com/calendar?cid=cnNmczNmM2QxY2FxcGJvZThmdWIyYXE4b2NAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ ActualTechMedia]&lt;br /&gt;
*[https://calendar.google.com/calendar?cid=aHI4bGR1Y2htZ2dmZjBlZWhmbTZtcTJsaGtAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ Comptia]&lt;br /&gt;
*[https://calendar.google.com/calendar?cid=MzNicHYyczc1M3JqZzZsZHEzZGZpYXY3dmdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ TruthInIT]&lt;br /&gt;
*[https://calendar.google.com/calendar?cid=bGFzNjVmZ2ZnYzk5NXBldGEwOGpycG9uNW9AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ ultimatewindowssecurity]&lt;br /&gt;
=RSS=&lt;br /&gt;
[https://rss.deathbybandaid.net/feeds/ Generated Feeds]&lt;br /&gt;
=Starter Topics=&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
*[[LDAP]]&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
*[[pfSense]]&lt;br /&gt;
*[[Unbound]] (For Use with Pi-hole)&lt;br /&gt;
*[[Pi-Hole]]&lt;br /&gt;
==IRC==&lt;br /&gt;
*[[ZNC]]&lt;br /&gt;
==systemd==&lt;br /&gt;
*[[bash script service]]&lt;br /&gt;
==Update Caching==&lt;br /&gt;
*[[Apt-Cacher NG]]&lt;br /&gt;
*[[WSUSoffline (on linux)]]&lt;br /&gt;
==Windows Server==&lt;br /&gt;
*[[Windows Server 2016]]&lt;br /&gt;
==Firewall==&lt;br /&gt;
*[[pfSense]]&lt;br /&gt;
==Hypervisor==&lt;br /&gt;
*[[Proxmox-VE]]&lt;br /&gt;
==Helpdesk==&lt;br /&gt;
*[[Tronprem]]&lt;br /&gt;
==DNS==&lt;br /&gt;
*[[Pi-hole]]&lt;br /&gt;
*[[Adguard Home]]&lt;br /&gt;
*[[NoTrack]]&lt;br /&gt;
*[[Metiix Blockade]]&lt;br /&gt;
*[[Piholeparser]]&lt;br /&gt;
*[[Shell DNS Blaster]]&lt;br /&gt;
==Web Server / Proxy==&lt;br /&gt;
*[[Nginx]]&lt;br /&gt;
*[[haproxy]] ([http://www.haproxy.org/ Official website])&lt;br /&gt;
==Dynamic DNS==&lt;br /&gt;
*[[Noip Duc]]&lt;br /&gt;
==Printer==&lt;br /&gt;
*[[CUPS]]&lt;br /&gt;
==Network Controller==&lt;br /&gt;
*[[Unifi]]&lt;br /&gt;
==VPN==&lt;br /&gt;
*[[Pritunl]]&lt;br /&gt;
*[[WireGuard]] ([https://www.wireguard.com/ Official website])&lt;br /&gt;
==Remote Desktop==&lt;br /&gt;
*[[Guacamole]]&lt;br /&gt;
*[[Simple-Help]]&lt;br /&gt;
==IRC==&lt;br /&gt;
*[[ZNC]]&lt;br /&gt;
*[[Kiwi]]&lt;br /&gt;
*[[Sopel]]&lt;br /&gt;
==Email==&lt;br /&gt;
*[[Mailcow]]&lt;br /&gt;
==Group Chat==&lt;br /&gt;
*[[Mattermost]]&lt;br /&gt;
*[[matrix]] ([http://matrix.org/ Official website])&lt;br /&gt;
==Web Application==&lt;br /&gt;
*[[Wordpress]]&lt;br /&gt;
*[[Mediawiki]]&lt;br /&gt;
==Download Clients==&lt;br /&gt;
*[[SABnzbd]]&lt;br /&gt;
*[[airdc]]&lt;br /&gt;
*[[jdownloader]]&lt;br /&gt;
*[[pyLoad]]&lt;br /&gt;
*[[Transmission]]&lt;br /&gt;
*[[Deluge]]&lt;br /&gt;
*[[rtorrent]] ([https://rakshasa.github.io/rtorrent/ Official website])&lt;br /&gt;
==Media Managers==&lt;br /&gt;
*[[Sonarr]] ([https://sonarr.tv/ Official website])&lt;br /&gt;
*[[Radarr]] ([https://radarr.video/ Official website])&lt;br /&gt;
*[[Lidarr]] ([https://lidarr.audio/ Official website])&lt;br /&gt;
*[[Readarr]] ([https://readarr.com/ Official website])&lt;br /&gt;
*[[Ubooquity]] ([https://vaemendis.net/ubooquity/ Official website])&lt;br /&gt;
==Download Indexers==&lt;br /&gt;
*[[NZBHydra]]&lt;br /&gt;
*[[Cardigann]]&lt;br /&gt;
*[[AirDC]]&lt;br /&gt;
*[[Jackett]]&lt;br /&gt;
*[[flexget]] ([https://flexget.com/ Official website])&lt;br /&gt;
==Media Controllers==&lt;br /&gt;
*[[Tautulli]]&lt;br /&gt;
*[[Ombi]]&lt;br /&gt;
==Media Playback==&lt;br /&gt;
*[[Emby]] ([https://emby.media/ Official website])&lt;br /&gt;
*[[Jellyfin]] ([https://jellyfin.org/ Official website])&lt;br /&gt;
*[[Kodi]] ([https://kodi.tv/ Official website])&lt;br /&gt;
*[[Plex]] ([https://www.plex.tv/ Official website])&lt;br /&gt;
==Service Monitors==&lt;br /&gt;
*[[Monitorr]]&lt;br /&gt;
*[[Logarr]]&lt;br /&gt;
==File Naming==&lt;br /&gt;
*[[Filebot]]&lt;br /&gt;
*[[ranger]] (specifically the bulkrename feature) ([https://ranger.github.io/ Official website])&lt;br /&gt;
*[[Rename My TV Series 2]] ([https://www.tweaking4all.com/home-theatre/rename-my-tv-series-v2/ Official website])&lt;br /&gt;
==Software KVM==&lt;br /&gt;
*[[Synergy]]&lt;br /&gt;
*[[Mouse Without Borders]]&lt;br /&gt;
==Computer Cleanup==&lt;br /&gt;
*[[CCleaner]]&lt;br /&gt;
*[[Privazr]]&lt;br /&gt;
==Disk Storage==&lt;br /&gt;
*[[Stablebit]]&lt;br /&gt;
==Digital Game Platforms==&lt;br /&gt;
*[[Battle.net]] ([https://battle.net/ Official website])&lt;br /&gt;
*[[Bethesda.net]] ([https://bethesda.net/ Official website])&lt;br /&gt;
*[[Epic Games]] ([https://emby.media/ Official website])&lt;br /&gt;
*[[GOG]] ([https://gog.com/ Official website])&lt;br /&gt;
*[[itch.io]] ([https://itch.io/ Official website])&lt;br /&gt;
*[[Origin]] ([https://www.origin.com/usa/en-us/ Official website])&lt;br /&gt;
*[[Steam]] ([https://store.steampowered.com/ Official website])&lt;br /&gt;
*[[Ubisoft]]([https://store.ubi.com/us/home/?lang=en_US Official website])&lt;br /&gt;
==RSS Feed Management==&lt;br /&gt;
*[[Selfoss]]&lt;br /&gt;
*[[TTRSS]]&lt;br /&gt;
*[[Commafeed]]&lt;br /&gt;
*[[FreshRSS]]&lt;br /&gt;
&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=89</id>
		<title>Proxmox LXC</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=89"/>
		<updated>2022-11-30T19:58:30Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Application Tricks for running in LXC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Proxmox-VE Main Page==&lt;br /&gt;
[[Proxmox-VE]]&lt;br /&gt;
=Mounts=&lt;br /&gt;
==Mounting a directory available to the host machine==&lt;br /&gt;
In this example, Drivepool is a cifs share on another machine. The container we are adding this to is 230. The first location is on the host machine, and the second is where you want it located in the container.&lt;br /&gt;
&lt;br /&gt;
The container should be shutdown/stopped before running this command.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct set 230 -mp0 /mnt/pve/Drivepool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
OR add to the config file located in&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/etc/pve/lxc/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
If your shared directory is present on all nodes add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mounting a CIFS share in a container==&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable CIFS and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;DrivePool -fstype=cifs,rw,credentials=/etc/autofs/DrivePool.creds,file_mode=0777,dir_mode=0777 ://IPADDRESS/DrivePool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.creds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 domain=YOURDOMAIN&lt;br /&gt;
 username=YOURUSERNAME&lt;br /&gt;
 password=YOURPASSWORD&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install AutoFS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y cifs-utils autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add Our Configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/FS1 /etc/autofs/DrivePool.conf --ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mount directories from other containers==&lt;br /&gt;
===Method 1 AutoFS + sshfs===&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/plex1.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bar -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#sysop@10.0.12.90:/your/remote/path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Now we setup passwordless auth to the other container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -t rsa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-copy-id -i .ssh/id_rsa.pub sysop@10.0.12.90&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
It will prompt you for the password.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll create the mount directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /mnt/sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And add our configuration to autofs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/mnt/sshfs --timeout=30,--ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Method 2 just sshfs===&lt;br /&gt;
Mount directories from other containers&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;yourpass&amp;quot; | sshfs youruser@10.0.15.31:/path/on/remote /mnt/pathyouwant -o password_stdin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;@reboot /bin/bash /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Passthrough Physical Disk to Container==&lt;br /&gt;
[https://forum.proxmox.com/threads/container-with-physical-disk.42280/#post-203292 Passthrough Physical Disk to Container]&lt;br /&gt;
=Device Passthrough=&lt;br /&gt;
==GPU Passthrough==&lt;br /&gt;
Install pve-headers, before and after you do any driver installs on host a below&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install pve-headers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===NOTES===&lt;br /&gt;
This seems to need to be done sometimes after running updates on the host and rebooting.&lt;br /&gt;
===Nvidia===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.nvidia.com/Download/index.aspx Download Nvidia Driver for your card]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Create Kernel rules&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/udev/rules.d/70-nvidia.rules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_modeset&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -m &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia-modeset*&#039;&amp;quot;&lt;br /&gt;
 # Create /nvidia0, /dev/nvidia1 … and /nvidiactl when nvidia module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-smi -L &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia*&#039;&amp;quot;&lt;br /&gt;
 # Create the CUDA node when nvidia_uvm CUDA module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_uvm&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -u &amp;amp;&amp;amp; /bin/chmod 0666 /dev/nvidia-uvm*&#039;&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Do a reboot&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
AND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -al /dev/nvidia*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Take note of the numbers in the fifth column above 195, 236 and 226 respectively.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:255 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:254 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:1 rw&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run --no-kernel-module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===AMD Radeon===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.amd.com/en/support Download AMD Driver for your card]&lt;br /&gt;
&lt;br /&gt;
Extract file, and navigate into the extracted contents.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-pro-install --no-32 --opencl=legacy,rocr -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-install --opencl=legacy --headless --no-dkms --no-32 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Intel Quick Sync===&lt;br /&gt;
I&#039;ve not personally tested this, but:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&lt;br /&gt;
All Intel CPU’s since Sandy Bridge released in 2011 have hardware acceleration for H.264 built in.&lt;br /&gt;
&lt;br /&gt;
So if your CPU supports Quick Sync you can speed up transcoding and reduce load as well as energy consumption.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Net Passthrough==&lt;br /&gt;
This is important if your container needs to be able to create a TUN device. This is useful for applications like openvpn.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 10:200 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/net dev/net none bind,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==DVB Passthrough (TV Tuner Cards)==&lt;br /&gt;
This is useful for applications like tvheadend, nextpvr, plex, emby, jellyfin.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 212:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==USB Passthrough==&lt;br /&gt;
Find the applicable usb major and minor numbers via:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #: lsusb&lt;br /&gt;
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
 Bus 001 Device 013: ID 045e:0800 Microsoft Corp.&lt;br /&gt;
 Bus 001 Device 020: ID 04a9:1746 Canon, Inc.&lt;br /&gt;
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 189:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/bus/usb/001/020 dev/bus/usb/001/020 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Application Tricks for running in LXC=&lt;br /&gt;
==Docker==&lt;br /&gt;
&lt;br /&gt;
===Host===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 nano /etc/modules-load.d/modules.conf&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 modprobe overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable nesting and keyctl.&lt;br /&gt;
&lt;br /&gt;
===Container===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 curl -fsSL https://get.docker.com -o get-docker.sh&lt;br /&gt;
 sh get-docker.sh&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run NTP server in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.cap.drop = sys_module mac_admin mac_override&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Run avahi in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir -p /etc/systemd/system/avahi-daemon.service.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/systemd/system/avahi-daemon.service.d/override.conf&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/sbin/avahi-daemon -s --no-rlimits&lt;br /&gt;
 EOF&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl start avahi-daemon&lt;br /&gt;
 systemctl status avahi-daemon&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Running Ubuntu Snaps in LXC==&lt;br /&gt;
install squashfuse in the container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install squashfuse fuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
then install snap&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install snap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==LXC apache2 NAMESPACE fix==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sed -i -e &#039;s,PrivateTmp=true,PrivateTmp=false\nNoNewPrivileges=yes,g&#039; /lib/systemd/system/apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl daemon-reload&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl start apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LXC elasticsearch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/elasticsearch/jvm.options.d/heap.options&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
-Xms4g&lt;br /&gt;
-Xmx4g&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart elasticsearch.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forward ALSA audio to LXC container==&lt;br /&gt;
===Host Machine===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 apt-get install dkms&lt;br /&gt;
 &lt;br /&gt;
 apt-get install libasound2 alsa-utils alsa-oss&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# arecord -l&lt;br /&gt;
 **** List of CAPTURE Hardware Devices ****&lt;br /&gt;
 card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]&lt;br /&gt;
   Subdevices: 0/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 card 1: CameraB409241 [USB Camera-B4.09.24.1], device 0: USB Audio [USB Audio]&lt;br /&gt;
   Subdevices: 1/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# ls -la /dev/snd&lt;br /&gt;
 total 0&lt;br /&gt;
 drwxr-xr-x  4 root root      360 Jul 10 23:26 .&lt;br /&gt;
 drwxr-xr-x 24 root root     4300 Jul 10 23:26 ..&lt;br /&gt;
 drwxr-xr-x  2 root root       60 Jul 10 23:26 by-id&lt;br /&gt;
 drwxr-xr-x  2 root root       80 Jul 10 23:26 by-path&lt;br /&gt;
 crw-rw----  1 root audio 116,  2 Jul 11 08:50 controlC0&lt;br /&gt;
 crw-rw----  1 root audio 116, 12 Jul 11 08:50 controlC1&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup.devices.allow = c 116:* rwm&lt;br /&gt;
 lxc.mount.entry = /dev/snd dev/snd none bind,create=dir 0 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove apparmor from a container==&lt;br /&gt;
There may be times that apparmor prevents a container from running properly (This is rare). If you trust the container, you can edit the configuration file to disable apparmor:&lt;br /&gt;
&lt;br /&gt;
Configs are located in `/etc/pve/lxc`&lt;br /&gt;
&lt;br /&gt;
add to the bottom of the config:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.apparmor.profile: unconfined&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Reduce the size of a container=&lt;br /&gt;
Containers can always be easily increased in size via the web panel. Reducing their size is a slightly more complicated procedure that must be done via CLI.&lt;br /&gt;
&lt;br /&gt;
This process requires you to backup a container, and then restore it with the new size. Note: directories may be different for you.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct stop &amp;lt;id&amp;gt;&lt;br /&gt;
 vzdump &amp;lt;id&amp;gt; -storage local -compress lzo&lt;br /&gt;
 pct destroy &amp;lt;id&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo --rootfs local:&amp;lt;newsize&amp;gt;&lt;br /&gt;
 pct fsck &amp;lt;id&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Restore a Container from storage=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo -storage local-zfs&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clone a container=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct clone &amp;lt;id&amp;gt; &amp;lt;newid&amp;gt; --full --storage local-zfs --hostname newhostname&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox_VM&amp;diff=88</id>
		<title>Proxmox VM</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox_VM&amp;diff=88"/>
		<updated>2022-07-12T14:13:17Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Proxmox-VE Main Page==&lt;br /&gt;
[[Proxmox-VE]]&lt;br /&gt;
=Direct Drive Passthrough=&lt;br /&gt;
[https://pve.proxmox.com/wiki/Passthrough_Physical_Disk_to_Virtual_Machine_(VM) Passthrough Physical Disk to Virtual Machine (VM)]&lt;br /&gt;
=Boot into VM BIOS=&lt;br /&gt;
During boot, F2 or DEL should get you in&lt;br /&gt;
=Linux ISO won&#039;t boot with OVMF=&lt;br /&gt;
Enter VM BIOS and disable Secure Boot&lt;br /&gt;
=Windows 10 VM=&lt;br /&gt;
==VM creation==&lt;br /&gt;
Create the VM selecting:&lt;br /&gt;
===OS===&lt;br /&gt;
Set Guest OS to Microsoft Windows, with the appropriate version.&lt;br /&gt;
===Hard Disk===&lt;br /&gt;
Set Bus to VirtIO block, and cache to Write Back.&lt;br /&gt;
===Network===&lt;br /&gt;
Set Model to Virtio&lt;br /&gt;
===Confirm===&lt;br /&gt;
DO NOT START VM at this point!!!&lt;br /&gt;
&lt;br /&gt;
Confirm creation.&lt;br /&gt;
==VM Options==&lt;br /&gt;
Set start at boot to yes.&lt;br /&gt;
&lt;br /&gt;
Set Qemu Agent to Enabled&lt;br /&gt;
==VM Hardware==&lt;br /&gt;
Add the virtio iso (above link) as a second cd drive.&lt;br /&gt;
==Start the VM==&lt;br /&gt;
==Add drivers==&lt;br /&gt;
The windows installation will stop when it doesn&#039;t have drivers for the hard drive.&lt;br /&gt;
&lt;br /&gt;
We will add that, and other drivers at this point.&lt;br /&gt;
&lt;br /&gt;
Each driver folder has a windows version, and a subfolder for amd64. You need to go down the directories for each.&lt;br /&gt;
*Balloon&lt;br /&gt;
&lt;br /&gt;
*NetKVM&lt;br /&gt;
&lt;br /&gt;
*vioserial&lt;br /&gt;
&lt;br /&gt;
*viostor&lt;br /&gt;
==Install Windows as normal==&lt;br /&gt;
==After install==&lt;br /&gt;
===Qemu guest agent===&lt;br /&gt;
Open the virtio disk in the guest machine and install the Guest agent.&lt;br /&gt;
&lt;br /&gt;
make sure services.msc has both qemu services running and set to automatic&lt;br /&gt;
===Balloon Service===&lt;br /&gt;
on the virtio disk go into the balloon folder, and the subdirectory for your version of windows.&lt;br /&gt;
&lt;br /&gt;
Copy the amd64 folder to the root of C:\&lt;br /&gt;
&lt;br /&gt;
rename the folder to Balloon&lt;br /&gt;
&lt;br /&gt;
enter balloon folder&lt;br /&gt;
&lt;br /&gt;
BLNSVR.exe -i&lt;br /&gt;
&lt;br /&gt;
make sure services.msc has balloon service running and set to automatic&lt;br /&gt;
===HID Button over Interrupt Driver in device manager without driver===&lt;br /&gt;
Open Device Manager -&amp;gt; Right click HID Button over Interrupt Driver -&amp;gt; Click Update Driver Software…&lt;br /&gt;
&lt;br /&gt;
Click Browse my computer for driver software&lt;br /&gt;
&lt;br /&gt;
Click Let me pick from a list of device drivers on my computer&lt;br /&gt;
&lt;br /&gt;
Select Generic Bus and click Next&lt;br /&gt;
&lt;br /&gt;
Click Close and the device should now be operating fine.&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox-VE&amp;diff=87</id>
		<title>Proxmox-VE</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox-VE&amp;diff=87"/>
		<updated>2022-03-15T16:19:26Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Terminology=&lt;br /&gt;
&#039;Node&#039; is a computer running proxmox.&lt;br /&gt;
&lt;br /&gt;
&#039;Cluster&#039; is  a group of proxmox nodes, that can being used together for easy migration or high availability.&lt;br /&gt;
&lt;br /&gt;
&#039;Container&#039; is a guest operating system that shares the kernel with the proxmox host, can give a performance boost compared to a normal Virtual OS.&lt;br /&gt;
=VM/LXC Specifics=&lt;br /&gt;
*[[Proxmox VM]]&lt;br /&gt;
*[[Proxmox LXC]]&lt;br /&gt;
=Installation=&lt;br /&gt;
Download the [https://www.proxmox.com/en/downloads ISO] and install on bare metal. Alternatively, you can [https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Buster install on top of an existing Debian]&lt;br /&gt;
==Extra Notes==&lt;br /&gt;
If ZFS is the storage system of choice, it helps to install on SSD for OS, and set up a ZFS pool manually later.&lt;br /&gt;
==Advice on Container/VM Numbering==&lt;br /&gt;
Create a VLAN for your containers, and allow the container number to reflect the IP address assigned to it. This will save you a great deal of headache.&lt;br /&gt;
&lt;br /&gt;
Example, say Plex, sonarr, radarr, lidarr, sabnzbd, etc are all on VLAN 12, and Plex&#039;s IP is 10.0.12.90 you can number the plex container 12090 to reflect VLANID+IP&lt;br /&gt;
==Enable Non-Subscription Updates==&lt;br /&gt;
Complete the following steps to your source lists to get updates.&lt;br /&gt;
===Enable No Subscription Repo===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list.d/pve-nosub.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;deb http://download.proxmox.com/debian bullseye pve-no-subscription&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list.d/pve-enterprise.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Comment out Enterprise Repo===&lt;br /&gt;
add a # symbol in front) of this line:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Install any and all available updates===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Non-production Bleeding Edge==&lt;br /&gt;
===PVE Testing Repo===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list.d/pve-testing.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;deb http://download.proxmox.com/debian/pve bullseye pvetest&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Debian Sid===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt/sources.list&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 deb http://deb.debian.org/debian sid main non-free contrib&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ sid main contrib non-free&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Install any and all available updates===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get dist-upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Fix Proxmox Web Interface===&lt;br /&gt;
If you see:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;unable to parse codename from &#039;/etc/os-release&#039; (500)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Then Modify the following file and add this line:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/os-release&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;VERSION_CODENAME=bullseye&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Disable subscription nag after login==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget https://git.deathbybandaid.net/attachments/3d08b1b4-b896-497b-893b-c9c0dbb830ca&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;dpkg -i pve-fake-subscription_*.deb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;127.0.0.1 shop.maurer-it.com&amp;quot; |  tee -a /etc/hosts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pve-fake-subscription&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Update Template Listing==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pveam update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Download Virtio iso==&lt;br /&gt;
[https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso ISO file]&lt;br /&gt;
==Headless Laptop==&lt;br /&gt;
If you want a laptop node, you may want to disable the lid closing action, or your node will go into standby.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/systemd/logind.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Change the lines below.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;HandleLidSwitch=ignore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;HandleLidSwitchDocked=ignore&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
restart the logind service.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl restart systemd-logind.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Change Network Settings without reboot==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install ifupdown2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Add an L2 virtual switch==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install openvswitch-switch&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Create sudo user==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;adduser sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;usermod -aG sudo sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Install a desktop environment (optional)==&lt;br /&gt;
This takes a few minutes... Make sure you have a non-root user!&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install tasksel&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;tasksel install desktop kde-desktop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl set-default graphical.target&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Dark Theme (Optional)==&lt;br /&gt;
[https://github.com/Weilbyte/PVEDiscordDark PVEDiscordDark]&lt;br /&gt;
&lt;br /&gt;
==Two Node Cluster==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/pve/corosync.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
look for the `quorum` section and add&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
  two_node: 1&lt;br /&gt;
  wait_for_all: 0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=manual add of cifs share=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvesm add cifs DrivePoolold --server 192.168.1.101 --share DrivePool --username Administrator --password ********* --smbversion 2.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clustering=&lt;br /&gt;
==Create a cluster==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm create YOUR-CLUSTER-NAME&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Add a node to a cluster==&lt;br /&gt;
From the node you want to add. (new nodes must be empty)&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm add IP-ADDRESS-CLUSTER&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove a node from a cluster==&lt;br /&gt;
Remove all containers from the node, and login to a node that you are keeping.&lt;br /&gt;
&lt;br /&gt;
it does not hurt to run these commands on all remaining nodes&lt;br /&gt;
&lt;br /&gt;
Delete the node&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm delnode hp4 NODE_NAME_TO_DELETE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Delete node configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd /etc/pve/nodes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rm -r NODE_NAME_TO_DELETE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
This step is purely to help with if you want to readd a new node with the same IP address as one you&#039;ve removed&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/ssh/ssh_known_hosts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And remove ip, and node name lines&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pvecm updatecerts&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -R 192.168.1.103&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -f &amp;quot;/etc/ssh/ssh_known_hosts&amp;quot; -R &amp;quot;192.168.1.103&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -f &amp;quot;/etc/ssh/ssh_known_hosts&amp;quot; -R &amp;quot;NODE_NAME_TO_DELETE&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
This step is when the replacement node is running:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh -o &#039;HostKeyAlias=pve5&#039; root@10.0.4.5&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Set Node to not wait for cluster votes==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pvecm expected 1&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=ZFS Tricks and Tips=&lt;br /&gt;
==Proxmox Default ZFS setup==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool create -f -o ashift=12 rpool /dev/sda /dev/sdb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zfs create rpool/data&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Directory mounted on ZFS==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zfs create rpool/downloads -o mountpoint=/downloads&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===backups directory in ZFS===&lt;br /&gt;
Create Directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zfs create tank/bkup  -o mountpoint=/bkup&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add to storage.cfg&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/pve/storage.cfg&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 dir: bkup&lt;br /&gt;
         path /bkup&lt;br /&gt;
         content vztmpl,iso,backup&lt;br /&gt;
         maxfiles 4&lt;br /&gt;
         shared 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Add ZFS swap space==&lt;br /&gt;
This will add 8GB of swap space for ZFS to use.&lt;br /&gt;
===Verify Current===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@Proxmox1:~# swapon -s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Filename                                Type            Size    Used    Priority&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zd0                                partition       8388604 4036884 -2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Add and activate===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@Proxmox1:~# zfs create -V 8G rpool/swap2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkswap /dev/zvol/rpool/swap2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;swapon /dev/zvol/rpool/swap2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Verify New===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;root@Proxmox1:~# swapon -s&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Filename                                Type            Size    Used    Priority&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zd0                                partition       8388604 4036884 -2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zd96                               partition       8388604 0       -3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Make Load at boot===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/fstab&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/zvol/rpool/swap2 none swap sw 0 0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Rename a pool===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool export [poolname]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
As an example, for a pool named tank which we wish to rename notankshere:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool export tank&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Then run:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool import [poolname] [newpoolname]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
e.g.:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;zpool import tank notankshere&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The pool will be imported as “notankshere” instead.&lt;br /&gt;
=Find and remove unused container disks=&lt;br /&gt;
Find:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct rescan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Look for lines that say &amp;quot;add unreferenced volume&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To remove, use the webui&lt;br /&gt;
=Troubleshooting and Error Handling Tips=&lt;br /&gt;
==Too many open files==&lt;br /&gt;
If you start receiving errors regarding &amp;quot;too many open files&amp;quot;, try applying these fixes.&lt;br /&gt;
&lt;br /&gt;
These errors increase when you start running large numbers of containers.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/security/limits.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add to the bottom of the file:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 *	soft	nofile	1048576&lt;br /&gt;
 *	hard	nofile	1048576&lt;br /&gt;
 root	soft	nofile	1048576&lt;br /&gt;
 root	hard	nofile	1048576&lt;br /&gt;
 *	soft	memlock	unlimited&lt;br /&gt;
 *	hard	memlock	unlimited&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/sysctl.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add to the bottom of the file:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 fs.inotify.max_queued_events=1048576&lt;br /&gt;
 fs.inotify.max_user_instances=1048576&lt;br /&gt;
 fs.inotify.max_user_watches=1048576&lt;br /&gt;
 vm.max_map_count=262144&lt;br /&gt;
 kernel.dmesg_restrict=1&lt;br /&gt;
 net.core.rmem_max = 16777216&lt;br /&gt;
 fs.file-max = 1048576&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /proc/sys/fs/inotify/max_user_watches&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Make the contents of the file:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;1048576&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Apply the New Settings:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sysctl -p&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sysctl --system&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==increase ulimit or decrease threads==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.prlimit.nofile = 20000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Container Names missing in left pane==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 service pvedaemon restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 service pvestatd restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 service pveproxy restart&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Backup Fails because ZFS Snapshot is already there==&lt;br /&gt;
I got an error on backup that said:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 INFO: starting new backup job: vzdump 190 --remove 0 --compress lzo --node Proxmox1 --storage DBB-Proxmox --mode snapshot&lt;br /&gt;
 INFO: filesystem type on dumpdir is &#039;cifs&#039; -using /var/tmp/vzdumptmp29423 for temporary files&lt;br /&gt;
 INFO: Starting Backup of VM 190 (lxc)&lt;br /&gt;
 INFO: status = running&lt;br /&gt;
 INFO: CT Name: sonarr.dbb.local&lt;br /&gt;
 INFO: excluding bind mount point mp0 (&#039;/Drivepool&#039;) from backup&lt;br /&gt;
 INFO: excluding bind mount point mp1 (&#039;/Downloads&#039;) from backup&lt;br /&gt;
 INFO: backup mode: snapshot&lt;br /&gt;
 INFO: ionice priority: 7&lt;br /&gt;
 INFO: create storage snapshot &#039;vzdump&#039;&lt;br /&gt;
 snapshot create failed: starting cleanup&lt;br /&gt;
 no lock found trying to remove &#039;backup&#039;  lock&lt;br /&gt;
 ERROR: Backup of VM 190 failed - zfs error: cannot create snapshot &#039;rpool/data/subvol-190-disk-1@vzdump&#039;: dataset already exists&lt;br /&gt;
 INFO: Backup job finished with errors&lt;br /&gt;
 TASK ERROR: job errors&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
The solution was to run:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@Proxmox1:~# zfs list -t snapshot&lt;br /&gt;
 NAME                                  USED  AVAIL  REFER  MOUNTPOINT&lt;br /&gt;
 rpool/data/subvol-190-disk-1@vzdump  86.5M      -  2.13G  -&lt;br /&gt;
 root@Proxmox1:~# zfs destroy rpool/data/subvol-190-disk-1@vzdump&lt;br /&gt;
 root@Proxmox1:~# zfs list -t snapshot&lt;br /&gt;
 no datasets available&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Found stale copy during migration==&lt;br /&gt;
I got this message&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 ERROR: found stale volume copy &#039;local-zfs:subvol-2032-disk-0&#039; on node &#039;Proxmox-HP&#039;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Solution (on host you are migrating TO):&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 qm rescan --vmid 2032&lt;br /&gt;
 &lt;br /&gt;
 OR for LXC&lt;br /&gt;
 &lt;br /&gt;
 pct rescan --vmid 2032&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 zfs list -rt all rpool&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 zfs destroy rpool/data/subvol-2032-disk-0&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=86</id>
		<title>Proxmox LXC</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Proxmox_LXC&amp;diff=86"/>
		<updated>2022-02-22T13:01:28Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Docker */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Proxmox-VE Main Page==&lt;br /&gt;
[[Proxmox-VE]]&lt;br /&gt;
=Mounts=&lt;br /&gt;
==Mounting a directory available to the host machine==&lt;br /&gt;
In this example, Drivepool is a cifs share on another machine. The container we are adding this to is 230. The first location is on the host machine, and the second is where you want it located in the container.&lt;br /&gt;
&lt;br /&gt;
The container should be shutdown/stopped before running this command.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;pct set 230 -mp0 /mnt/pve/Drivepool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
OR add to the config file located in&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/etc/pve/lxc/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
If your shared directory is present on all nodes add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Like this:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mp0: /mnt/pve/DrivePool,mp=/Drivepool,shared=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mounting a CIFS share in a container==&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable CIFS and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;DrivePool -fstype=cifs,rw,credentials=/etc/autofs/DrivePool.creds,file_mode=0777,dir_mode=0777 ://IPADDRESS/DrivePool&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/DrivePool.creds&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 domain=YOURDOMAIN&lt;br /&gt;
 username=YOURUSERNAME&lt;br /&gt;
 password=YOURPASSWORD&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Install AutoFS&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install -y cifs-utils autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add Our Configuration&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/FS1 /etc/autofs/DrivePool.conf --ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Mount directories from other containers==&lt;br /&gt;
===Method 1 AutoFS + sshfs===&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
&lt;br /&gt;
Start the container.&lt;br /&gt;
&lt;br /&gt;
We&#039;re going to create some configuration files&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /etc/autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/autofs/plex1.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bar -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#sysop@10.0.12.90:/your/remote/path&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs autofs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Now we setup passwordless auth to the other container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-keygen -t rsa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ssh-copy-id -i .ssh/id_rsa.pub sysop@10.0.12.90&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
It will prompt you for the password.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll create the mount directory&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir /mnt/sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
And add our configuration to autofs&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/auto.master&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/mnt/sshfs --timeout=30,--ghost&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Restart The Service&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service autofs restart&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Method 2 just sshfs===&lt;br /&gt;
Mount directories from other containers&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable FUSE, and nesting.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install sshfs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &amp;quot;yourpass&amp;quot; | sshfs youruser@10.0.15.31:/path/on/remote /mnt/pathyouwant -o password_stdin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;@reboot /bin/bash /home/sshfsmounts.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Passthrough Physical Disk to Container==&lt;br /&gt;
[https://forum.proxmox.com/threads/container-with-physical-disk.42280/#post-203292 Passthrough Physical Disk to Container]&lt;br /&gt;
=Device Passthrough=&lt;br /&gt;
==GPU Passthrough==&lt;br /&gt;
Install pve-headers, before and after you do any driver installs on host a below&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install pve-headers&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===NOTES===&lt;br /&gt;
This seems to need to be done sometimes after running updates on the host and rebooting.&lt;br /&gt;
===Nvidia===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.nvidia.com/Download/index.aspx Download Nvidia Driver for your card]&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Create Kernel rules&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/udev/rules.d/70-nvidia.rules&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_modeset&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -m &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia-modeset*&#039;&amp;quot;&lt;br /&gt;
 # Create /nvidia0, /dev/nvidia1 … and /nvidiactl when nvidia module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-smi -L &amp;amp;&amp;amp; /bin/chmod 666 /dev/nvidia*&#039;&amp;quot;&lt;br /&gt;
 # Create the CUDA node when nvidia_uvm CUDA module is loaded&lt;br /&gt;
 KERNEL==&amp;quot;nvidia_uvm&amp;quot;, RUN+=&amp;quot;/bin/bash -c &#039;/usr/bin/nvidia-modprobe -c0 -u &amp;amp;&amp;amp; /bin/chmod 0666 /dev/nvidia-uvm*&#039;&amp;quot;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Do a reboot&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;reboot&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
AND&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -al /dev/nvidia*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 0 Feb 11 18:11 /dev/nvidia0&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 255 Feb 11 18:11 /dev/nvidiactl&lt;br /&gt;
 crw-rw-rw- 1 root root 195, 254 Feb 11 18:11 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 0 Feb 11 18:11 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root 236, 1 Feb 11 18:11 /dev/nvidia-uvm-tools&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Take note of the numbers in the fifth column above 195, 236 and 226 respectively.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:255 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 195:254 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:0 rw&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 236:1 rw&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;chmod +x NVIDIA-Linux-x86_64-460.84.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./NVIDIA-Linux-x86_64-460.84.run --no-kernel-module&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===AMD Radeon===&lt;br /&gt;
====On Host====&lt;br /&gt;
[https://www.amd.com/en/support Download AMD Driver for your card]&lt;br /&gt;
&lt;br /&gt;
Extract file, and navigate into the extracted contents.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-pro-install --no-32 --opencl=legacy,rocr -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find the GPU device number. This usually is 226:0,128&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ls -l /dev/dri&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====In Container====&lt;br /&gt;
Copy the drivers over from the host somehow.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;./amdgpu-install --opencl=legacy --headless --no-dkms --no-32 -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install amf-amdgpu-pro&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===Intel Quick Sync===&lt;br /&gt;
I&#039;ve not personally tested this, but:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
&lt;br /&gt;
All Intel CPU’s since Sandy Bridge released in 2011 have hardware acceleration for H.264 built in.&lt;br /&gt;
&lt;br /&gt;
So if your CPU supports Quick Sync you can speed up transcoding and reduce load as well as energy consumption.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:0 rwm&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 226:128 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file&lt;br /&gt;
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Net Passthrough==&lt;br /&gt;
This is important if your container needs to be able to create a TUN device. This is useful for applications like openvpn.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 10:200 rwm&lt;br /&gt;
 lxc.mount.entry: /dev/net dev/net none bind,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==DVB Passthrough (TV Tuner Cards)==&lt;br /&gt;
This is useful for applications like tvheadend, nextpvr, plex, emby, jellyfin.&lt;br /&gt;
&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 212:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/dvb dev/dvb none bind,optional,create=dir&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==USB Passthrough==&lt;br /&gt;
Find the applicable usb major and minor numbers via:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #: lsusb&lt;br /&gt;
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub&lt;br /&gt;
 Bus 001 Device 013: ID 045e:0800 Microsoft Corp.&lt;br /&gt;
 Bus 001 Device 020: ID 04a9:1746 Canon, Inc.&lt;br /&gt;
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
ADD these lines to /etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup2.devices.allow: c 189:* rwm&lt;br /&gt;
 lxc.mount.entry: /dev/bus/usb/001/020 dev/bus/usb/001/020 none bind,optional,create=file&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Application Tricks for running in LXC=&lt;br /&gt;
==Docker==&lt;br /&gt;
&lt;br /&gt;
===Host===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 nano /etc/modules-load.d/modules.conf&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 modprobe overlay&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With the container stopped, Go to Options and edit the features. Enable nesting and keyctl.&lt;br /&gt;
&lt;br /&gt;
===Container===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Install&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 curl -fsSL https://get.docker.com -o get-docker.sh&lt;br /&gt;
 sh get-docker.sh&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Run NTP server in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;lxc.cap.drop = sys_module mac_admin mac_override&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Run avahi in LXC==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;mkdir -p /etc/systemd/system/avahi-daemon.service.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt;EOF &amp;gt; /etc/systemd/system/avahi-daemon.service.d/override.conf&lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=&lt;br /&gt;
 ExecStart=/usr/sbin/avahi-daemon -s --no-rlimits&lt;br /&gt;
 EOF&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 systemctl daemon-reload&lt;br /&gt;
 systemctl start avahi-daemon&lt;br /&gt;
 systemctl status avahi-daemon&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Running Ubuntu Snaps in LXC==&lt;br /&gt;
install squashfuse in the container&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install squashfuse fuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
then install snap&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install snap&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==LXC apache2 NAMESPACE fix==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sed -i -e &#039;s,PrivateTmp=true,PrivateTmp=false\nNoNewPrivileges=yes,g&#039; /lib/systemd/system/apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl daemon-reload&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;systemctl start apache2.service&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Forward ALSA audio to LXC container==&lt;br /&gt;
===Host Machine===&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 apt-get install dkms&lt;br /&gt;
 &lt;br /&gt;
 apt-get install libasound2 alsa-utils alsa-oss&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# arecord -l&lt;br /&gt;
 **** List of CAPTURE Hardware Devices ****&lt;br /&gt;
 card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]&lt;br /&gt;
   Subdevices: 0/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 card 1: CameraB409241 [USB Camera-B4.09.24.1], device 0: USB Audio [USB Audio]&lt;br /&gt;
   Subdevices: 1/1&lt;br /&gt;
   Subdevice #0: subdevice #0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 root@pve:~# ls -la /dev/snd&lt;br /&gt;
 total 0&lt;br /&gt;
 drwxr-xr-x  4 root root      360 Jul 10 23:26 .&lt;br /&gt;
 drwxr-xr-x 24 root root     4300 Jul 10 23:26 ..&lt;br /&gt;
 drwxr-xr-x  2 root root       60 Jul 10 23:26 by-id&lt;br /&gt;
 drwxr-xr-x  2 root root       80 Jul 10 23:26 by-path&lt;br /&gt;
 crw-rw----  1 root audio 116,  2 Jul 11 08:50 controlC0&lt;br /&gt;
 crw-rw----  1 root audio 116, 12 Jul 11 08:50 controlC1&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.cgroup.devices.allow = c 116:* rwm&lt;br /&gt;
 lxc.mount.entry = /dev/snd dev/snd none bind,create=dir 0 0&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Remove apparmor from a container==&lt;br /&gt;
There may be times that apparmor prevents a container from running properly (This is rare). If you trust the container, you can edit the configuration file to disable apparmor:&lt;br /&gt;
&lt;br /&gt;
Configs are located in `/etc/pve/lxc`&lt;br /&gt;
&lt;br /&gt;
add to the bottom of the config:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 lxc.apparmor.profile: unconfined&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Reduce the size of a container=&lt;br /&gt;
Containers can always be easily increased in size via the web panel. Reducing their size is a slightly more complicated procedure that must be done via CLI.&lt;br /&gt;
&lt;br /&gt;
This process requires you to backup a container, and then restore it with the new size. Note: directories may be different for you.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct stop &amp;lt;id&amp;gt;&lt;br /&gt;
 vzdump &amp;lt;id&amp;gt; -storage local -compress lzo&lt;br /&gt;
 pct destroy &amp;lt;id&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo --rootfs local:&amp;lt;newsize&amp;gt;&lt;br /&gt;
 pct fsck &amp;lt;id&amp;gt;&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Restore a Container from storage=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct restore &amp;lt;id&amp;gt; /var/lib/lxc/vzdump-lxc-&amp;lt;id&amp;gt;-....tar.lzo -storage local-zfs&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Clone a container=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 pct clone &amp;lt;id&amp;gt; &amp;lt;newid&amp;gt; --full --storage local-zfs --hostname newhostname&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=85</id>
		<title>MediaWiki:Vector.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=85"/>
		<updated>2022-02-03T21:37:54Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;@import url(&amp;quot;https://assets.deathbybandaid.net/theme.park/css/theme-options/plex.css&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
body {&lt;br /&gt;
   background: var(--main-bg-color);&lt;br /&gt;
   background-repeat: repeat, no-repeat;&lt;br /&gt;
   background-attachment: fixed, fixed;&lt;br /&gt;
   background-position: center center, center center;&lt;br /&gt;
   background-size: auto, cover;&lt;br /&gt;
   -webkit-background-size: auto, cover;&lt;br /&gt;
   -moz-background-size: auto, cover;&lt;br /&gt;
   -o-background-size: auto, cover;&lt;br /&gt;
   color: var(--text);&lt;br /&gt;
    border-color: var(--accent-color-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body {&lt;br /&gt;
   background: var(--main-bg-color);&lt;br /&gt;
   background-repeat: repeat, no-repeat;&lt;br /&gt;
   background-attachment: fixed, fixed;&lt;br /&gt;
   background-position: center center, center center;&lt;br /&gt;
   background-size: auto, cover;&lt;br /&gt;
   -webkit-background-size: auto, cover;&lt;br /&gt;
   -moz-background-size: auto, cover;&lt;br /&gt;
   -o-background-size: auto, cover;&lt;br /&gt;
   color: var(--text);&lt;br /&gt;
    border-color: var(--accent-color-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#mw-head {&lt;br /&gt;
   background: var(--main-bg-color);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a {&lt;br /&gt;
   color: var(--link-color);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a:visited {&lt;br /&gt;
   color: var(--accent-color-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1,h2,h3,h4,h5,h6 {&lt;br /&gt;
   color: var(--text);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-portlet-tb span {&lt;br /&gt;
   color: var(--text);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-menu-portal .vector-menu-content li a {&lt;br /&gt;
   color: var(--link-color);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-menu-portal .vector-menu-content li a:visited {&lt;br /&gt;
   color: var(--accent-color-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.toc {&lt;br /&gt;
    background: var(--modal-bg-color);&lt;br /&gt;
    border-color: var(--accent-color-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.vector-menu-tabs li a {&lt;br /&gt;
    #background: var(--modal-bg-color);&lt;br /&gt;
    color: var(--text);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-parser-output a.external.external {&lt;br /&gt;
    color: var(--link-color);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a.external.external:visited {&lt;br /&gt;
    color: var(--accent-color-hover);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#footer-info-lastmod {&lt;br /&gt;
    color: var(--text);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#searchInput {&lt;br /&gt;
    background-color:var(--modal-bg-color);&lt;br /&gt;
    border-color: var(--modal-bg-color);&lt;br /&gt;
    color: var(--text)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.suggestions-results {&lt;br /&gt;
    background-color:var(--drop-down-menu-bg);&lt;br /&gt;
    border-color: var(--drop-down-menu-bg);&lt;br /&gt;
    color: var(--text)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.suggestions-results:hover {&lt;br /&gt;
    background-color:var(--drop-down-menu-bg);&lt;br /&gt;
    border-color: var(--drop-down-menu-bg);&lt;br /&gt;
    color: var(--text)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.special-query {&lt;br /&gt;
    background-color:var(--drop-down-menu-bg);&lt;br /&gt;
    border-color: var(--drop-down-menu-bg);&lt;br /&gt;
    color: var(--text)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.special-label {&lt;br /&gt;
    background-color:var(--modal-bg-color);&lt;br /&gt;
    border-color: var(--modal-bg-color);&lt;br /&gt;
    color: var(--text)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.suggestions-special {&lt;br /&gt;
    background-color:var(--drop-down-menu-bg);&lt;br /&gt;
    border-color: var(--drop-down-menu-bg);&lt;br /&gt;
    color: var(--text)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-searchSuggest-link {&lt;br /&gt;
   background-color:var(--drop-down-menu-bg);&lt;br /&gt;
    border-color: var(--drop-down-menu-bg);&lt;br /&gt;
    color: var(--link-color) &lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=84</id>
		<title>MediaWiki:Vector.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=84"/>
		<updated>2022-02-03T20:33:45Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=83</id>
		<title>MediaWiki:Vector.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=83"/>
		<updated>2022-02-03T20:30:38Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will affect users of the Vector skin */&lt;br /&gt;
/* Override Vector colour scheme to make it dark (compiled from modified LESS code) */&lt;br /&gt;
 h1,h2,h3,h4,h5,h6{&lt;br /&gt;
    color:#c1c1c1&lt;br /&gt;
}&lt;br /&gt;
hr{&lt;br /&gt;
    color:#222&lt;br /&gt;
}&lt;br /&gt;
.editOptions{&lt;br /&gt;
    background-color:#333;&lt;br /&gt;
    border-color:#4c4c4c&lt;br /&gt;
}&lt;br /&gt;
input,textarea{&lt;br /&gt;
    background-color:#4c4c4c;&lt;br /&gt;
    border-color:#4c4c4c;&lt;br /&gt;
    color:#c1c1c1&lt;br /&gt;
}&lt;br /&gt;
a,.mw-body a.external,.mw-body a.extiw{&lt;br /&gt;
    color:#e69710&lt;br /&gt;
}&lt;br /&gt;
a:visited,.mw-body a.external:visited,.mw-body a.extiw:visited{&lt;br /&gt;
    color:#8a7f6c&lt;br /&gt;
}&lt;br /&gt;
a.new,#p-personal a.new{&lt;br /&gt;
    color:#d44&lt;br /&gt;
}&lt;br /&gt;
ul{&lt;br /&gt;
    list-style-image:none&lt;br /&gt;
}&lt;br /&gt;
div.thumbinner,.catlinks{&lt;br /&gt;
    background-color:#4c4c4c;&lt;br /&gt;
    border-color:#666&lt;br /&gt;
}&lt;br /&gt;
#toc,div.toc,ul#filetoc,li.gallerybox div.thumb{&lt;br /&gt;
    background-color:#4c4c4c;&lt;br /&gt;
    border-color:#666&lt;br /&gt;
}&lt;br /&gt;
code{&lt;br /&gt;
    border:none;&lt;br /&gt;
    background-color:inherit;&lt;br /&gt;
    color:inherit&lt;br /&gt;
}&lt;br /&gt;
table.mw_metadata td,table.mw_metadata th,table.wikitable,table.wikitable&amp;gt;*&amp;gt;tr&amp;gt;th,table.wikitable&amp;gt;*&amp;gt;tr&amp;gt;td,pre{&lt;br /&gt;
    color:#c1c1c1;&lt;br /&gt;
    background-color:#4c4c4c;&lt;br /&gt;
    border-color:#666&lt;br /&gt;
}&lt;br /&gt;
table.mw_metadata th,table.wikitable&amp;gt;*&amp;gt;tr&amp;gt;th{&lt;br /&gt;
    background-color:#595959&lt;br /&gt;
}&lt;br /&gt;
table.diff{&lt;br /&gt;
    background-color:#4c4c4c&lt;br /&gt;
}&lt;br /&gt;
td .diffchange{&lt;br /&gt;
    color:#4c4c4c&lt;br /&gt;
}&lt;br /&gt;
#pagehistory li.selected,td.diff-context{&lt;br /&gt;
    background-color:inherit;&lt;br /&gt;
    color:inherit&lt;br /&gt;
}&lt;br /&gt;
#pagehistory li{&lt;br /&gt;
    border:0&lt;br /&gt;
}&lt;br /&gt;
ul.mw-gallery-packed-hover li.gallerybox:hover div.gallerytextwrapper,ul.mw-gallery-packed-overlay li.gallerybox div.gallerytextwrapper,ul.mw-gallery-packed-hover li.gallerybox.mw-gallery-focused div.gallerytextwrapper{&lt;br /&gt;
    background-color:rgba(0,0,0,0.8)&lt;br /&gt;
}&lt;br /&gt;
#left-navigation div.vectorTabs,#right-navigation div.vectorTabs{&lt;br /&gt;
    background-image:inherit;&lt;br /&gt;
    background-color:#250b2d&lt;br /&gt;
}&lt;br /&gt;
#left-navigation div.vectorTabs ul,#right-navigation div.vectorTabs ul{&lt;br /&gt;
    background-color:#250b2d&lt;br /&gt;
}&lt;br /&gt;
#left-navigation div.vectorTabs ul li,#right-navigation div.vectorTabs ul li{&lt;br /&gt;
    background-color:#222;&lt;br /&gt;
    background-image:-moz-linear-gradient(top, #2e2e2e 20%, #222 100%);&lt;br /&gt;
    background-image:-webkit-gradient(linear, left top, left bottom, color-stop(20%, #2e2e2e), color-stop(100%, #222));&lt;br /&gt;
    background-image:-webkit-linear-gradient(top, #2e2e2e 20%, #222 100%);&lt;br /&gt;
    background-image:linear-gradient(#2e2e2e 20%, #222 100%)&lt;br /&gt;
}&lt;br /&gt;
#left-navigation div.vectorTabs li.new a,#right-navigation div.vectorTabs li.new a,#left-navigation div.vectorTabs li.new a:visited,#right-navigation div.vectorTabs li.new a:visited{&lt;br /&gt;
    color:#d44&lt;br /&gt;
}&lt;br /&gt;
#left-navigation div.vectorTabs li.selected,#right-navigation div.vectorTabs li.selected{&lt;br /&gt;
    background-color:#333;&lt;br /&gt;
    background-image:-moz-linear-gradient(top, #e69710 0, #333 10%);&lt;br /&gt;
    background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #e69710), color-stop(10%, #333));&lt;br /&gt;
    background-image:-webkit-linear-gradient(top, #e69710 0, #333 10%);&lt;br /&gt;
    background-image:linear-gradient(#e69710 0, #333 10%)&lt;br /&gt;
}&lt;br /&gt;
#left-navigation div.vectorTabs li.selected a,#right-navigation div.vectorTabs li.selected a,#left-navigation div.vectorTabs li.selected a:visited,#right-navigation div.vectorTabs li.selected a:visited{&lt;br /&gt;
    color:#8a7f6c&lt;br /&gt;
}&lt;br /&gt;
#left-navigation div.vectorTabs li a,#right-navigation div.vectorTabs li a{&lt;br /&gt;
    color:#e69710&lt;br /&gt;
}&lt;br /&gt;
#left-navigation div.vectorTabs span,#right-navigation div.vectorTabs span{&lt;br /&gt;
    background:transparent&lt;br /&gt;
}&lt;br /&gt;
div#mw-head #right-navigation div.vectorMenu h3{&lt;br /&gt;
    background:inherit&lt;br /&gt;
}&lt;br /&gt;
div#mw-head div.vectorMenu h3 span{&lt;br /&gt;
    color:#e69710&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu h3 a{&lt;br /&gt;
    background:inherit&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu ul{&lt;br /&gt;
    background-color:black;&lt;br /&gt;
    border:solid 1px #0c0c0c&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu li a{&lt;br /&gt;
    color:#e69710&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu li.selected a,div.vectorMenu li.selected a:visited{&lt;br /&gt;
    color:#8a7f6c;&lt;br /&gt;
    text-decoration:none&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu#p-cactions div.menu{&lt;br /&gt;
    border-color:#666&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu#p-cactions ul{&lt;br /&gt;
    border:0;&lt;br /&gt;
    background-color:#4c4c4c&lt;br /&gt;
}&lt;br /&gt;
#mw-navigation div#mw-panel div.portal{&lt;br /&gt;
    background-image:none;&lt;br /&gt;
    border-top:1px solid #4c4c4c&lt;br /&gt;
}&lt;br /&gt;
#mw-navigation div#mw-panel div.portal#p-logo,#mw-navigation div#mw-panel div.portal#p-navigation{&lt;br /&gt;
    border-top:none&lt;br /&gt;
}&lt;br /&gt;
html{&lt;br /&gt;
    font-size:100%&lt;br /&gt;
}&lt;br /&gt;
html,body{&lt;br /&gt;
    height:100%;&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding:0;&lt;br /&gt;
    font-family:sans-serif&lt;br /&gt;
}&lt;br /&gt;
body{&lt;br /&gt;
    background-color:#2a2a2a&lt;br /&gt;
}&lt;br /&gt;
.mw-body{&lt;br /&gt;
    margin-left:10em;&lt;br /&gt;
    padding:1em;&lt;br /&gt;
    border:1px solid #250b2d;&lt;br /&gt;
    border-right-width:0;&lt;br /&gt;
    margin-top:-1px;&lt;br /&gt;
    background-color:#333;&lt;br /&gt;
    color:#c1c1c1;&lt;br /&gt;
    direction:ltr&lt;br /&gt;
}&lt;br /&gt;
.mw-body .mw-editsection,.mw-body .mw-editsection-like{&lt;br /&gt;
    font-family:sans-serif&lt;br /&gt;
}&lt;br /&gt;
.mw-body p{&lt;br /&gt;
    line-height:inherit;&lt;br /&gt;
    margin:.5em 0&lt;br /&gt;
}&lt;br /&gt;
.mw-body h1,.mw-body h2,.mw-body #firstHeading{&lt;br /&gt;
    font-family:&amp;quot;Linux Libertine&amp;quot;,Georgia,Times,serif;&lt;br /&gt;
    line-height:1.3;&lt;br /&gt;
    margin-bottom:.25em;&lt;br /&gt;
    padding:0&lt;br /&gt;
}&lt;br /&gt;
.mw-body h1,.mw-body #firstHeading{&lt;br /&gt;
    font-size:1.8em&lt;br /&gt;
}&lt;br /&gt;
.mw-body h2{&lt;br /&gt;
    font-size:1.5em;&lt;br /&gt;
    margin-top:1em&lt;br /&gt;
}&lt;br /&gt;
.mw-body h3,.mw-body h4,.mw-body h5,.mw-body h6{&lt;br /&gt;
    line-height:1.6;&lt;br /&gt;
    margin-top:.3em;&lt;br /&gt;
    margin-bottom:0;&lt;br /&gt;
    padding-bottom:0&lt;br /&gt;
}&lt;br /&gt;
.mw-body h3{&lt;br /&gt;
    font-size:1.17em&lt;br /&gt;
}&lt;br /&gt;
.mw-body h3,.mw-body h4{&lt;br /&gt;
    font-weight:bold&lt;br /&gt;
}&lt;br /&gt;
.mw-body h4,.mw-body h5,.mw-body h6{&lt;br /&gt;
    font-size:100%&lt;br /&gt;
}&lt;br /&gt;
.mw-body #toc h2,.mw-body .toc h2{&lt;br /&gt;
    font-size:100%;&lt;br /&gt;
    font-family:sans-serif&lt;br /&gt;
}&lt;br /&gt;
div.emptyPortlet{&lt;br /&gt;
    display:none&lt;br /&gt;
}&lt;br /&gt;
ul{&lt;br /&gt;
    list-style-type:disc;&lt;br /&gt;
    list-style-image:&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/bullet-icon.png&#039;)&lt;br /&gt;
}&lt;br /&gt;
pre,.mw-code{&lt;br /&gt;
    line-height:1.3em&lt;br /&gt;
}&lt;br /&gt;
#siteNotice{&lt;br /&gt;
    font-size:.8em&lt;br /&gt;
}&lt;br /&gt;
.redirectText{&lt;br /&gt;
    font-size:140%&lt;br /&gt;
}&lt;br /&gt;
.redirectMsg img{&lt;br /&gt;
    vertical-align:text-bottom&lt;br /&gt;
}&lt;br /&gt;
.mw-body-content{&lt;br /&gt;
    position:relative;&lt;br /&gt;
    line-height:1.6;&lt;br /&gt;
    font-size:.875em&lt;br /&gt;
}&lt;br /&gt;
body.vector-animateLayout .mw-body,body.vector-animateLayout div#footer,body.vector-animateLayout #left-navigation{&lt;br /&gt;
    -webkit-transition:margin-left 250ms,padding 250ms;&lt;br /&gt;
    -moz-transition:margin-left 250ms,padding 250ms;&lt;br /&gt;
    -o-transition:margin-left 250ms,padding 250ms;&lt;br /&gt;
    transition:margin-left 250ms,padding 250ms&lt;br /&gt;
}&lt;br /&gt;
body.vector-animateLayout #p-logo{&lt;br /&gt;
    -webkit-transition:left 250ms;&lt;br /&gt;
    -moz-transition:left 250ms;&lt;br /&gt;
    -o-transition:left 250ms;&lt;br /&gt;
    transition:left 250ms&lt;br /&gt;
}&lt;br /&gt;
body.vector-animateLayout #mw-panel{&lt;br /&gt;
    -webkit-transition:padding-right 250ms;&lt;br /&gt;
    -moz-transition:padding-right 250ms;&lt;br /&gt;
    -o-transition:padding-right 250ms;&lt;br /&gt;
    transition:padding-right 250ms&lt;br /&gt;
}&lt;br /&gt;
body.vector-animateLayout #p-search{&lt;br /&gt;
    -webkit-transition:margin-right 250ms;&lt;br /&gt;
    -moz-transition:margin-right 250ms;&lt;br /&gt;
    -o-transition:margin-right 250ms;&lt;br /&gt;
    transition:margin-right 250ms&lt;br /&gt;
}&lt;br /&gt;
body.vector-animateLayout #p-personal{&lt;br /&gt;
    -webkit-transition:right 250ms;&lt;br /&gt;
    -moz-transition:right 250ms;&lt;br /&gt;
    -o-transition:right 250ms;&lt;br /&gt;
    transition:right 250ms&lt;br /&gt;
}&lt;br /&gt;
body.vector-animateLayout #mw-head-base{&lt;br /&gt;
    -webkit-transition:margin-left 250ms;&lt;br /&gt;
    -moz-transition:margin-left 250ms;&lt;br /&gt;
    -o-transition:margin-left 250ms;&lt;br /&gt;
    transition:margin-left 250ms&lt;br /&gt;
}&lt;br /&gt;
#p-personal{&lt;br /&gt;
    position:absolute;&lt;br /&gt;
    top:.33em;&lt;br /&gt;
    right:.75em;&lt;br /&gt;
    z-index:100&lt;br /&gt;
}&lt;br /&gt;
#p-personal h3{&lt;br /&gt;
    display:none&lt;br /&gt;
}&lt;br /&gt;
#p-personal ul{&lt;br /&gt;
    list-style-type:none;&lt;br /&gt;
    list-style-image:none;&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding-left:10em&lt;br /&gt;
}&lt;br /&gt;
#p-personal li{&lt;br /&gt;
    line-height:1.125em;&lt;br /&gt;
    float:left;&lt;br /&gt;
    margin-left:.75em;&lt;br /&gt;
    margin-top:.5em;&lt;br /&gt;
    font-size:.75em;&lt;br /&gt;
    white-space:nowrap&lt;br /&gt;
}&lt;br /&gt;
#pt-userpage,#pt-anonuserpage{&lt;br /&gt;
    background-position:left top;&lt;br /&gt;
    background-repeat:no-repeat;&lt;br /&gt;
    background-image:url(&#039;skins/Vector/images/user-icon.png&#039;);&lt;br /&gt;
    background-image:-webkit-linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/user-icon.svg&#039;);&lt;br /&gt;
    background-image:linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/user-icon.svg&#039;);&lt;br /&gt;
    padding-left:15px !important&lt;br /&gt;
}&lt;br /&gt;
#p-search{&lt;br /&gt;
    float:left;&lt;br /&gt;
    margin-right:.5em;&lt;br /&gt;
    margin-left:.5em&lt;br /&gt;
}&lt;br /&gt;
#p-search h3{&lt;br /&gt;
    display:none&lt;br /&gt;
}&lt;br /&gt;
#p-search form,#p-search input{&lt;br /&gt;
    margin:0;&lt;br /&gt;
    margin-top:.4em&lt;br /&gt;
}&lt;br /&gt;
div#simpleSearch{&lt;br /&gt;
    display:block;&lt;br /&gt;
    width:12.6em;&lt;br /&gt;
    padding-right:1.4em;&lt;br /&gt;
    height:1.4em;&lt;br /&gt;
    margin-top:.65em;&lt;br /&gt;
    position:relative;&lt;br /&gt;
    min-height:1px;&lt;br /&gt;
    border:solid 1px #aaa;&lt;br /&gt;
    color:black;&lt;br /&gt;
    background-color:white;&lt;br /&gt;
    background-image:&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/search-fade.png&#039;);&lt;br /&gt;
    background-position:top left;&lt;br /&gt;
    background-repeat:repeat-x&lt;br /&gt;
}&lt;br /&gt;
div#simpleSearch input{&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding:0;&lt;br /&gt;
    border:0;&lt;br /&gt;
    background-color:transparent;&lt;br /&gt;
    color:black&lt;br /&gt;
}&lt;br /&gt;
div#simpleSearch #searchInput{&lt;br /&gt;
    width:100%;&lt;br /&gt;
    padding:.2em 0 .2em .2em;&lt;br /&gt;
    font-size:13px;&lt;br /&gt;
    direction:ltr;&lt;br /&gt;
    -webkit-appearance:textfield&lt;br /&gt;
}&lt;br /&gt;
div#simpleSearch #searchInput:focus{&lt;br /&gt;
    outline:none&lt;br /&gt;
}&lt;br /&gt;
div#simpleSearch #searchInput.placeholder{&lt;br /&gt;
    color:#999&lt;br /&gt;
}&lt;br /&gt;
div#simpleSearch #searchInput:-ms-input-placeholder{&lt;br /&gt;
    color:#999&lt;br /&gt;
}&lt;br /&gt;
div#simpleSearch #searchInput:-moz-placeholder{&lt;br /&gt;
    color:#999&lt;br /&gt;
}&lt;br /&gt;
div#simpleSearch #searchInput::-webkit-search-decoration,div#simpleSearch #searchInput::-webkit-search-cancel-button,div#simpleSearch #searchInput::-webkit-search-results-button,div#simpleSearch #searchInput::-webkit-search-results-decoration{&lt;br /&gt;
    -webkit-appearance:textfield&lt;br /&gt;
}&lt;br /&gt;
div#simpleSearch #searchButton,div#simpleSearch #mw-searchButton{&lt;br /&gt;
    position:absolute;&lt;br /&gt;
    top:0;&lt;br /&gt;
    right:0;&lt;br /&gt;
    width:1.65em;&lt;br /&gt;
    height:100%;&lt;br /&gt;
    cursor:pointer;&lt;br /&gt;
    text-indent:-99999px;&lt;br /&gt;
    line-height:1;&lt;br /&gt;
    direction:ltr;&lt;br /&gt;
    white-space:nowrap;&lt;br /&gt;
    overflow:hidden;&lt;br /&gt;
    background-image:url(&#039;skins/Vector/images/search-ltr.png&#039;);&lt;br /&gt;
    background-image:-webkit-linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/search-ltr.svg&#039;);&lt;br /&gt;
    background-image:linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/search-ltr.svg&#039;);&lt;br /&gt;
    background-position:center center;&lt;br /&gt;
    background-repeat:no-repeat&lt;br /&gt;
}&lt;br /&gt;
div#simpleSearch #mw-searchButton{&lt;br /&gt;
    z-index:1&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs h3{&lt;br /&gt;
    display:none&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs{&lt;br /&gt;
    float:left;&lt;br /&gt;
    height:2.5em;&lt;br /&gt;
    background-image:&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/tab-break.png&#039;);&lt;br /&gt;
    background-position:bottom left;&lt;br /&gt;
    background-repeat:no-repeat;&lt;br /&gt;
    padding-left:1px&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs ul{&lt;br /&gt;
    float:left;&lt;br /&gt;
    height:100%;&lt;br /&gt;
    list-style-type:none;&lt;br /&gt;
    list-style-image:none;&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding:0;&lt;br /&gt;
    background-image:&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/tab-break.png&#039;);&lt;br /&gt;
    background-position:right bottom;&lt;br /&gt;
    background-repeat:no-repeat&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs ul li{&lt;br /&gt;
    float:left;&lt;br /&gt;
    line-height:1.125em;&lt;br /&gt;
    display:inline-block;&lt;br /&gt;
    height:100%;&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding:0;&lt;br /&gt;
    background-color:#f3f3f3;&lt;br /&gt;
    background-image:&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/tab-normal-fade.png&#039;);&lt;br /&gt;
    background-position:bottom left;&lt;br /&gt;
    background-repeat:repeat-x;&lt;br /&gt;
    white-space:nowrap&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs ul&amp;gt;li{&lt;br /&gt;
    display:block&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs li.new a,div.vectorTabs li.new a:visited{&lt;br /&gt;
    color:#a55858&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs li.selected{&lt;br /&gt;
    background-image:&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/tab-current-fade.png&#039;)&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs li.selected a,div.vectorTabs li.selected a:visited{&lt;br /&gt;
    color:#333;&lt;br /&gt;
    text-decoration:none&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs li.icon a{&lt;br /&gt;
    background-position:bottom right;&lt;br /&gt;
    background-repeat:no-repeat&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs li a{&lt;br /&gt;
    display:inline-block;&lt;br /&gt;
    height:1.9em;&lt;br /&gt;
    padding-left:.5em;&lt;br /&gt;
    padding-right:.5em;&lt;br /&gt;
    color:#e69710;&lt;br /&gt;
    cursor:pointer;&lt;br /&gt;
    font-size:.8em&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs li&amp;gt;a{&lt;br /&gt;
    display:block&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs span{&lt;br /&gt;
    display:inline-block;&lt;br /&gt;
    background-image:&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/tab-break.png&#039;);&lt;br /&gt;
    background-position:bottom right;&lt;br /&gt;
    background-repeat:no-repeat&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs span a{&lt;br /&gt;
    display:inline-block;&lt;br /&gt;
    padding-top:1.25em&lt;br /&gt;
}&lt;br /&gt;
div.vectorTabs span&amp;gt;a{&lt;br /&gt;
    float:left;&lt;br /&gt;
    display:block&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu{&lt;br /&gt;
    direction:ltr;&lt;br /&gt;
    float:left;&lt;br /&gt;
    cursor:pointer;&lt;br /&gt;
    position:relative&lt;br /&gt;
}&lt;br /&gt;
body.rtl div.vectorMenu{&lt;br /&gt;
    direction:rtl&lt;br /&gt;
}&lt;br /&gt;
div#mw-head div.vectorMenu h3{&lt;br /&gt;
    float:left;&lt;br /&gt;
    background-image:&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/tab-break.png&#039;);&lt;br /&gt;
    background-repeat:no-repeat;&lt;br /&gt;
    background-position:bottom right;&lt;br /&gt;
    margin-left:-1px;&lt;br /&gt;
    font-size:1em;&lt;br /&gt;
    height:2.5em;&lt;br /&gt;
    padding-right:1px;&lt;br /&gt;
    margin-right:-1px&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu h3 span{&lt;br /&gt;
    display:block;&lt;br /&gt;
    font-size:.8em;&lt;br /&gt;
    padding-left:.7em;&lt;br /&gt;
    padding-top:1.375em;&lt;br /&gt;
    margin-right:20px;&lt;br /&gt;
    font-weight:normal;&lt;br /&gt;
    color:#4d4d4d&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu h3 a{&lt;br /&gt;
    position:absolute;&lt;br /&gt;
    top:0;&lt;br /&gt;
    right:0;&lt;br /&gt;
    width:20px;&lt;br /&gt;
    height:2.5em;&lt;br /&gt;
    background-image:url(&#039;skins/Vector/images/arrow-down-icon.png&#039;);&lt;br /&gt;
    background-image:-webkit-linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/arrow-down-icon.svg&#039;);&lt;br /&gt;
    background-image:linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/arrow-down-icon.svg&#039;);&lt;br /&gt;
    background-position:100% 70%;&lt;br /&gt;
    background-repeat:no-repeat;&lt;br /&gt;
    -webkit-transition:background-position 250ms;&lt;br /&gt;
    -moz-transition:background-position 250ms;&lt;br /&gt;
    -o-transition:background-position 250ms;&lt;br /&gt;
    transition:background-position 250ms&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu.menuForceShow h3 a{&lt;br /&gt;
    background-position:100% 100%&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenuFocus h3 a{&lt;br /&gt;
    background-image:url(&#039;skins/Vector/images/arrow-down-focus-icon.png&#039;);&lt;br /&gt;
    background-image:-webkit-linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/arrow-down-focus-icon.svg&#039;);&lt;br /&gt;
    background-image:linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/arrow-down-focus-icon.svg&#039;)&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu div.menu{&lt;br /&gt;
    min-width:100%;&lt;br /&gt;
    position:absolute;&lt;br /&gt;
    top:2.5em;&lt;br /&gt;
    left:-1px;&lt;br /&gt;
    background-color:white;&lt;br /&gt;
    border:solid 1px silver;&lt;br /&gt;
    border-top-width:0;&lt;br /&gt;
    clear:both;&lt;br /&gt;
    text-align:left;&lt;br /&gt;
    display:none&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu:hover div.menu,div.vectorMenu.menuForceShow div.menu{&lt;br /&gt;
    display:block&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu ul{&lt;br /&gt;
    list-style-type:none;&lt;br /&gt;
    list-style-image:none;&lt;br /&gt;
    padding:0;&lt;br /&gt;
    margin:0;&lt;br /&gt;
    text-align:left&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu ul,x:-moz-any-link{&lt;br /&gt;
    min-width:5em&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu ul,x:-moz-any-link,x:default{&lt;br /&gt;
    min-width:0&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu li{&lt;br /&gt;
    padding:0;&lt;br /&gt;
    margin:0;&lt;br /&gt;
    text-align:left;&lt;br /&gt;
    line-height:1em&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu li a{&lt;br /&gt;
    display:inline-block;&lt;br /&gt;
    padding:.5em;&lt;br /&gt;
    white-space:nowrap;&lt;br /&gt;
    color:#e69710;&lt;br /&gt;
    cursor:pointer;&lt;br /&gt;
    font-size:.8em&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu li&amp;gt;a{&lt;br /&gt;
    display:block&lt;br /&gt;
}&lt;br /&gt;
div.vectorMenu li.selected a,div.vectorMenu li.selected a:visited{&lt;br /&gt;
    color:#333;&lt;br /&gt;
    text-decoration:none&lt;br /&gt;
}&lt;br /&gt;
@-webkit-keyframes rotate{&lt;br /&gt;
    from{&lt;br /&gt;
        -webkit-transform:rotate(0deg);&lt;br /&gt;
        -moz-transform:rotate(0deg);&lt;br /&gt;
        transform:rotate(0deg)&lt;br /&gt;
    }&lt;br /&gt;
    to{&lt;br /&gt;
        -webkit-transform:rotate(360deg);&lt;br /&gt;
        -moz-transform:rotate(360deg);&lt;br /&gt;
        transform:rotate(360deg)&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
@-moz-keyframes rotate{&lt;br /&gt;
    from{&lt;br /&gt;
        -webkit-transform:rotate(0deg);&lt;br /&gt;
        -moz-transform:rotate(0deg);&lt;br /&gt;
        transform:rotate(0deg)&lt;br /&gt;
    }&lt;br /&gt;
    to{&lt;br /&gt;
        -webkit-transform:rotate(360deg);&lt;br /&gt;
        -moz-transform:rotate(360deg);&lt;br /&gt;
        transform:rotate(360deg)&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
@-o-keyframes rotate{&lt;br /&gt;
    from{&lt;br /&gt;
        -webkit-transform:rotate(0deg);&lt;br /&gt;
        -moz-transform:rotate(0deg);&lt;br /&gt;
        transform:rotate(0deg)&lt;br /&gt;
    }&lt;br /&gt;
    to{&lt;br /&gt;
        -webkit-transform:rotate(360deg);&lt;br /&gt;
        -moz-transform:rotate(360deg);&lt;br /&gt;
        transform:rotate(360deg)&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
@keyframes rotate{&lt;br /&gt;
    from{&lt;br /&gt;
        -webkit-transform:rotate(0deg);&lt;br /&gt;
        -moz-transform:rotate(0deg);&lt;br /&gt;
        transform:rotate(0deg)&lt;br /&gt;
    }&lt;br /&gt;
    to{&lt;br /&gt;
        -webkit-transform:rotate(360deg);&lt;br /&gt;
        -moz-transform:rotate(360deg);&lt;br /&gt;
        transform:rotate(360deg)&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
#ca-unwatch.icon a,#ca-watch.icon a{&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding:0;&lt;br /&gt;
    display:block;&lt;br /&gt;
    width:26px;&lt;br /&gt;
    padding-top:3.1em;&lt;br /&gt;
    margin-top:0;&lt;br /&gt;
    height:0;&lt;br /&gt;
    overflow:hidden;&lt;br /&gt;
    background-position:5px 60%&lt;br /&gt;
}&lt;br /&gt;
#ca-unwatch.icon a{&lt;br /&gt;
    background-image:url(&#039;skins/Vector/images/unwatch-icon.png&#039;);&lt;br /&gt;
    background-image:-webkit-linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/unwatch-icon.svg&#039;);&lt;br /&gt;
    background-image:linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/unwatch-icon.svg&#039;)&lt;br /&gt;
}&lt;br /&gt;
#ca-watch.icon a{&lt;br /&gt;
    background-image:url(&#039;skins/Vector/images/watch-icon.png&#039;);&lt;br /&gt;
    background-image:-webkit-linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/watch-icon.svg&#039;);&lt;br /&gt;
    background-image:linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/watch-icon.svg&#039;)&lt;br /&gt;
}&lt;br /&gt;
#ca-unwatch.icon a:hover,#ca-unwatch.icon a:focus{&lt;br /&gt;
    background-image:url(&#039;skins/Vector/images/unwatch-icon-hl.png&#039;);&lt;br /&gt;
    background-image:-webkit-linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/unwatch-icon-hl.svg&#039;);&lt;br /&gt;
    background-image:linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/unwatch-icon-hl.svg&#039;)&lt;br /&gt;
}&lt;br /&gt;
#ca-watch.icon a:hover,#ca-watch.icon a:focus{&lt;br /&gt;
    background-image:url(&#039;skins/Vector/images/watch-icon-hl.png&#039;);&lt;br /&gt;
    background-image:-webkit-linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/watch-icon-hl.svg&#039;);&lt;br /&gt;
    background-image:linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/watch-icon-hl.svg&#039;)&lt;br /&gt;
}&lt;br /&gt;
#ca-unwatch.icon a.loading,#ca-watch.icon a.loading{&lt;br /&gt;
    background-image:url(&#039;skins/Vector/images/watch-icon-loading.png&#039;);&lt;br /&gt;
    background-image:-webkit-linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/watch-icon-loading.svg&#039;);&lt;br /&gt;
    background-image:linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/watch-icon-loading.svg&#039;);&lt;br /&gt;
    -webkit-animation:rotate 700ms infinite linear;&lt;br /&gt;
    -moz-animation:rotate 700ms infinite linear;&lt;br /&gt;
    -o-animation:rotate 700ms infinite linear;&lt;br /&gt;
    animation:rotate 700ms infinite linear;&lt;br /&gt;
    outline:none;&lt;br /&gt;
    cursor:default;&lt;br /&gt;
    pointer-events:none;&lt;br /&gt;
    background-position:50% 60%;&lt;br /&gt;
    -webkit-transform-origin:50% 57%;&lt;br /&gt;
    transform-origin:50% 57%&lt;br /&gt;
}&lt;br /&gt;
#ca-unwatch.icon a span,#ca-watch.icon a span{&lt;br /&gt;
    display:none&lt;br /&gt;
}&lt;br /&gt;
#mw-navigation h2{&lt;br /&gt;
    position:absolute;&lt;br /&gt;
    top:-9999px&lt;br /&gt;
}&lt;br /&gt;
#mw-page-base{&lt;br /&gt;
    height:5em;&lt;br /&gt;
    background-position:bottom left;&lt;br /&gt;
    background-repeat:repeat-x;&lt;br /&gt;
    background-image:url(&#039;skins/Vector/images/page-fade.png&#039;);&lt;br /&gt;
    background-color:#2a2a2a;&lt;br /&gt;
    background-image:-moz-linear-gradient(top, #333 50%, #2a2a2a 100%);&lt;br /&gt;
    background-image:-webkit-gradient(linear, left top, left bottom, color-stop(50%, #333), color-stop(100%, #2a2a2a));&lt;br /&gt;
    background-image:-webkit-linear-gradient(top, #333 50%, #2a2a2a 100%);&lt;br /&gt;
    background-image:linear-gradient(#333 50%, #2a2a2a 100%);&lt;br /&gt;
    background-color:#333&lt;br /&gt;
}&lt;br /&gt;
#mw-head-base{&lt;br /&gt;
    margin-top:-5em;&lt;br /&gt;
    margin-left:10em;&lt;br /&gt;
    height:5em&lt;br /&gt;
}&lt;br /&gt;
div#mw-head{&lt;br /&gt;
    position:absolute;&lt;br /&gt;
    top:0;&lt;br /&gt;
    right:0;&lt;br /&gt;
    width:100%&lt;br /&gt;
}&lt;br /&gt;
div#mw-head h3{&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding:0&lt;br /&gt;
}&lt;br /&gt;
#left-navigation{&lt;br /&gt;
    float:left;&lt;br /&gt;
    margin-left:10em;&lt;br /&gt;
    margin-top:2.5em;&lt;br /&gt;
    margin-bottom:-2.5em;&lt;br /&gt;
    display:inline&lt;br /&gt;
}&lt;br /&gt;
#right-navigation{&lt;br /&gt;
    float:right;&lt;br /&gt;
    margin-top:2.5em&lt;br /&gt;
}&lt;br /&gt;
#p-logo{&lt;br /&gt;
    position:absolute;&lt;br /&gt;
    top:-160px;&lt;br /&gt;
    left:0;&lt;br /&gt;
    width:10em;&lt;br /&gt;
    height:160px&lt;br /&gt;
}&lt;br /&gt;
#p-logo a{&lt;br /&gt;
    display:block;&lt;br /&gt;
    width:10em;&lt;br /&gt;
    height:160px;&lt;br /&gt;
    background-repeat:no-repeat;&lt;br /&gt;
    background-position:center center;&lt;br /&gt;
    text-decoration:none&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel{&lt;br /&gt;
    font-size:inherit;&lt;br /&gt;
    position:absolute;&lt;br /&gt;
    top:160px;&lt;br /&gt;
    padding-top:1em;&lt;br /&gt;
    width:10em;&lt;br /&gt;
    left:0&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel div.portal{&lt;br /&gt;
    margin:0 .6em 0 .7em;&lt;br /&gt;
    padding:.25em 0;&lt;br /&gt;
    direction:ltr;&lt;br /&gt;
    background-position:top left;&lt;br /&gt;
    background-repeat:no-repeat;&lt;br /&gt;
    background-image:&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/portal-break.png&#039;)&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel div.portal h3{&lt;br /&gt;
    font-size:.75em;&lt;br /&gt;
    color:#4d4d4d;&lt;br /&gt;
    font-weight:normal;&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding:.25em 0 .25em .25em;&lt;br /&gt;
    cursor:default;&lt;br /&gt;
    border:none&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel div.portal div.body{&lt;br /&gt;
    margin:0 0 0 1.25em;&lt;br /&gt;
    padding-top:0&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel div.portal div.body ul{&lt;br /&gt;
    list-style-type:none;&lt;br /&gt;
    list-style-image:none;&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding:0&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel div.portal div.body ul li{&lt;br /&gt;
    line-height:1.125em;&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding:.25em 0;&lt;br /&gt;
    font-size:.75em;&lt;br /&gt;
    word-wrap:break-word&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel div.portal div.body ul li a{&lt;br /&gt;
    color:#e69710&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel div.portal div.body ul li a:visited{&lt;br /&gt;
    color:#8a7f6c&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel div.portal.first{&lt;br /&gt;
    background-image:none;&lt;br /&gt;
    margin-top:0&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel div.portal.first h3{&lt;br /&gt;
    display:none&lt;br /&gt;
}&lt;br /&gt;
div#mw-panel div.portal.first div.body{&lt;br /&gt;
    margin-left:.5em&lt;br /&gt;
}&lt;br /&gt;
div#footer{&lt;br /&gt;
    margin-left:10em;&lt;br /&gt;
    margin-top:0;&lt;br /&gt;
    padding:.75em;&lt;br /&gt;
    direction:ltr&lt;br /&gt;
}&lt;br /&gt;
div#footer ul{&lt;br /&gt;
    list-style-type:none;&lt;br /&gt;
    list-style-image:none;&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding:0&lt;br /&gt;
}&lt;br /&gt;
div#footer ul li{&lt;br /&gt;
    margin:0;&lt;br /&gt;
    padding:0;&lt;br /&gt;
    padding-top:.5em;&lt;br /&gt;
    padding-bottom:.5em;&lt;br /&gt;
    color:#333;&lt;br /&gt;
    font-size:.7em&lt;br /&gt;
}&lt;br /&gt;
div#footer #footer-icons{&lt;br /&gt;
    float:right&lt;br /&gt;
}&lt;br /&gt;
div#footer #footer-icons li{&lt;br /&gt;
    float:left;&lt;br /&gt;
    margin-left:.5em;&lt;br /&gt;
    line-height:2em;&lt;br /&gt;
    text-align:right&lt;br /&gt;
}&lt;br /&gt;
div#footer #footer-info li{&lt;br /&gt;
    line-height:1.4em&lt;br /&gt;
}&lt;br /&gt;
div#footer #footer-places li{&lt;br /&gt;
    float:left;&lt;br /&gt;
    margin-right:1em;&lt;br /&gt;
    line-height:2em&lt;br /&gt;
}&lt;br /&gt;
body.ltr div#footer #footer-places{&lt;br /&gt;
    float:left&lt;br /&gt;
}&lt;br /&gt;
.mw-body .external{&lt;br /&gt;
    background-position:center right;&lt;br /&gt;
    background-repeat:no-repeat;&lt;br /&gt;
    background-image:url(&#039;skins/Vector/images/external-link-ltr-icon.png&#039;);&lt;br /&gt;
    background-image:-webkit-linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/external-link-ltr-icon.svg&#039;);&lt;br /&gt;
    background-image:linear-gradient(transparent, transparent),&lt;br /&gt;
    /* @embed */&lt;br /&gt;
     url(&#039;skins/Vector/images/external-link-ltr-icon.svg&#039;);&lt;br /&gt;
    padding-right:13px&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Unbound&amp;diff=82</id>
		<title>Unbound</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Unbound&amp;diff=82"/>
		<updated>2021-12-09T19:11:47Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Conf file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Opening Disclaimers=&lt;br /&gt;
==Proxmox==&lt;br /&gt;
This Guide is written based on the use of [[Proxmox-VE]] version 7.0 and more specifically [[Proxmox_LXC]]. These instructions should be adaptable to other situations.&lt;br /&gt;
===Container Creation===&lt;br /&gt;
====General====&lt;br /&gt;
*Unpriviliged container: checked&lt;br /&gt;
*Nesting: unchecked&lt;br /&gt;
====Template====&lt;br /&gt;
*Template: ubuntu-21.04-standard_21.04-1_amd64&lt;br /&gt;
====Disks====&lt;br /&gt;
*Disk Size (GiB): 4&lt;br /&gt;
====CPU====&lt;br /&gt;
Cores: 1&lt;br /&gt;
====Memory====&lt;br /&gt;
*Memory (MiB): 256&lt;br /&gt;
*Swap (MiB): 512&lt;br /&gt;
====Network====&lt;br /&gt;
*IPv4 Static&lt;br /&gt;
*IPv4 Gateway&lt;br /&gt;
====DNS====&lt;br /&gt;
*DNS Servers: 8.8.8.8 (Change to 127.0.0.1 post-install)&lt;br /&gt;
====Confirm====&lt;br /&gt;
*Start After Created: unchecked&lt;br /&gt;
===Container Tweaks===&lt;br /&gt;
====Options====&lt;br /&gt;
*Start at boot: yes&lt;br /&gt;
===Container First Run Steps===&lt;br /&gt;
Run Updates&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt update &amp;amp;&amp;amp; apt full-upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add a sudo user&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;adduser sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;usermod -aG sudo sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Cleanup The Container for some easy space savings.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt autoremove -y &amp;amp;&amp;amp; apt clean -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Unbound Installation=&lt;br /&gt;
==My Insights==&lt;br /&gt;
*It&#039;s good practice to have both 2 instances of Unbound, so you can update one at a time, and still have DNS for your home network. You can either follow this guide twice, or clone the container.&lt;br /&gt;
==Prerequisite Guide(s)==&lt;br /&gt;
==Dependency Installs==&lt;br /&gt;
==Unbound Installation==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install unbound&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Let&#039;s free up port 53 from systemd-resolved&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/systemd/resolved.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Change&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#DNSStubListener=yes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
To&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;DNSStubListener=no&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Change&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#DNS=&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
To&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;DNS=127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===For Use With Pi-Hole===&lt;br /&gt;
&lt;br /&gt;
==== Root Hints from Package Manager ====&lt;br /&gt;
If you have `dns-root-data` installed skip the below script.&lt;br /&gt;
&lt;br /&gt;
====Root Hints Updating By Script====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/root_hints_update.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ROOTSURL=https://www.internic.net/domain/named.root&lt;br /&gt;
 CURRENTROOTS=/var/lib/unbound/root.hints&lt;br /&gt;
 TEMPROOTS=/tmp/root.hints&lt;br /&gt;
 DOWNLOADFRESH=false&lt;br /&gt;
 &lt;br /&gt;
 if [[ -f $CURRENTROOTS ]]&lt;br /&gt;
 then&lt;br /&gt;
   echo &amp;quot;Checking existing file&amp;quot;&lt;br /&gt;
   SOURCEMODIFIEDLAST=$(curl --silent --head $ROOTSURL | awk -F: &#039;/^Last-Modified/ { print $2 }&#039;)&lt;br /&gt;
   SOURCEMODIFIEDTIME=$(date --date=&amp;quot;$SOURCEMODIFIEDLAST&amp;quot; +%s)&lt;br /&gt;
   LOCALFILEMODIFIEDLAST=$(stat -c %z &amp;quot;$CURRENTROOTS&amp;quot;)&lt;br /&gt;
   LOCALFILEMODIFIEDTIME=$(date --date=&amp;quot;$LOCALFILEMODIFIEDLAST&amp;quot; +%s)&lt;br /&gt;
   if [[ $LOCALFILEMODIFIEDTIME -lt $SOURCEMODIFIEDTIME ]]&lt;br /&gt;
   then&lt;br /&gt;
     DOWNLOADFRESH=true&lt;br /&gt;
     echo &amp;quot;File updated online&amp;quot;&lt;br /&gt;
   else&lt;br /&gt;
     echo &amp;quot;File not updated online&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
 else&lt;br /&gt;
   DOWNLOADFRESH=true&lt;br /&gt;
   echo &amp;quot;File Missing&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 if [[ $DOWNLOADFRESH = true ]]&lt;br /&gt;
 then&lt;br /&gt;
   echo &amp;quot;Attempting to download file&amp;quot;&lt;br /&gt;
   wget -O $TEMPROOTS $ROOTSURL&lt;br /&gt;
   FETCHFILESIZE=$(stat -c%s $TEMPROOTS)&lt;br /&gt;
   if [[ $FETCHFILESIZE -gt 0 ]]&lt;br /&gt;
   then&lt;br /&gt;
      mv $TEMPROOTS $CURRENTROOTS&lt;br /&gt;
   else&lt;br /&gt;
     echo &amp;quot;File download failed&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
 else&lt;br /&gt;
   echo &amp;quot;Not downloading file&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # restart unbound&lt;br /&gt;
 if [[ $DOWNLOADFRESH = true ]]&lt;br /&gt;
 then&lt;br /&gt;
   service unbound restart&lt;br /&gt;
 fi&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bash /home/root_hints_update.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;0 0 * * 0 /bin/bash /home/root_hints_update.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====Conf file====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/unbound/unbound.conf.d/pi-hole.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  server:&lt;br /&gt;
      # If no logfile is specified, syslog is used&lt;br /&gt;
      # logfile: &amp;quot;/var/log/unbound/unbound.log&amp;quot;&lt;br /&gt;
      verbosity: 0&lt;br /&gt;
      &lt;br /&gt;
      # all interfaces&lt;br /&gt;
      interface: 0.0.0.0&lt;br /&gt;
      interface:e::0&lt;br /&gt;
  &lt;br /&gt;
      port: 53&lt;br /&gt;
      do-ip4: yes&lt;br /&gt;
      do-udp: yes&lt;br /&gt;
      do-tcp: yes&lt;br /&gt;
  &lt;br /&gt;
      # May be set to yes if you have IPv6 connectivity&lt;br /&gt;
      do-ip6: no&lt;br /&gt;
  &lt;br /&gt;
      # Use this only when you downloaded the list of primary root servers!&lt;br /&gt;
      root-hints: &amp;quot;/var/lib/unbound/root.hints&amp;quot; # If using above script&lt;br /&gt;
      #/usr/share/dns/root.hints from package maintainer&lt;br /&gt;
 &lt;br /&gt;
      # Trust glue only if it is within the servers authority&lt;br /&gt;
      harden-glue: yes&lt;br /&gt;
  &lt;br /&gt;
      # Require DNSSEC data for trust-anchored zones, if such data is absent, the zone becomes BOGUS&lt;br /&gt;
      harden-dnssec-stripped: yes&lt;br /&gt;
  &lt;br /&gt;
      # Don&#039;t use Capitalization randomization as it known to cause DNSSEC issues sometimes&lt;br /&gt;
      # see &amp;lt;nowiki&amp;gt;https://discourse.pi-hole.net/t/unbound-stubby-or-dnscrypt-proxy/9378&amp;lt;/nowiki&amp;gt; for further details&lt;br /&gt;
      use-caps-for-id: no&lt;br /&gt;
  &lt;br /&gt;
      # Reduce EDNS reassembly buffer size.&lt;br /&gt;
      # Suggested by the unbound man page to reduce fragmentation reassembly problems&lt;br /&gt;
      edns-buffer-size: 1472&lt;br /&gt;
  &lt;br /&gt;
      # TTL bounds for cache&lt;br /&gt;
      cache-min-ttl: 3600&lt;br /&gt;
      cache-max-ttl: 86400&lt;br /&gt;
  &lt;br /&gt;
      # Perform prefetching of close to expired message cache entries&lt;br /&gt;
      # This only applies to domains that have been frequently queried&lt;br /&gt;
      prefetch: yes&lt;br /&gt;
  &lt;br /&gt;
      # One thread should be sufficient, can be increased on beefy machines&lt;br /&gt;
      num-threads: 1&lt;br /&gt;
  &lt;br /&gt;
      # Ensure kernel buffer is large enough to not loose messages in traffic spikes&lt;br /&gt;
      so-rcvbuf: 1m&lt;br /&gt;
  &lt;br /&gt;
      # Ensure privacy of local IP ranges&lt;br /&gt;
      private-address: 192.168.0.0/16&lt;br /&gt;
      private-address: 169.254.0.0/16&lt;br /&gt;
      private-address: 172.16.0.0/12&lt;br /&gt;
      private-address: 10.0.0.0/8&lt;br /&gt;
      private-address: fd00::/8&lt;br /&gt;
      private-address: fe80::/10&lt;br /&gt;
  &lt;br /&gt;
      # Allow access from local IP ranges&lt;br /&gt;
      access-control: 192.168.0.0/16 allow&lt;br /&gt;
      access-control: 169.254.0.0/16 allow&lt;br /&gt;
      access-control: 172.16.0.0/12 allow&lt;br /&gt;
      access-control: 10.0.0.0/8 allow&lt;br /&gt;
      access-control: fd00::/8 allow&lt;br /&gt;
      access-control: fe80::/10 allow&lt;br /&gt;
  &lt;br /&gt;
      # Allow access all IP ranges&lt;br /&gt;
      #access-control: 0.0.0.0/0 allow&lt;br /&gt;
If you run into issues with Plex Rebind feel free to add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
     # Plex Rebind fix&lt;br /&gt;
     private-domain: plex.direct&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service unbound restart&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Unbound&amp;diff=81</id>
		<title>Unbound</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Unbound&amp;diff=81"/>
		<updated>2021-12-09T17:40:26Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Conf file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Opening Disclaimers=&lt;br /&gt;
==Proxmox==&lt;br /&gt;
This Guide is written based on the use of [[Proxmox-VE]] version 7.0 and more specifically [[Proxmox_LXC]]. These instructions should be adaptable to other situations.&lt;br /&gt;
===Container Creation===&lt;br /&gt;
====General====&lt;br /&gt;
*Unpriviliged container: checked&lt;br /&gt;
*Nesting: unchecked&lt;br /&gt;
====Template====&lt;br /&gt;
*Template: ubuntu-21.04-standard_21.04-1_amd64&lt;br /&gt;
====Disks====&lt;br /&gt;
*Disk Size (GiB): 4&lt;br /&gt;
====CPU====&lt;br /&gt;
Cores: 1&lt;br /&gt;
====Memory====&lt;br /&gt;
*Memory (MiB): 256&lt;br /&gt;
*Swap (MiB): 512&lt;br /&gt;
====Network====&lt;br /&gt;
*IPv4 Static&lt;br /&gt;
*IPv4 Gateway&lt;br /&gt;
====DNS====&lt;br /&gt;
*DNS Servers: 8.8.8.8 (Change to 127.0.0.1 post-install)&lt;br /&gt;
====Confirm====&lt;br /&gt;
*Start After Created: unchecked&lt;br /&gt;
===Container Tweaks===&lt;br /&gt;
====Options====&lt;br /&gt;
*Start at boot: yes&lt;br /&gt;
===Container First Run Steps===&lt;br /&gt;
Run Updates&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt update &amp;amp;&amp;amp; apt full-upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add a sudo user&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;adduser sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;usermod -aG sudo sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Cleanup The Container for some easy space savings.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt autoremove -y &amp;amp;&amp;amp; apt clean -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Unbound Installation=&lt;br /&gt;
==My Insights==&lt;br /&gt;
*It&#039;s good practice to have both 2 instances of Unbound, so you can update one at a time, and still have DNS for your home network. You can either follow this guide twice, or clone the container.&lt;br /&gt;
==Prerequisite Guide(s)==&lt;br /&gt;
==Dependency Installs==&lt;br /&gt;
==Unbound Installation==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt install unbound&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Let&#039;s free up port 53 from systemd-resolved&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/systemd/resolved.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Change&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#DNSStubListener=yes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
To&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;DNSStubListener=no&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Change&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#DNS=&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
To&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;DNS=127.0.0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
===For Use With Pi-Hole===&lt;br /&gt;
&lt;br /&gt;
==== Root Hints from Package Manager ====&lt;br /&gt;
If you have `dns-root-data` installed skip the below script.&lt;br /&gt;
&lt;br /&gt;
====Root Hints Updating By Script====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /home/root_hints_update.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 ROOTSURL=https://www.internic.net/domain/named.root&lt;br /&gt;
 CURRENTROOTS=/var/lib/unbound/root.hints&lt;br /&gt;
 TEMPROOTS=/tmp/root.hints&lt;br /&gt;
 DOWNLOADFRESH=false&lt;br /&gt;
 &lt;br /&gt;
 if [[ -f $CURRENTROOTS ]]&lt;br /&gt;
 then&lt;br /&gt;
   echo &amp;quot;Checking existing file&amp;quot;&lt;br /&gt;
   SOURCEMODIFIEDLAST=$(curl --silent --head $ROOTSURL | awk -F: &#039;/^Last-Modified/ { print $2 }&#039;)&lt;br /&gt;
   SOURCEMODIFIEDTIME=$(date --date=&amp;quot;$SOURCEMODIFIEDLAST&amp;quot; +%s)&lt;br /&gt;
   LOCALFILEMODIFIEDLAST=$(stat -c %z &amp;quot;$CURRENTROOTS&amp;quot;)&lt;br /&gt;
   LOCALFILEMODIFIEDTIME=$(date --date=&amp;quot;$LOCALFILEMODIFIEDLAST&amp;quot; +%s)&lt;br /&gt;
   if [[ $LOCALFILEMODIFIEDTIME -lt $SOURCEMODIFIEDTIME ]]&lt;br /&gt;
   then&lt;br /&gt;
     DOWNLOADFRESH=true&lt;br /&gt;
     echo &amp;quot;File updated online&amp;quot;&lt;br /&gt;
   else&lt;br /&gt;
     echo &amp;quot;File not updated online&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
 else&lt;br /&gt;
   DOWNLOADFRESH=true&lt;br /&gt;
   echo &amp;quot;File Missing&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 if [[ $DOWNLOADFRESH = true ]]&lt;br /&gt;
 then&lt;br /&gt;
   echo &amp;quot;Attempting to download file&amp;quot;&lt;br /&gt;
   wget -O $TEMPROOTS $ROOTSURL&lt;br /&gt;
   FETCHFILESIZE=$(stat -c%s $TEMPROOTS)&lt;br /&gt;
   if [[ $FETCHFILESIZE -gt 0 ]]&lt;br /&gt;
   then&lt;br /&gt;
      mv $TEMPROOTS $CURRENTROOTS&lt;br /&gt;
   else&lt;br /&gt;
     echo &amp;quot;File download failed&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
 else&lt;br /&gt;
   echo &amp;quot;Not downloading file&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 # restart unbound&lt;br /&gt;
 if [[ $DOWNLOADFRESH = true ]]&lt;br /&gt;
 then&lt;br /&gt;
   service unbound restart&lt;br /&gt;
 fi&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;bash /home/root_hints_update.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;crontab -e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;0 0 * * 0 /bin/bash /home/root_hints_update.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====Conf file====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/unbound/unbound.conf.d/pi-hole.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  server:&lt;br /&gt;
      # If no logfile is specified, syslog is used&lt;br /&gt;
      # logfile: &amp;quot;/var/log/unbound/unbound.log&amp;quot;&lt;br /&gt;
      verbosity: 0&lt;br /&gt;
      &lt;br /&gt;
      # all interfaces&lt;br /&gt;
      interface: 0.0.0.0&lt;br /&gt;
      interface: ::0&lt;br /&gt;
  &lt;br /&gt;
      port: 53&lt;br /&gt;
      do-ip4: yes&lt;br /&gt;
      do-udp: yes&lt;br /&gt;
      do-tcp: yes&lt;br /&gt;
  &lt;br /&gt;
      # May be set to yes if you have IPv6 connectivity&lt;br /&gt;
      do-ip6: no&lt;br /&gt;
  &lt;br /&gt;
      # Use this only when you downloaded the list of primary root servers!&lt;br /&gt;
      root-hints: &amp;quot;/var/lib/unbound/root.hints&amp;quot; # If using above script&lt;br /&gt;
      #/usr/share/dns/root.hints from package maintainer&lt;br /&gt;
 &lt;br /&gt;
      # Trust glue only if it is within the servers authority&lt;br /&gt;
      harden-glue: yes&lt;br /&gt;
  &lt;br /&gt;
      # Require DNSSEC data for trust-anchored zones, if such data is absent, the zone becomes BOGUS&lt;br /&gt;
      harden-dnssec-stripped: yes&lt;br /&gt;
  &lt;br /&gt;
      # Don&#039;t use Capitalization randomization as it known to cause DNSSEC issues sometimes&lt;br /&gt;
      # see &amp;lt;nowiki&amp;gt;https://discourse.pi-hole.net/t/unbound-stubby-or-dnscrypt-proxy/9378&amp;lt;/nowiki&amp;gt; for further details&lt;br /&gt;
      use-caps-for-id: no&lt;br /&gt;
  &lt;br /&gt;
      # Reduce EDNS reassembly buffer size.&lt;br /&gt;
      # Suggested by the unbound man page to reduce fragmentation reassembly problems&lt;br /&gt;
      edns-buffer-size: 1472&lt;br /&gt;
  &lt;br /&gt;
      # TTL bounds for cache&lt;br /&gt;
      cache-min-ttl: 3600&lt;br /&gt;
      cache-max-ttl: 86400&lt;br /&gt;
  &lt;br /&gt;
      # Perform prefetching of close to expired message cache entries&lt;br /&gt;
      # This only applies to domains that have been frequently queried&lt;br /&gt;
      prefetch: yes&lt;br /&gt;
  &lt;br /&gt;
      # One thread should be sufficient, can be increased on beefy machines&lt;br /&gt;
      num-threads: 1&lt;br /&gt;
  &lt;br /&gt;
      # Ensure kernel buffer is large enough to not loose messages in traffic spikes&lt;br /&gt;
      so-rcvbuf: 1m&lt;br /&gt;
  &lt;br /&gt;
      # Ensure privacy of local IP ranges&lt;br /&gt;
      private-address: 192.168.0.0/16&lt;br /&gt;
      private-address: 169.254.0.0/16&lt;br /&gt;
      private-address: 172.16.0.0/12&lt;br /&gt;
      private-address: 10.0.0.0/8&lt;br /&gt;
      private-address: fd00::/8&lt;br /&gt;
      private-address: fe80::/10&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
If you run into issues with Plex Rebind feel free to add&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
     # Plex Rebind fix&lt;br /&gt;
     private-domain: plex.direct&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;service unbound restart&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Apt-Cacher_NG&amp;diff=80</id>
		<title>Apt-Cacher NG</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Apt-Cacher_NG&amp;diff=80"/>
		<updated>2021-12-09T15:23:32Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Client Config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Opening Disclaimers=&lt;br /&gt;
==Proxmox==&lt;br /&gt;
This Guide is written based on the use of [[Proxmox-VE]] version 7.0 and more specifically [[Proxmox_LXC]]. These instructions should be adaptable to other situations.&lt;br /&gt;
===Container Creation===&lt;br /&gt;
====General====&lt;br /&gt;
*Unpriviliged container: checked&lt;br /&gt;
*Nesting: unchecked&lt;br /&gt;
====Template====&lt;br /&gt;
*Template: ubuntu-21.04-standard_21.04-1_amd64&lt;br /&gt;
====Disks====&lt;br /&gt;
*Disk Size (GiB): 4&lt;br /&gt;
====CPU====&lt;br /&gt;
Cores: 1&lt;br /&gt;
====Memory====&lt;br /&gt;
*Memory (MiB): 256&lt;br /&gt;
*Swap (MiB): 512&lt;br /&gt;
====Network====&lt;br /&gt;
*IPv4 Static&lt;br /&gt;
*IPv4 Gateway&lt;br /&gt;
====DNS====&lt;br /&gt;
*DNS Servers: 8.8.8.8 (Change to 127.0.0.1 post-install)&lt;br /&gt;
====Confirm====&lt;br /&gt;
*Start After Created: unchecked&lt;br /&gt;
===Container Tweaks===&lt;br /&gt;
====Options====&lt;br /&gt;
*Start at boot: yes&lt;br /&gt;
===Container First Run Steps===&lt;br /&gt;
Run Updates&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt update &amp;amp;&amp;amp; apt full-upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add a sudo user&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;adduser sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;usermod -aG sudo sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Cleanup The Container for some easy space savings.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt autoremove -y &amp;amp;&amp;amp; apt clean -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Apt-Cacher NG Installation=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install apt-cacher-ng&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Client Config=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &#039;Acquire::http { Proxy &amp;quot;http://proxy:3142&amp;quot;; }&#039; | sudo tee -a /etc/apt/apt.conf.d/00proxy&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
 nano /etc/apt/apt.conf.d/00proxy&lt;br /&gt;
 &amp;lt;code&amp;gt;Acquire {&lt;br /&gt;
   HTTP::proxy &amp;quot;&amp;lt;nowiki&amp;gt;http://proxy_server:port/&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
   HTTPS::proxy &amp;quot;&amp;lt;nowiki&amp;gt;http://proxy_server:port/&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
=Tweaks=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt-cacher-ng/acng.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add to the bottom&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;PassThroughPattern: .*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find this section and tweak:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 # Repository remapping. See manual for details.&lt;br /&gt;
 # In this example, some backends files might be generated during package&lt;br /&gt;
 # installation using information collected on the system.&lt;br /&gt;
 # Examples:&lt;br /&gt;
 Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian # Debian Archives&lt;br /&gt;
 Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu # Ubuntu Archives&lt;br /&gt;
 Remap-uburepsec: security.ubuntu.com /uburepsec ; file:backends_ubuntu&lt;br /&gt;
 Remap-cygwin: file:cygwin_mirrors /cygwin # ; file:backends_cygwin # incomplete, please create this file or specify preferred mirrors here&lt;br /&gt;
 Remap-sfnet:  file:sfnet_mirrors # ; file:backends_sfnet # incomplete, please create this file or specify preferred mirrors here&lt;br /&gt;
 Remap-alxrep: file:archlx_mirrors /archlinux # ; file:backend_archlx # Arch Linux&lt;br /&gt;
 Remap-fedora: file:fedora_mirrors # Fedora Linux&lt;br /&gt;
 Remap-epel:   file:epel_mirrors # Fedora EPEL&lt;br /&gt;
 Remap-slrep:  file:sl_mirrors # Scientific Linux&lt;br /&gt;
 Remap-gentoo: file:gentoo_mirrors.gz /gentoo ; file:backends_gentoo # Gentoo Archives&lt;br /&gt;
 Remap-openjdk: file:openjdk /openjdk ; file:openjdk&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Create this file if not there&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt-cacher-ng/sfnet_mirrors&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 http://biznetnetworks.dl.sourceforge.net/project/&lt;br /&gt;
 http://cdnetworks-us-1.dl.sourceforge.net/project/&lt;br /&gt;
 http://citylan.dl.sourceforge.net/project/&lt;br /&gt;
 http://dfn.dl.sourceforge.net/project/&lt;br /&gt;
 http://fastbull.dl.sourceforge.net/project/&lt;br /&gt;
 http://freefr.dl.sourceforge.net/project/&lt;br /&gt;
 http://garr.dl.sourceforge.net/project/&lt;br /&gt;
 http://heanet.dl.sourceforge.net/project/&lt;br /&gt;
 http://hivelocity.dl.sourceforge.net/project/&lt;br /&gt;
 http://ignum.dl.sourceforge.net/project/&lt;br /&gt;
 http://internode.dl.sourceforge.net/project/&lt;br /&gt;
 http://iweb.dl.sourceforge.net/project/&lt;br /&gt;
 http://jaist.dl.sourceforge.net/project/&lt;br /&gt;
 http://kent.dl.sourceforge.net/project/&lt;br /&gt;
 http://mesh.dl.sourceforge.net/project/&lt;br /&gt;
 http://nchc.dl.sourceforge.net/project/&lt;br /&gt;
 http://ncu.dl.sourceforge.net/project/&lt;br /&gt;
 http://netcologne.dl.sourceforge.net/project/&lt;br /&gt;
 http://ovh.dl.sourceforge.net/project/&lt;br /&gt;
 http://puzzle.dl.sourceforge.net/project/&lt;br /&gt;
 http://softlayer.dl.sourceforge.net/project/&lt;br /&gt;
 http://space.dl.sourceforge.net/project/&lt;br /&gt;
 http://sunet.dl.sourceforge.net/project/&lt;br /&gt;
 http://superb-east,.dl.sourceforge.net/project/&lt;br /&gt;
 http://surfnet.dl.sourceforge.net/project/&lt;br /&gt;
 http://switch.dl.sourceforge.net/project/&lt;br /&gt;
 http://transact.dl.sourceforge.net/project/&lt;br /&gt;
 http://ufpr.dl.sourceforge.net/project/&lt;br /&gt;
 http://voxel.dl.sourceforge.net/project/&lt;br /&gt;
 http://waix.dl.sourceforge.net/project/&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Apt-Cacher_NG&amp;diff=79</id>
		<title>Apt-Cacher NG</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Apt-Cacher_NG&amp;diff=79"/>
		<updated>2021-12-09T15:22:41Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: /* Client Config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=Opening Disclaimers=&lt;br /&gt;
==Proxmox==&lt;br /&gt;
This Guide is written based on the use of [[Proxmox-VE]] version 7.0 and more specifically [[Proxmox_LXC]]. These instructions should be adaptable to other situations.&lt;br /&gt;
===Container Creation===&lt;br /&gt;
====General====&lt;br /&gt;
*Unpriviliged container: checked&lt;br /&gt;
*Nesting: unchecked&lt;br /&gt;
====Template====&lt;br /&gt;
*Template: ubuntu-21.04-standard_21.04-1_amd64&lt;br /&gt;
====Disks====&lt;br /&gt;
*Disk Size (GiB): 4&lt;br /&gt;
====CPU====&lt;br /&gt;
Cores: 1&lt;br /&gt;
====Memory====&lt;br /&gt;
*Memory (MiB): 256&lt;br /&gt;
*Swap (MiB): 512&lt;br /&gt;
====Network====&lt;br /&gt;
*IPv4 Static&lt;br /&gt;
*IPv4 Gateway&lt;br /&gt;
====DNS====&lt;br /&gt;
*DNS Servers: 8.8.8.8 (Change to 127.0.0.1 post-install)&lt;br /&gt;
====Confirm====&lt;br /&gt;
*Start After Created: unchecked&lt;br /&gt;
===Container Tweaks===&lt;br /&gt;
====Options====&lt;br /&gt;
*Start at boot: yes&lt;br /&gt;
===Container First Run Steps===&lt;br /&gt;
Run Updates&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt update &amp;amp;&amp;amp; apt full-upgrade -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Add a sudo user&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;adduser sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;usermod -aG sudo sysop&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Cleanup The Container for some easy space savings.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt autoremove -y &amp;amp;&amp;amp; apt clean -y&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Apt-Cacher NG Installation=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;apt-get install apt-cacher-ng&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=Client Config=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo &#039;Acquire::http { Proxy &amp;quot;http://proxy:3142&amp;quot;; }&#039; | sudo tee -a /etc/apt/apt.conf.d/00proxy&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;Acquire {&lt;br /&gt;
   HTTP::proxy &amp;quot;&amp;lt;nowiki&amp;gt;http://proxy_server:port/&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
   HTTPS::proxy &amp;quot;&amp;lt;nowiki&amp;gt;http://proxy_server:port/&amp;lt;/nowiki&amp;gt;&amp;quot;;&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
=Tweaks=&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt-cacher-ng/acng.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
add to the bottom&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;PassThroughPattern: .*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Find this section and tweak:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 # Repository remapping. See manual for details.&lt;br /&gt;
 # In this example, some backends files might be generated during package&lt;br /&gt;
 # installation using information collected on the system.&lt;br /&gt;
 # Examples:&lt;br /&gt;
 Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian # Debian Archives&lt;br /&gt;
 Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu # Ubuntu Archives&lt;br /&gt;
 Remap-uburepsec: security.ubuntu.com /uburepsec ; file:backends_ubuntu&lt;br /&gt;
 Remap-cygwin: file:cygwin_mirrors /cygwin # ; file:backends_cygwin # incomplete, please create this file or specify preferred mirrors here&lt;br /&gt;
 Remap-sfnet:  file:sfnet_mirrors # ; file:backends_sfnet # incomplete, please create this file or specify preferred mirrors here&lt;br /&gt;
 Remap-alxrep: file:archlx_mirrors /archlinux # ; file:backend_archlx # Arch Linux&lt;br /&gt;
 Remap-fedora: file:fedora_mirrors # Fedora Linux&lt;br /&gt;
 Remap-epel:   file:epel_mirrors # Fedora EPEL&lt;br /&gt;
 Remap-slrep:  file:sl_mirrors # Scientific Linux&lt;br /&gt;
 Remap-gentoo: file:gentoo_mirrors.gz /gentoo ; file:backends_gentoo # Gentoo Archives&lt;br /&gt;
 Remap-openjdk: file:openjdk /openjdk ; file:openjdk&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Create this file if not there&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;nano /etc/apt-cacher-ng/sfnet_mirrors&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 http://biznetnetworks.dl.sourceforge.net/project/&lt;br /&gt;
 http://cdnetworks-us-1.dl.sourceforge.net/project/&lt;br /&gt;
 http://citylan.dl.sourceforge.net/project/&lt;br /&gt;
 http://dfn.dl.sourceforge.net/project/&lt;br /&gt;
 http://fastbull.dl.sourceforge.net/project/&lt;br /&gt;
 http://freefr.dl.sourceforge.net/project/&lt;br /&gt;
 http://garr.dl.sourceforge.net/project/&lt;br /&gt;
 http://heanet.dl.sourceforge.net/project/&lt;br /&gt;
 http://hivelocity.dl.sourceforge.net/project/&lt;br /&gt;
 http://ignum.dl.sourceforge.net/project/&lt;br /&gt;
 http://internode.dl.sourceforge.net/project/&lt;br /&gt;
 http://iweb.dl.sourceforge.net/project/&lt;br /&gt;
 http://jaist.dl.sourceforge.net/project/&lt;br /&gt;
 http://kent.dl.sourceforge.net/project/&lt;br /&gt;
 http://mesh.dl.sourceforge.net/project/&lt;br /&gt;
 http://nchc.dl.sourceforge.net/project/&lt;br /&gt;
 http://ncu.dl.sourceforge.net/project/&lt;br /&gt;
 http://netcologne.dl.sourceforge.net/project/&lt;br /&gt;
 http://ovh.dl.sourceforge.net/project/&lt;br /&gt;
 http://puzzle.dl.sourceforge.net/project/&lt;br /&gt;
 http://softlayer.dl.sourceforge.net/project/&lt;br /&gt;
 http://space.dl.sourceforge.net/project/&lt;br /&gt;
 http://sunet.dl.sourceforge.net/project/&lt;br /&gt;
 http://superb-east,.dl.sourceforge.net/project/&lt;br /&gt;
 http://surfnet.dl.sourceforge.net/project/&lt;br /&gt;
 http://switch.dl.sourceforge.net/project/&lt;br /&gt;
 http://transact.dl.sourceforge.net/project/&lt;br /&gt;
 http://ufpr.dl.sourceforge.net/project/&lt;br /&gt;
 http://voxel.dl.sourceforge.net/project/&lt;br /&gt;
 http://waix.dl.sourceforge.net/project/&lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=78</id>
		<title>MediaWiki:Vector.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=78"/>
		<updated>2021-12-08T21:12:12Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will affect users of the Vector skin */&lt;br /&gt;
/* Override Vector colour scheme to make it dark (compiled from modified LESS code) */&lt;br /&gt;
h1,h2,h3,h4,h5,h6{color:#c1c1c1}hr{color:#222}.editOptions{background-color:#333;border-color:#4c4c4c}input,textarea{background-color:#4c4c4c;border-color:#4c4c4c;color:#c1c1c1}a,.mw-body a.external,.mw-body a.extiw{color:#e69710}a:visited,.mw-body a.external:visited,.mw-body a.extiw:visited{color:#8a7f6c}a.new,#p-personal a.new{color:#d44}ul{list-style-image:none}div.thumbinner,.catlinks{background-color:#4c4c4c;border-color:#666}#toc,div.toc,ul#filetoc,li.gallerybox div.thumb{background-color:#4c4c4c;border-color:#666}code{border:none;background-color:inherit;color:inherit}table.mw_metadata td,table.mw_metadata th,table.wikitable,table.wikitable&amp;gt;*&amp;gt;tr&amp;gt;th,table.wikitable&amp;gt;*&amp;gt;tr&amp;gt;td,pre{color:#c1c1c1;background-color:#4c4c4c;border-color:#666}table.mw_metadata th,table.wikitable&amp;gt;*&amp;gt;tr&amp;gt;th{background-color:#595959}table.diff{background-color:#4c4c4c}td .diffchange{color:#4c4c4c}#pagehistory li.selected,td.diff-context{background-color:inherit;color:inherit}#pagehistory li{border:0}ul.mw-gallery-packed-hover li.gallerybox:hover div.gallerytextwrapper,ul.mw-gallery-packed-overlay li.gallerybox div.gallerytextwrapper,ul.mw-gallery-packed-hover li.gallerybox.mw-gallery-focused div.gallerytextwrapper{background-color:rgba(0,0,0,0.8)}#left-navigation div.vectorTabs,#right-navigation div.vectorTabs{background-image:inherit;background-color:#250b2d}#left-navigation div.vectorTabs ul,#right-navigation div.vectorTabs ul{background-color:#250b2d}#left-navigation div.vectorTabs ul li,#right-navigation div.vectorTabs ul li{background-color:#222;background-image:-moz-linear-gradient(top, #2e2e2e 20%, #222 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(20%, #2e2e2e), color-stop(100%, #222));background-image:-webkit-linear-gradient(top, #2e2e2e 20%, #222 100%);background-image:linear-gradient(#2e2e2e 20%, #222 100%)}#left-navigation div.vectorTabs li.new a,#right-navigation div.vectorTabs li.new a,#left-navigation div.vectorTabs li.new a:visited,#right-navigation div.vectorTabs li.new a:visited{color:#d44}#left-navigation div.vectorTabs li.selected,#right-navigation div.vectorTabs li.selected{background-color:#333;background-image:-moz-linear-gradient(top, #e69710 0, #333 10%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #e69710), color-stop(10%, #333));background-image:-webkit-linear-gradient(top, #e69710 0, #333 10%);background-image:linear-gradient(#e69710 0, #333 10%)}#left-navigation div.vectorTabs li.selected a,#right-navigation div.vectorTabs li.selected a,#left-navigation div.vectorTabs li.selected a:visited,#right-navigation div.vectorTabs li.selected a:visited{color:#8a7f6c}#left-navigation div.vectorTabs li a,#right-navigation div.vectorTabs li a{color:#e69710}#left-navigation div.vectorTabs span,#right-navigation div.vectorTabs span{background:transparent}div#mw-head #right-navigation div.vectorMenu h3{background:inherit}div#mw-head div.vectorMenu h3 span{color:#e69710}div.vectorMenu h3 a{background:inherit}div.vectorMenu ul{background-color:black;border:solid 1px #0c0c0c}div.vectorMenu li a{color:#e69710}div.vectorMenu li.selected a,div.vectorMenu li.selected a:visited{color:#8a7f6c;text-decoration:none}div.vectorMenu#p-cactions div.menu{border-color:#666}div.vectorMenu#p-cactions ul{border:0;background-color:#4c4c4c}#mw-navigation div#mw-panel div.portal{background-image:none;border-top:1px solid #4c4c4c}#mw-navigation div#mw-panel div.portal#p-logo,#mw-navigation div#mw-panel div.portal#p-navigation{border-top:none}html{font-size:100%}html,body{height:100%;margin:0;padding:0;font-family:sans-serif}body{background-color:#2a2a2a}.mw-body{margin-left:10em;padding:1em;border:1px solid #250b2d;border-right-width:0;margin-top:-1px;background-color:#333;color:#c1c1c1;direction:ltr}.mw-body .mw-editsection,.mw-body .mw-editsection-like{font-family:sans-serif}.mw-body p{line-height:inherit;margin:.5em 0}.mw-body h1,.mw-body h2,.mw-body #firstHeading{font-family:&amp;quot;Linux Libertine&amp;quot;,Georgia,Times,serif;line-height:1.3;margin-bottom:.25em;padding:0}.mw-body h1,.mw-body #firstHeading{font-size:1.8em}.mw-body h2{font-size:1.5em;margin-top:1em}.mw-body h3,.mw-body h4,.mw-body h5,.mw-body h6{line-height:1.6;margin-top:.3em;margin-bottom:0;padding-bottom:0}.mw-body h3{font-size:1.17em}.mw-body h3,.mw-body h4{font-weight:bold}.mw-body h4,.mw-body h5,.mw-body h6{font-size:100%}.mw-body #toc h2,.mw-body .toc h2{font-size:100%;font-family:sans-serif}div.emptyPortlet{display:none}ul{list-style-type:disc;list-style-image:/* @embed */ url(&#039;skins/Vector/images/bullet-icon.png&#039;)}pre,.mw-code{line-height:1.3em}#siteNotice{font-size:.8em}.redirectText{font-size:140%}.redirectMsg img{vertical-align:text-bottom}.mw-body-content{position:relative;line-height:1.6;font-size:.875em}body.vector-animateLayout .mw-body,body.vector-animateLayout div#footer,body.vector-animateLayout #left-navigation{-webkit-transition:margin-left 250ms,padding 250ms;-moz-transition:margin-left 250ms,padding 250ms;-o-transition:margin-left 250ms,padding 250ms;transition:margin-left 250ms,padding 250ms}body.vector-animateLayout #p-logo{-webkit-transition:left 250ms;-moz-transition:left 250ms;-o-transition:left 250ms;transition:left 250ms}body.vector-animateLayout #mw-panel{-webkit-transition:padding-right 250ms;-moz-transition:padding-right 250ms;-o-transition:padding-right 250ms;transition:padding-right 250ms}body.vector-animateLayout #p-search{-webkit-transition:margin-right 250ms;-moz-transition:margin-right 250ms;-o-transition:margin-right 250ms;transition:margin-right 250ms}body.vector-animateLayout #p-personal{-webkit-transition:right 250ms;-moz-transition:right 250ms;-o-transition:right 250ms;transition:right 250ms}body.vector-animateLayout #mw-head-base{-webkit-transition:margin-left 250ms;-moz-transition:margin-left 250ms;-o-transition:margin-left 250ms;transition:margin-left 250ms}#p-personal{position:absolute;top:.33em;right:.75em;z-index:100}#p-personal h3{display:none}#p-personal ul{list-style-type:none;list-style-image:none;margin:0;padding-left:10em}#p-personal li{line-height:1.125em;float:left;margin-left:.75em;margin-top:.5em;font-size:.75em;white-space:nowrap}#pt-userpage,#pt-anonuserpage{background-position:left top;background-repeat:no-repeat;background-image:url(&#039;skins/Vector/images/user-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/user-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/user-icon.svg&#039;);padding-left:15px !important}#p-search{float:left;margin-right:.5em;margin-left:.5em}#p-search h3{display:none}#p-search form,#p-search input{margin:0;margin-top:.4em}div#simpleSearch{display:block;width:12.6em;padding-right:1.4em;height:1.4em;margin-top:.65em;position:relative;min-height:1px;border:solid 1px #aaa;color:black;background-color:white;background-image:/* @embed */ url(&#039;skins/Vector/images/search-fade.png&#039;);background-position:top left;background-repeat:repeat-x}div#simpleSearch input{margin:0;padding:0;border:0;background-color:transparent;color:black}div#simpleSearch #searchInput{width:100%;padding:.2em 0 .2em .2em;font-size:13px;direction:ltr;-webkit-appearance:textfield}div#simpleSearch #searchInput:focus{outline:none}div#simpleSearch #searchInput.placeholder{color:#999}div#simpleSearch #searchInput:-ms-input-placeholder{color:#999}div#simpleSearch #searchInput:-moz-placeholder{color:#999}div#simpleSearch #searchInput::-webkit-search-decoration,div#simpleSearch #searchInput::-webkit-search-cancel-button,div#simpleSearch #searchInput::-webkit-search-results-button,div#simpleSearch #searchInput::-webkit-search-results-decoration{-webkit-appearance:textfield}div#simpleSearch #searchButton,div#simpleSearch #mw-searchButton{position:absolute;top:0;right:0;width:1.65em;height:100%;cursor:pointer;text-indent:-99999px;line-height:1;direction:ltr;white-space:nowrap;overflow:hidden;background-image:url(&#039;skins/Vector/images/search-ltr.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/search-ltr.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/search-ltr.svg&#039;);background-position:center center;background-repeat:no-repeat}div#simpleSearch #mw-searchButton{z-index:1}div.vectorTabs h3{display:none}div.vectorTabs{float:left;height:2.5em;background-image:/* @embed */ url(&#039;skins/Vector/images/tab-break.png&#039;);background-position:bottom left;background-repeat:no-repeat;padding-left:1px}div.vectorTabs ul{float:left;height:100%;list-style-type:none;list-style-image:none;margin:0;padding:0;background-image:/* @embed */ url(&#039;skins/Vector/images/tab-break.png&#039;);background-position:right bottom;background-repeat:no-repeat}div.vectorTabs ul li{float:left;line-height:1.125em;display:inline-block;height:100%;margin:0;padding:0;background-color:#f3f3f3;background-image:/* @embed */ url(&#039;skins/Vector/images/tab-normal-fade.png&#039;);background-position:bottom left;background-repeat:repeat-x;white-space:nowrap}div.vectorTabs ul&amp;gt;li{display:block}div.vectorTabs li.new a,div.vectorTabs li.new a:visited{color:#a55858}div.vectorTabs li.selected{background-image:/* @embed */ url(&#039;skins/Vector/images/tab-current-fade.png&#039;)}div.vectorTabs li.selected a,div.vectorTabs li.selected a:visited{color:#333;text-decoration:none}div.vectorTabs li.icon a{background-position:bottom right;background-repeat:no-repeat}div.vectorTabs li a{display:inline-block;height:1.9em;padding-left:.5em;padding-right:.5em;color:#e69710;cursor:pointer;font-size:.8em}div.vectorTabs li&amp;gt;a{display:block}div.vectorTabs span{display:inline-block;background-image:/* @embed */ url(&#039;skins/Vector/images/tab-break.png&#039;);background-position:bottom right;background-repeat:no-repeat}div.vectorTabs span a{display:inline-block;padding-top:1.25em}div.vectorTabs span&amp;gt;a{float:left;display:block}div.vectorMenu{direction:ltr;float:left;cursor:pointer;position:relative}body.rtl div.vectorMenu{direction:rtl}div#mw-head div.vectorMenu h3{float:left;background-image:/* @embed */ url(&#039;skins/Vector/images/tab-break.png&#039;);background-repeat:no-repeat;background-position:bottom right;margin-left:-1px;font-size:1em;height:2.5em;padding-right:1px;margin-right:-1px}div.vectorMenu h3 span{display:block;font-size:.8em;padding-left:.7em;padding-top:1.375em;margin-right:20px;font-weight:normal;color:#4d4d4d}div.vectorMenu h3 a{position:absolute;top:0;right:0;width:20px;height:2.5em;background-image:url(&#039;skins/Vector/images/arrow-down-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/arrow-down-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/arrow-down-icon.svg&#039;);background-position:100% 70%;background-repeat:no-repeat;-webkit-transition:background-position 250ms;-moz-transition:background-position 250ms;-o-transition:background-position 250ms;transition:background-position 250ms}div.vectorMenu.menuForceShow h3 a{background-position:100% 100%}div.vectorMenuFocus h3 a{background-image:url(&#039;skins/Vector/images/arrow-down-focus-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/arrow-down-focus-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/arrow-down-focus-icon.svg&#039;)}div.vectorMenu div.menu{min-width:100%;position:absolute;top:2.5em;left:-1px;background-color:white;border:solid 1px silver;border-top-width:0;clear:both;text-align:left;display:none}div.vectorMenu:hover div.menu,div.vectorMenu.menuForceShow div.menu{display:block}div.vectorMenu ul{list-style-type:none;list-style-image:none;padding:0;margin:0;text-align:left}div.vectorMenu ul,x:-moz-any-link{min-width:5em}div.vectorMenu ul,x:-moz-any-link,x:default{min-width:0}div.vectorMenu li{padding:0;margin:0;text-align:left;line-height:1em}div.vectorMenu li a{display:inline-block;padding:.5em;white-space:nowrap;color:#e69710;cursor:pointer;font-size:.8em}div.vectorMenu li&amp;gt;a{display:block}div.vectorMenu li.selected a,div.vectorMenu li.selected a:visited{color:#333;text-decoration:none}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);transform:rotate(360deg)}}#ca-unwatch.icon a,#ca-watch.icon a{margin:0;padding:0;display:block;width:26px;padding-top:3.1em;margin-top:0;height:0;overflow:hidden;background-position:5px 60%}#ca-unwatch.icon a{background-image:url(&#039;skins/Vector/images/unwatch-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/unwatch-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/unwatch-icon.svg&#039;)}#ca-watch.icon a{background-image:url(&#039;skins/Vector/images/watch-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon.svg&#039;)}#ca-unwatch.icon a:hover,#ca-unwatch.icon a:focus{background-image:url(&#039;skins/Vector/images/unwatch-icon-hl.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/unwatch-icon-hl.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/unwatch-icon-hl.svg&#039;)}#ca-watch.icon a:hover,#ca-watch.icon a:focus{background-image:url(&#039;skins/Vector/images/watch-icon-hl.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon-hl.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon-hl.svg&#039;)}#ca-unwatch.icon a.loading,#ca-watch.icon a.loading{background-image:url(&#039;skins/Vector/images/watch-icon-loading.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon-loading.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon-loading.svg&#039;);-webkit-animation:rotate 700ms infinite linear;-moz-animation:rotate 700ms infinite linear;-o-animation:rotate 700ms infinite linear;animation:rotate 700ms infinite linear;outline:none;cursor:default;pointer-events:none;background-position:50% 60%;-webkit-transform-origin:50% 57%;transform-origin:50% 57%}#ca-unwatch.icon a span,#ca-watch.icon a span{display:none}#mw-navigation h2{position:absolute;top:-9999px}#mw-page-base{height:5em;background-position:bottom left;background-repeat:repeat-x;background-image:url(&#039;skins/Vector/images/page-fade.png&#039;);background-color:#2a2a2a;background-image:-moz-linear-gradient(top, #333 50%, #2a2a2a 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(50%, #333), color-stop(100%, #2a2a2a));background-image:-webkit-linear-gradient(top, #333 50%, #2a2a2a 100%);background-image:linear-gradient(#333 50%, #2a2a2a 100%);background-color:#333}#mw-head-base{margin-top:-5em;margin-left:10em;height:5em}div#mw-head{position:absolute;top:0;right:0;width:100%}div#mw-head h3{margin:0;padding:0}#left-navigation{float:left;margin-left:10em;margin-top:2.5em;margin-bottom:-2.5em;display:inline}#right-navigation{float:right;margin-top:2.5em}#p-logo{position:absolute;top:-160px;left:0;width:10em;height:160px}#p-logo a{display:block;width:10em;height:160px;background-repeat:no-repeat;background-position:center center;text-decoration:none}div#mw-panel{font-size:inherit;position:absolute;top:160px;padding-top:1em;width:10em;left:0}div#mw-panel div.portal{margin:0 .6em 0 .7em;padding:.25em 0;direction:ltr;background-position:top left;background-repeat:no-repeat;background-image:/* @embed */ url(&#039;skins/Vector/images/portal-break.png&#039;)}div#mw-panel div.portal h3{font-size:.75em;color:#4d4d4d;font-weight:normal;margin:0;padding:.25em 0 .25em .25em;cursor:default;border:none}div#mw-panel div.portal div.body{margin:0 0 0 1.25em;padding-top:0}div#mw-panel div.portal div.body ul{list-style-type:none;list-style-image:none;margin:0;padding:0}div#mw-panel div.portal div.body ul li{line-height:1.125em;margin:0;padding:.25em 0;font-size:.75em;word-wrap:break-word}div#mw-panel div.portal div.body ul li a{color:#e69710}div#mw-panel div.portal div.body ul li a:visited{color:#8a7f6c}div#mw-panel div.portal.first{background-image:none;margin-top:0}div#mw-panel div.portal.first h3{display:none}div#mw-panel div.portal.first div.body{margin-left:.5em}div#footer{margin-left:10em;margin-top:0;padding:.75em;direction:ltr}div#footer ul{list-style-type:none;list-style-image:none;margin:0;padding:0}div#footer ul li{margin:0;padding:0;padding-top:.5em;padding-bottom:.5em;color:#333;font-size:.7em}div#footer #footer-icons{float:right}div#footer #footer-icons li{float:left;margin-left:.5em;line-height:2em;text-align:right}div#footer #footer-info li{line-height:1.4em}div#footer #footer-places li{float:left;margin-right:1em;line-height:2em}body.ltr div#footer #footer-places{float:left}.mw-body .external{background-position:center right;background-repeat:no-repeat;background-image:url(&#039;skins/Vector/images/external-link-ltr-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/external-link-ltr-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/external-link-ltr-icon.svg&#039;);padding-right:13px}&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=77</id>
		<title>MediaWiki:Vector.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=77"/>
		<updated>2021-12-08T21:10:33Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: Replaced content with &amp;quot;/* CSS placed here will affect users of the Vector skin */&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will affect users of the Vector skin */&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=Pfsense_dynamic_IP&amp;diff=76</id>
		<title>Pfsense dynamic IP</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=Pfsense_dynamic_IP&amp;diff=76"/>
		<updated>2021-12-08T21:09:26Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: Created page with &amp;quot;File:pfsense-dyndnsstart.png  On this page, we will add domains and subdomains that should periodically update the DNS IP address records online for various services (when your ISP issues you a new IP address).  This is the only way to host web/mail without paying extra monthly fee for having a static IP address.  We will do this for dbbexample.net and mail.dbbexample.net  File:pfsense-dyndnscreate.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pfsense-dyndnsstart.png]]&lt;br /&gt;
&lt;br /&gt;
On this page, we will add domains and subdomains that should periodically update the DNS IP address records online for various services (when your ISP issues you a new IP address).&lt;br /&gt;
&lt;br /&gt;
This is the only way to host web/mail without paying extra monthly fee for having a static IP address.&lt;br /&gt;
&lt;br /&gt;
We will do this for dbbexample.net and mail.dbbexample.net&lt;br /&gt;
&lt;br /&gt;
[[File:pfsense-dyndnscreate.png]]&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=75</id>
		<title>MediaWiki:Vector.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=MediaWiki:Vector.css&amp;diff=75"/>
		<updated>2021-12-08T21:06:12Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: Created page with &amp;quot;/* CSS placed here will affect users of the Vector skin */  /* CSS placed here will affect users of the Vector skin */  /* Override Vector colour scheme to make it dark (compiled from modified LESS code) */ h1,h2,h3,h4,h5,h6{color:#c1c1c1}hr{color:#222}.editOptions{background-color:#333;border-color:#4c4c4c}input,textarea{background-color:#4c4c4c;border-color:#4c4c4c;color:#c1c1c1}a,.mw-body a.external,.mw-body a.extiw{color:#e69710}a:visited,.mw-body a.external:visited,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will affect users of the Vector skin */&lt;br /&gt;
&lt;br /&gt;
/* CSS placed here will affect users of the Vector skin */&lt;br /&gt;
&lt;br /&gt;
/* Override Vector colour scheme to make it dark (compiled from modified LESS code) */&lt;br /&gt;
h1,h2,h3,h4,h5,h6{color:#c1c1c1}hr{color:#222}.editOptions{background-color:#333;border-color:#4c4c4c}input,textarea{background-color:#4c4c4c;border-color:#4c4c4c;color:#c1c1c1}a,.mw-body a.external,.mw-body a.extiw{color:#e69710}a:visited,.mw-body a.external:visited,.mw-body a.extiw:visited{color:#8a7f6c}a.new,#p-personal a.new{color:#d44}ul{list-style-image:none}div.thumbinner,.catlinks{background-color:#4c4c4c;border-color:#666}#toc,div.toc,ul#filetoc,li.gallerybox div.thumb{background-color:#4c4c4c;border-color:#666}code{border:none;background-color:inherit;color:inherit}table.mw_metadata td,table.mw_metadata th,table.wikitable,table.wikitable&amp;gt;*&amp;gt;tr&amp;gt;th,table.wikitable&amp;gt;*&amp;gt;tr&amp;gt;td,pre{color:#c1c1c1;background-color:#4c4c4c;border-color:#666}table.mw_metadata th,table.wikitable&amp;gt;*&amp;gt;tr&amp;gt;th{background-color:#595959}table.diff{background-color:#4c4c4c}td .diffchange{color:#4c4c4c}#pagehistory li.selected,td.diff-context{background-color:inherit;color:inherit}#pagehistory li{border:0}ul.mw-gallery-packed-hover li.gallerybox:hover div.gallerytextwrapper,ul.mw-gallery-packed-overlay li.gallerybox div.gallerytextwrapper,ul.mw-gallery-packed-hover li.gallerybox.mw-gallery-focused div.gallerytextwrapper{background-color:rgba(0,0,0,0.8)}#left-navigation div.vectorTabs,#right-navigation div.vectorTabs{background-image:inherit;background-color:#250b2d}#left-navigation div.vectorTabs ul,#right-navigation div.vectorTabs ul{background-color:#250b2d}#left-navigation div.vectorTabs ul li,#right-navigation div.vectorTabs ul li{background-color:#222;background-image:-moz-linear-gradient(top, #2e2e2e 20%, #222 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(20%, #2e2e2e), color-stop(100%, #222));background-image:-webkit-linear-gradient(top, #2e2e2e 20%, #222 100%);background-image:linear-gradient(#2e2e2e 20%, #222 100%)}#left-navigation div.vectorTabs li.new a,#right-navigation div.vectorTabs li.new a,#left-navigation div.vectorTabs li.new a:visited,#right-navigation div.vectorTabs li.new a:visited{color:#d44}#left-navigation div.vectorTabs li.selected,#right-navigation div.vectorTabs li.selected{background-color:#333;background-image:-moz-linear-gradient(top, #e69710 0, #333 10%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #e69710), color-stop(10%, #333));background-image:-webkit-linear-gradient(top, #e69710 0, #333 10%);background-image:linear-gradient(#e69710 0, #333 10%)}#left-navigation div.vectorTabs li.selected a,#right-navigation div.vectorTabs li.selected a,#left-navigation div.vectorTabs li.selected a:visited,#right-navigation div.vectorTabs li.selected a:visited{color:#8a7f6c}#left-navigation div.vectorTabs li a,#right-navigation div.vectorTabs li a{color:#e69710}#left-navigation div.vectorTabs span,#right-navigation div.vectorTabs span{background:transparent}div#mw-head #right-navigation div.vectorMenu h3{background:inherit}div#mw-head div.vectorMenu h3 span{color:#e69710}div.vectorMenu h3 a{background:inherit}div.vectorMenu ul{background-color:black;border:solid 1px #0c0c0c}div.vectorMenu li a{color:#e69710}div.vectorMenu li.selected a,div.vectorMenu li.selected a:visited{color:#8a7f6c;text-decoration:none}div.vectorMenu#p-cactions div.menu{border-color:#666}div.vectorMenu#p-cactions ul{border:0;background-color:#4c4c4c}#mw-navigation div#mw-panel div.portal{background-image:none;border-top:1px solid #4c4c4c}#mw-navigation div#mw-panel div.portal#p-logo,#mw-navigation div#mw-panel div.portal#p-navigation{border-top:none}html{font-size:100%}html,body{height:100%;margin:0;padding:0;font-family:sans-serif}body{background-color:#2a2a2a}.mw-body{margin-left:10em;padding:1em;border:1px solid #250b2d;border-right-width:0;margin-top:-1px;background-color:#333;color:#c1c1c1;direction:ltr}.mw-body .mw-editsection,.mw-body .mw-editsection-like{font-family:sans-serif}.mw-body p{line-height:inherit;margin:.5em 0}.mw-body h1,.mw-body h2,.mw-body #firstHeading{font-family:&amp;quot;Linux Libertine&amp;quot;,Georgia,Times,serif;line-height:1.3;margin-bottom:.25em;padding:0}.mw-body h1,.mw-body #firstHeading{font-size:1.8em}.mw-body h2{font-size:1.5em;margin-top:1em}.mw-body h3,.mw-body h4,.mw-body h5,.mw-body h6{line-height:1.6;margin-top:.3em;margin-bottom:0;padding-bottom:0}.mw-body h3{font-size:1.17em}.mw-body h3,.mw-body h4{font-weight:bold}.mw-body h4,.mw-body h5,.mw-body h6{font-size:100%}.mw-body #toc h2,.mw-body .toc h2{font-size:100%;font-family:sans-serif}div.emptyPortlet{display:none}ul{list-style-type:disc;list-style-image:/* @embed */ url(&#039;skins/Vector/images/bullet-icon.png&#039;)}pre,.mw-code{line-height:1.3em}#siteNotice{font-size:.8em}.redirectText{font-size:140%}.redirectMsg img{vertical-align:text-bottom}.mw-body-content{position:relative;line-height:1.6;font-size:.875em}body.vector-animateLayout .mw-body,body.vector-animateLayout div#footer,body.vector-animateLayout #left-navigation{-webkit-transition:margin-left 250ms,padding 250ms;-moz-transition:margin-left 250ms,padding 250ms;-o-transition:margin-left 250ms,padding 250ms;transition:margin-left 250ms,padding 250ms}body.vector-animateLayout #p-logo{-webkit-transition:left 250ms;-moz-transition:left 250ms;-o-transition:left 250ms;transition:left 250ms}body.vector-animateLayout #mw-panel{-webkit-transition:padding-right 250ms;-moz-transition:padding-right 250ms;-o-transition:padding-right 250ms;transition:padding-right 250ms}body.vector-animateLayout #p-search{-webkit-transition:margin-right 250ms;-moz-transition:margin-right 250ms;-o-transition:margin-right 250ms;transition:margin-right 250ms}body.vector-animateLayout #p-personal{-webkit-transition:right 250ms;-moz-transition:right 250ms;-o-transition:right 250ms;transition:right 250ms}body.vector-animateLayout #mw-head-base{-webkit-transition:margin-left 250ms;-moz-transition:margin-left 250ms;-o-transition:margin-left 250ms;transition:margin-left 250ms}#p-personal{position:absolute;top:.33em;right:.75em;z-index:100}#p-personal h3{display:none}#p-personal ul{list-style-type:none;list-style-image:none;margin:0;padding-left:10em}#p-personal li{line-height:1.125em;float:left;margin-left:.75em;margin-top:.5em;font-size:.75em;white-space:nowrap}#pt-userpage,#pt-anonuserpage{background-position:left top;background-repeat:no-repeat;background-image:url(&#039;skins/Vector/images/user-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/user-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/user-icon.svg&#039;);padding-left:15px !important}#p-search{float:left;margin-right:.5em;margin-left:.5em}#p-search h3{display:none}#p-search form,#p-search input{margin:0;margin-top:.4em}div#simpleSearch{display:block;width:12.6em;padding-right:1.4em;height:1.4em;margin-top:.65em;position:relative;min-height:1px;border:solid 1px #aaa;color:black;background-color:white;background-image:/* @embed */ url(&#039;skins/Vector/images/search-fade.png&#039;);background-position:top left;background-repeat:repeat-x}div#simpleSearch input{margin:0;padding:0;border:0;background-color:transparent;color:black}div#simpleSearch #searchInput{width:100%;padding:.2em 0 .2em .2em;font-size:13px;direction:ltr;-webkit-appearance:textfield}div#simpleSearch #searchInput:focus{outline:none}div#simpleSearch #searchInput.placeholder{color:#999}div#simpleSearch #searchInput:-ms-input-placeholder{color:#999}div#simpleSearch #searchInput:-moz-placeholder{color:#999}div#simpleSearch #searchInput::-webkit-search-decoration,div#simpleSearch #searchInput::-webkit-search-cancel-button,div#simpleSearch #searchInput::-webkit-search-results-button,div#simpleSearch #searchInput::-webkit-search-results-decoration{-webkit-appearance:textfield}div#simpleSearch #searchButton,div#simpleSearch #mw-searchButton{position:absolute;top:0;right:0;width:1.65em;height:100%;cursor:pointer;text-indent:-99999px;line-height:1;direction:ltr;white-space:nowrap;overflow:hidden;background-image:url(&#039;skins/Vector/images/search-ltr.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/search-ltr.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/search-ltr.svg&#039;);background-position:center center;background-repeat:no-repeat}div#simpleSearch #mw-searchButton{z-index:1}div.vectorTabs h3{display:none}div.vectorTabs{float:left;height:2.5em;background-image:/* @embed */ url(&#039;skins/Vector/images/tab-break.png&#039;);background-position:bottom left;background-repeat:no-repeat;padding-left:1px}div.vectorTabs ul{float:left;height:100%;list-style-type:none;list-style-image:none;margin:0;padding:0;background-image:/* @embed */ url(&#039;skins/Vector/images/tab-break.png&#039;);background-position:right bottom;background-repeat:no-repeat}div.vectorTabs ul li{float:left;line-height:1.125em;display:inline-block;height:100%;margin:0;padding:0;background-color:#f3f3f3;background-image:/* @embed */ url(&#039;skins/Vector/images/tab-normal-fade.png&#039;);background-position:bottom left;background-repeat:repeat-x;white-space:nowrap}div.vectorTabs ul&amp;gt;li{display:block}div.vectorTabs li.new a,div.vectorTabs li.new a:visited{color:#a55858}div.vectorTabs li.selected{background-image:/* @embed */ url(&#039;skins/Vector/images/tab-current-fade.png&#039;)}div.vectorTabs li.selected a,div.vectorTabs li.selected a:visited{color:#333;text-decoration:none}div.vectorTabs li.icon a{background-position:bottom right;background-repeat:no-repeat}div.vectorTabs li a{display:inline-block;height:1.9em;padding-left:.5em;padding-right:.5em;color:#e69710;cursor:pointer;font-size:.8em}div.vectorTabs li&amp;gt;a{display:block}div.vectorTabs span{display:inline-block;background-image:/* @embed */ url(&#039;skins/Vector/images/tab-break.png&#039;);background-position:bottom right;background-repeat:no-repeat}div.vectorTabs span a{display:inline-block;padding-top:1.25em}div.vectorTabs span&amp;gt;a{float:left;display:block}div.vectorMenu{direction:ltr;float:left;cursor:pointer;position:relative}body.rtl div.vectorMenu{direction:rtl}div#mw-head div.vectorMenu h3{float:left;background-image:/* @embed */ url(&#039;skins/Vector/images/tab-break.png&#039;);background-repeat:no-repeat;background-position:bottom right;margin-left:-1px;font-size:1em;height:2.5em;padding-right:1px;margin-right:-1px}div.vectorMenu h3 span{display:block;font-size:.8em;padding-left:.7em;padding-top:1.375em;margin-right:20px;font-weight:normal;color:#4d4d4d}div.vectorMenu h3 a{position:absolute;top:0;right:0;width:20px;height:2.5em;background-image:url(&#039;skins/Vector/images/arrow-down-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/arrow-down-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/arrow-down-icon.svg&#039;);background-position:100% 70%;background-repeat:no-repeat;-webkit-transition:background-position 250ms;-moz-transition:background-position 250ms;-o-transition:background-position 250ms;transition:background-position 250ms}div.vectorMenu.menuForceShow h3 a{background-position:100% 100%}div.vectorMenuFocus h3 a{background-image:url(&#039;skins/Vector/images/arrow-down-focus-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/arrow-down-focus-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/arrow-down-focus-icon.svg&#039;)}div.vectorMenu div.menu{min-width:100%;position:absolute;top:2.5em;left:-1px;background-color:white;border:solid 1px silver;border-top-width:0;clear:both;text-align:left;display:none}div.vectorMenu:hover div.menu,div.vectorMenu.menuForceShow div.menu{display:block}div.vectorMenu ul{list-style-type:none;list-style-image:none;padding:0;margin:0;text-align:left}div.vectorMenu ul,x:-moz-any-link{min-width:5em}div.vectorMenu ul,x:-moz-any-link,x:default{min-width:0}div.vectorMenu li{padding:0;margin:0;text-align:left;line-height:1em}div.vectorMenu li a{display:inline-block;padding:.5em;white-space:nowrap;color:#e69710;cursor:pointer;font-size:.8em}div.vectorMenu li&amp;gt;a{display:block}div.vectorMenu li.selected a,div.vectorMenu li.selected a:visited{color:#333;text-decoration:none}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);transform:rotate(360deg)}}#ca-unwatch.icon a,#ca-watch.icon a{margin:0;padding:0;display:block;width:26px;padding-top:3.1em;margin-top:0;height:0;overflow:hidden;background-position:5px 60%}#ca-unwatch.icon a{background-image:url(&#039;skins/Vector/images/unwatch-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/unwatch-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/unwatch-icon.svg&#039;)}#ca-watch.icon a{background-image:url(&#039;skins/Vector/images/watch-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon.svg&#039;)}#ca-unwatch.icon a:hover,#ca-unwatch.icon a:focus{background-image:url(&#039;skins/Vector/images/unwatch-icon-hl.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/unwatch-icon-hl.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/unwatch-icon-hl.svg&#039;)}#ca-watch.icon a:hover,#ca-watch.icon a:focus{background-image:url(&#039;skins/Vector/images/watch-icon-hl.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon-hl.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon-hl.svg&#039;)}#ca-unwatch.icon a.loading,#ca-watch.icon a.loading{background-image:url(&#039;skins/Vector/images/watch-icon-loading.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon-loading.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/watch-icon-loading.svg&#039;);-webkit-animation:rotate 700ms infinite linear;-moz-animation:rotate 700ms infinite linear;-o-animation:rotate 700ms infinite linear;animation:rotate 700ms infinite linear;outline:none;cursor:default;pointer-events:none;background-position:50% 60%;-webkit-transform-origin:50% 57%;transform-origin:50% 57%}#ca-unwatch.icon a span,#ca-watch.icon a span{display:none}#mw-navigation h2{position:absolute;top:-9999px}#mw-page-base{height:5em;background-position:bottom left;background-repeat:repeat-x;background-image:url(&#039;skins/Vector/images/page-fade.png&#039;);background-color:#2a2a2a;background-image:-moz-linear-gradient(top, #333 50%, #2a2a2a 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(50%, #333), color-stop(100%, #2a2a2a));background-image:-webkit-linear-gradient(top, #333 50%, #2a2a2a 100%);background-image:linear-gradient(#333 50%, #2a2a2a 100%);background-color:#333}#mw-head-base{margin-top:-5em;margin-left:10em;height:5em}div#mw-head{position:absolute;top:0;right:0;width:100%}div#mw-head h3{margin:0;padding:0}#left-navigation{float:left;margin-left:10em;margin-top:2.5em;margin-bottom:-2.5em;display:inline}#right-navigation{float:right;margin-top:2.5em}#p-logo{position:absolute;top:-160px;left:0;width:10em;height:160px}#p-logo a{display:block;width:10em;height:160px;background-repeat:no-repeat;background-position:center center;text-decoration:none}div#mw-panel{font-size:inherit;position:absolute;top:160px;padding-top:1em;width:10em;left:0}div#mw-panel div.portal{margin:0 .6em 0 .7em;padding:.25em 0;direction:ltr;background-position:top left;background-repeat:no-repeat;background-image:/* @embed */ url(&#039;skins/Vector/images/portal-break.png&#039;)}div#mw-panel div.portal h3{font-size:.75em;color:#4d4d4d;font-weight:normal;margin:0;padding:.25em 0 .25em .25em;cursor:default;border:none}div#mw-panel div.portal div.body{margin:0 0 0 1.25em;padding-top:0}div#mw-panel div.portal div.body ul{list-style-type:none;list-style-image:none;margin:0;padding:0}div#mw-panel div.portal div.body ul li{line-height:1.125em;margin:0;padding:.25em 0;font-size:.75em;word-wrap:break-word}div#mw-panel div.portal div.body ul li a{color:#e69710}div#mw-panel div.portal div.body ul li a:visited{color:#8a7f6c}div#mw-panel div.portal.first{background-image:none;margin-top:0}div#mw-panel div.portal.first h3{display:none}div#mw-panel div.portal.first div.body{margin-left:.5em}div#footer{margin-left:10em;margin-top:0;padding:.75em;direction:ltr}div#footer ul{list-style-type:none;list-style-image:none;margin:0;padding:0}div#footer ul li{margin:0;padding:0;padding-top:.5em;padding-bottom:.5em;color:#333;font-size:.7em}div#footer #footer-icons{float:right}div#footer #footer-icons li{float:left;margin-left:.5em;line-height:2em;text-align:right}div#footer #footer-info li{line-height:1.4em}div#footer #footer-places li{float:left;margin-right:1em;line-height:2em}body.ltr div#footer #footer-places{float:left}.mw-body .external{background-position:center right;background-repeat:no-repeat;background-image:url(&#039;skins/Vector/images/external-link-ltr-icon.png&#039;);background-image:-webkit-linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/external-link-ltr-icon.svg&#039;);background-image:linear-gradient(transparent, transparent),/* @embed */ url(&#039;skins/Vector/images/external-link-ltr-icon.svg&#039;);padding-right:13px}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* This removes the credit link, but if possible we ask that you try and&lt;br /&gt;
re-theme it to your liking instead as a courtesy to the TurnKey Linux&lt;br /&gt;
project */&lt;br /&gt;
&lt;br /&gt;
#turnkey-credit { display: none; }&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-https-c.jpg&amp;diff=74</id>
		<title>File:Pfsense-shared-front-https-c.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-https-c.jpg&amp;diff=74"/>
		<updated>2021-12-08T21:04:18Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-https-b.jpg&amp;diff=73</id>
		<title>File:Pfsense-shared-front-https-b.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-https-b.jpg&amp;diff=73"/>
		<updated>2021-12-08T21:03:28Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-https-a.jpg&amp;diff=72</id>
		<title>File:Pfsense-shared-front-https-a.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-https-a.jpg&amp;diff=72"/>
		<updated>2021-12-08T21:03:01Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-http-b.jpg&amp;diff=71</id>
		<title>File:Pfsense-shared-front-http-b.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-http-b.jpg&amp;diff=71"/>
		<updated>2021-12-08T21:02:31Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-http-a.jpg&amp;diff=70</id>
		<title>File:Pfsense-shared-front-http-a.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-http-a.jpg&amp;diff=70"/>
		<updated>2021-12-08T21:01:59Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-hostmatch-b.jpg&amp;diff=69</id>
		<title>File:Pfsense-shared-front-hostmatch-b.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-hostmatch-b.jpg&amp;diff=69"/>
		<updated>2021-12-08T21:01:19Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-hostmatch-a.jpg&amp;diff=68</id>
		<title>File:Pfsense-shared-front-hostmatch-a.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-shared-front-hostmatch-a.jpg&amp;diff=68"/>
		<updated>2021-12-08T21:00:37Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-robotstxt.jpg&amp;diff=67</id>
		<title>File:Pfsense-robotstxt.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-robotstxt.jpg&amp;diff=67"/>
		<updated>2021-12-08T20:58:49Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-removenat.png&amp;diff=66</id>
		<title>File:Pfsense-removenat.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-removenat.png&amp;diff=66"/>
		<updated>2021-12-08T20:57:55Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-port.png&amp;diff=65</id>
		<title>File:Pfsense-port.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-port.png&amp;diff=65"/>
		<updated>2021-12-08T20:57:25Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-natports.png&amp;diff=64</id>
		<title>File:Pfsense-natports.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-natports.png&amp;diff=64"/>
		<updated>2021-12-08T20:56:53Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-lb-virtserver.png&amp;diff=63</id>
		<title>File:Pfsense-lb-virtserver.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-lb-virtserver.png&amp;diff=63"/>
		<updated>2021-12-08T20:56:22Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-lb-virt1.png&amp;diff=62</id>
		<title>File:Pfsense-lb-virt1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-lb-virt1.png&amp;diff=62"/>
		<updated>2021-12-08T20:55:04Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-lb-pool.png&amp;diff=61</id>
		<title>File:Pfsense-lb-pool.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-lb-pool.png&amp;diff=61"/>
		<updated>2021-12-08T20:54:02Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-lb-nat1.png&amp;diff=60</id>
		<title>File:Pfsense-lb-nat1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-lb-nat1.png&amp;diff=60"/>
		<updated>2021-12-08T20:53:31Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-http-to-https-b.jpg&amp;diff=59</id>
		<title>File:Pfsense-http-to-https-b.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-http-to-https-b.jpg&amp;diff=59"/>
		<updated>2021-12-08T20:53:05Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-http-to-https-a.jpg&amp;diff=58</id>
		<title>File:Pfsense-http-to-https-a.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-http-to-https-a.jpg&amp;diff=58"/>
		<updated>2021-12-08T20:52:38Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-haproxy_rules.png&amp;diff=57</id>
		<title>File:Pfsense-haproxy rules.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-haproxy_rules.png&amp;diff=57"/>
		<updated>2021-12-08T20:52:11Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-haproxy_rules.jpg&amp;diff=56</id>
		<title>File:Pfsense-haproxy rules.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-haproxy_rules.jpg&amp;diff=56"/>
		<updated>2021-12-08T20:51:14Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
	<entry>
		<id>https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-ha_pre_settings.png&amp;diff=55</id>
		<title>File:Pfsense-ha pre settings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.deathbybandaid.net/index.php?title=File:Pfsense-ha_pre_settings.png&amp;diff=55"/>
		<updated>2021-12-08T20:50:27Z</updated>

		<summary type="html">&lt;p&gt;Deathbybandaid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Deathbybandaid</name></author>
	</entry>
</feed>