Select a Proxmox Helper Below

🔸 updated in the past 7 days [Changelog](https://github.com/tteck/Proxmox/blob/main/CHANGELOG.MD)
Proxmox VE 7 Post Install

Proxmox Server Solutions

Proxmox VE 7 Post Install

This script will Disable the Enterprise Repo, Add & Enable the No-Subscription Repo, Add & Disable Test Repo (repo's can be enabled/disabled via the UI in Repositories) and attempt the *No-Nag* fix. Run the following in the Proxmox Web Shell. ⚠️ **PVE7 ONLY** ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/post_install.sh)" ``` It's recommended to update Proxmox after running this script, before adding any VM/CT. ____________________________________________________________________________________________
Proxmox Dark Theme

Proxmox Discord Dark Theme

A dark theme for the Proxmox Web UI by [Weilbyte](https://github.com/Weilbyte/PVEDiscordDark) Run the following in the Proxmox Web Shell. ```yaml bash <(curl -s https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.sh ) install ``` To uninstall the theme, simply run the script with the `uninstall` command. ____________________________________________________________________________________________
Home Assistant OS VM

@home-assistant

Proxmox Home Assistant OS VM

To create a new Proxmox VM with the latest version of Home Assistant OS, run the following from Proxmox web shell ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/vm/haos_vm.sh)" ```

⚡ Default Settings: 4GB RAM - 32GB Storage - 2vCPU ⚡

After the script completes, If you're dissatisfied with the default settings, click on the VM, then on the **_Hardware_** tab and change the **_Memory_** and **_Processors_** settings to what you desire. Once all changes have been made, **_Start_** the VM. **Home Assistant Interface - IP:8123** ____________________________________________________________________________________________
🔸Home Assistant Container LXC (Podman)

@home-assistant

Proxmox Podman Home Assistant Container LXC

To create a new Proxmox Podman Home Assistant Container, run the following from Proxmox web shell. ([What is Podman?](https://youtu.be/lkg5QJsoCCQ)) ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/podman_ha_container.sh)" ```

⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡

After the script completes, If you're dissatisfied with the default settings, click on the LXC, then on the **_Resources_** tab and change the **_Memory_** and **_Cores_** settings to what you desire. Changes are immediate. **Home Assistant Interface - IP:8123** ⚙️ **Path to HA /config** ```yaml /var/lib/containers/storage/volumes/hass_config/_data ``` ⚙️ **To edit the HA configuration.yaml** Run from the LXC console ```yaml nano /var/lib/containers/storage/volumes/hass_config/_data/configuration.yaml ``` Save and exit the editor with “Ctrl+O”, “Enter” and “Ctrl+X” ⚙️ **To allow device passthrough:** In the Proxmox web shell run (**replace `106` with your LXC ID**) ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/autodev.sh)" -s 106 ``` Reboot the LXC to apply the changes ⚙️ **To install HACS:** Run the from the LXC console ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/podman_hacs.sh)" ``` After install, reboot Home Assistant and **clear browser cache** then Add HACS integration. ____________________________________________________________________________________________
🔸Home Assistant Container LXC

Docker Logos | Docker @home-assistantGitHub - portainer/portainer-docs: Portainer documentation

Proxmox Home Assistant Container LXC

To create a new Proxmox Home Assistant Container, run the following from Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/ha_container.sh)" ```

⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡

After the script completes, If you're dissatisfied with the default settings, click on the LXC, then on the **_Resources_** tab and change the **_Memory_** and **_Cores_** settings to what you desire. Changes are immediate. **Home Assistant Interface - IP:8123** **Portainer Interface - IP:9000** ⚙️ **Path to HA /config** ```yaml /var/lib/docker/volumes/hass_config/_data ``` ⚙️ **To Edit the HA configuration.yaml** (Recommend Using Webmin System Administration) Run from the LXC console ```yaml nano /var/lib/docker/volumes/hass_config/_data/configuration.yaml ``` Save and exit the editor with “Ctrl+O”, “Enter” and “Ctrl+X” ⚙️ **To Allow Device Passthrough:** In the Proxmox web shell run (**replace `106` with your LXC ID**) ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/autodev.sh)" -s 106 ``` Reboot the LXC to apply the changes ⚙️ **To Install HACS:** Run from the LXC console ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/hacs.sh)" ``` After install, reboot Home Assistant and **clear browser cache** then Add HACS integration. ⚙️ **To Update Home Assistant:** Run from the LXC console ```yaml ./update.sh ``` ____________________________________________________________________________________________
ESPHome LXC

Logo

Proxmox ESPHome LXC Container

To create a new Proxmox ESPHome LXC Container, run the following from Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/esphome_container.sh)" ```

⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡

**ESPHome Interface - IP:6052** ____________________________________________________________________________________________
Nginx Proxy Manager LXC

hero

Proxmox Nginx Proxy Manager LXC Container

To create a new Proxmox Nginx Proxy Manager LXC Container, run the following from Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/npm_container.sh)" ```

⚡ Default Settings: 1GB RAM - 3GB Storage - 1vCPU ⚡

____________________________________________________________________________________ Forward port `80` and `443` from your router to your Nginx Proxy Manager LXC IP. Add the following to your `configuration.yaml` in Home Assistant. ```yaml http: use_x_forwarded_for: true trusted_proxies: - 192.168.100.27 ###(Nginx Proxy Manager LXC IP)### ``` **Nginx Proxy Manager Interface - IP:81** ⚙️ **Initial Login** **username** ```yaml admin@example.com ``` **password** ```yaml changeme ``` ____________________________________________________________________________________________
MQTT LXC

Proxmox MQTT LXC Container

To create a new Proxmox MQTT LXC Container, run the following in the Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/mqtt_container.sh)" ```

⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡

Mosquitto comes with a password file generating utility called mosquitto_passwd. ```yaml sudo mosquitto_passwd -c /etc/mosquitto/passwd ``` Password: < password > Create a configuration file for Mosquitto pointing to the password file we have just created. ```yaml sudo nano /etc/mosquitto/conf.d/default.conf ``` This will open an empty file. Paste the following into it. ```yaml allow_anonymous false persistence true password_file /etc/mosquitto/passwd listener 1883 ``` Save and exit the text editor with "Ctrl+O", "Enter" and "Ctrl+X". Now restart Mosquitto server. ```yaml sudo systemctl restart mosquitto ``` ⚙️ **To Update MQTT:** Run from the LXC console ```yaml apt update && apt upgrade -y ``` ____________________________________________________________________________________________
Node-Red LXC

@node-red

Proxmox Node-Red LXC Container

To create a new Proxmox Node-RED LXC Container, run the following in the Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/node-red_container.sh)" ```

⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡

From your nodered LXC console, the following commands can be run `node-red-start` to start Node-Red `systemctl enable nodered.service` to autostart Node-RED at every boot `node-red-restart` to restart Node-Red `systemctl disable nodered.service` to disable autostart on boot **Node-Red Interface - IP:1880** ⚙️ **To Update Node-Red:** Run from the LXC console ```yaml npm install -g --unsafe-perm node-red ``` (`node-red-restart` after update) ____________________________________________________________________________________________
Mariadb LXC

MariaDB

Proxmox Mariadb LXC Container

To create a new Proxmox Mariadb LXC Container, run the following in the Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/mariadb_container.sh)" ```

⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡

To enable MariaDB to listen to remote connections, you need to edit your defaults file. To do this, open the console in your MariaDB lxc: ```yaml nano /etc/mysql/my.cnf ``` Un-comment `port =3306` Save and exit the editor with "Ctrl+O", "Enter" and "Ctrl+X". ```yaml nano /etc/mysql/mariadb.conf.d/50-server.cnf ``` Comment `bind-address = 127.0.0.1` Save and exit the editor with "Ctrl+O", "Enter" and "Ctrl+X". For new MariaDB installations, the next step is to run the included security script. This script changes some of the less secure default options. We will use it to block remote root logins and to remove unused database users. Run the security script: ```yaml sudo mysql_secure_installation ``` Enter current password for root (enter for none): `enter` Switch to unix_socket authentication [Y/n] `y` Change the root password? [Y/n] `n` Remove anonymous users? [Y/n] `y` Disallow root login remotely? [Y/n] `y` Remove test database and access to it? [Y/n] `y` Reload privilege tables now? [Y/n] `y` We will create a new account called admin with the same capabilities as the root account, but configured for password authentication. ```yaml sudo mysql ``` Prompt will change to ```MariaDB [(none)]>``` Create a new local admin (Change the username and password to match your preferences) ```yaml CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password'; ``` Give local admin root privileges (Change the username and password to match above) ```yaml GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; ``` Now, we'll give the user admin root privileges and password-based access that can connect from anywhere on your local area network (LAN), which has addresses in the subnet 192.168.100.0/24. This is an improvement because opening a MariaDB server up to the Internet and granting access to all hosts is bad practice.. Change the **_username_**, **_password_** and **_subnet_** to match your preferences: ```yaml GRANT ALL ON *.* TO 'admin'@'192.168.100.%' IDENTIFIED BY 'password' WITH GRANT OPTION; ``` Flush the privileges to ensure that they are saved and available in the current session: ```yaml FLUSH PRIVILEGES; ``` Following this, exit the MariaDB shell: ```yaml exit ``` Log in as the new database user you just created: ```yaml mysql -u admin -p ``` Create a new database: ```yaml CREATE DATABASE homeassistant; ``` Following this, exit the MariaDB shell: ```yaml exit ``` ⚠️ Reboot the lxc Checking status. ```yaml sudo systemctl status mariadb ``` Change the recorder: `db_url:` in your HA configuration.yaml Example: `mysql://admin:password@192.168.100.26:3306/homeassistant?charset=utf8mb4` ⚙️ **To Update Mariadb:** Run from the LXC console ```yaml apt update && apt upgrade -y ``` ____________________________________________________________________________________________
Zigbee2MQTT LXC

logo.png

Proxmox Zigbee2MQTT LXC Container

To create a new Proxmox [Zigbee2MQTT](https://www.zigbee2mqtt.io/) LXC Container, run the following from Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/zigbee2mqtt_container.sh)" ```

⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡

⚙️ **To allow device passthrough:** In the Proxmox web shell run (**replace `106` with your LXC ID**) ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/autodev.sh)" -s 106 ``` Reboot the LXC to apply the changes ⚙️ **Determine the location of your adapter** Run in the zigbee2mqtt console ```yaml ls -l /dev/serial/by-id ``` Example Output: ```lrwxrwxrwx 1 root root 13 Jun 19 17:30 usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0``` ⚠️ **Before you can start Zigbee2MQTT you need to edit the [configuration.yaml](https://www.zigbee2mqtt.io/guide/configuration/)** ```yaml nano /opt/zigbee2mqtt/data/configuration.yaml ``` Example: ```yaml frontend: port: 9442 homeassistant: true permit_join: false mqtt: base_topic: zigbee2mqtt server: 'mqtt://192.168.86.224:1883' user: usr password: pwd keepalive: 60 reject_unauthorized: true version: 4 serial: port: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 advanced: pan_id: GENERATE network_key: GENERATE channel: 20 ``` ⚙️ **Zigbee2mqtt can be started after completing the configuration** ```yaml sudo systemctl start zigbee2mqtt ``` ⚙️ **To start Zigbee2MQTT automatically on boot** ```yaml sudo systemctl enable zigbee2mqtt.service ``` ⚙️ **To update Zigbee2Mqtt** ```yaml bash /opt/zigbee2mqtt/update.sh ``` ____________________________________________________________________________________________
Zwavejs2MQTT LXC

Proxmox Zwavejs2MQTT LXC Container

To create a new Proxmox Zwavejs2MQTT LXC Container, run the following from Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/zwavejs2mqtt_container.sh)" ```

⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡

**Zwavejs2MQTT Interface - IP:8091** ⚙️ **To allow device passthrough:** In the Proxmox web shell run (**replace `106` with your LXC ID)** ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/autodev.sh)" -s 106 ``` Reboot the LXC to apply the changes ____________________________________________________________________________________________
Debian 11 LXC

Debian

Proxmox Debian 11 LXC Container

To create a new Proxmox Debian 11 (curl. sudo, auto login) LXC Container, run the following in the Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/debian11_container.sh)" ```

⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡

After the script completes, If you're dissatisfied with the default settings, click on the LXC, then on the **_Resources_** tab and change the **_Memory_** and **_Cores_** settings to what you desire. Changes are immediate. ____________________________________________________________________________________________
🔸Ubuntu 21.10 LXC

Ubuntu

Proxmox Ubuntu 21.10 LXC Container

To create a new Proxmox Ubuntu 21.10 (curl. sudo, auto login) LXC Container, run the following in the Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/ubuntu_container.sh)" ```

⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡

After the script completes, If you're dissatisfied with the default settings, click on the LXC, then on the **_Resources_** tab and change the **_Memory_** and **_Cores_** settings to what you desire. Changes are immediate. ____________________________________________________________________________________________
Plex Media Server LXC

Plex Media Server LXC

To create a new Proxmox Plex Media Server LXC, run the following in the Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/plex_container.sh)" ```

⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡

After the script completes, If you're dissatisfied with the default settings, click on the LXC, then on the **_Resources_** tab and change the **_Memory_**, **_Cores_** and **_Root Disk_** (Resize disk) settings to what you desire. Changes are immediate. **Plex Media Server Interface - IP:32400/web** ____________________________________________________________________________________________
Pi-hole LXC

Pi-hole

Pi-hole LXC

To create a new Proxmox Pi-hole LXC, run the following in the Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/pihole_container.sh)" ```

⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡

⚙️ **To set your password:** Run from the LXC console ```yaml pihole -a -p ``` ____________________________________________________________________________________________
AdGuard Home LXC

AdGuard Home LXC

To create a new Proxmox AdGuard Home LXC, run the following in the Proxmox web shell. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/adguard_container.sh)" ```

⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡

**AdGuard Home Interface - IP:3000** ____________________________________________________________________________________________
Webmin System Administration

Webmin System Administration

To Install [Webmin System Administration](https://www.webmin.com/index.html), run the following in a LXC console. ```yaml bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/webmin.sh)" ``` If you prefer to manage all aspects of your Proxmox LXC from a graphical interface instead of the command line interface, Webmin might be right for you. Benefits include automatic daily security updates, backup and restore, file manager with editor, web control panel, and preconfigured system monitoring with optional email alerts. **Webmin Interface - https:// IP:10000 (https)** ⚙️ **Initial Login** **username** `root` **password** `root` ⚙️ **To Uninstall Webmin** ```yaml bash /etc/webmin/uninstall.sh ``` ___________________________________________________________________________________________