ProxmoxHelperScripts/README.md

797 lines
26 KiB
Markdown
Raw Normal View History

2022-01-25 01:52:11 +01:00
<h1 align="center" id="heading"> Select a Proxmox Helper Below </h1>
2021-09-30 19:12:34 +02:00
2022-01-23 09:21:55 +01:00
2022-01-23 09:27:56 +01:00
🔸<sub> updated in the past 7 days</sub> <sub> [Changelog](https://github.com/tteck/Proxmox/blob/main/CHANGELOG.MD) </sub>
2021-10-28 11:20:45 +02:00
2021-09-30 19:12:34 +02:00
<details>
2022-01-20 13:41:11 +01:00
<summary markdown="span">Proxmox VE 7 Post Install</summary>
2021-10-28 13:08:07 +02:00
2021-10-28 16:25:06 +02:00
<p align="center"><img src="https://www.proxmox.com/images/proxmox/Proxmox_logo_standard_hex_400px.png" alt="Proxmox Server Solutions" height="55"/></p>
2021-09-30 19:12:34 +02:00
<h1 align="center" id="heading"> Proxmox VE 7 Post Install </h1>
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.
2021-11-29 17:14:04 +01:00
Run the following in the Proxmox Web Shell. ⚠️ **PVE7 ONLY**
2021-09-30 19:12:34 +02:00
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 01:39:13 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/post_install.sh)"
2021-09-30 19:12:34 +02:00
```
It's recommended to update Proxmox after running this script, before adding any VM/CT.
2021-11-29 16:20:26 +01:00
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-09-30 19:12:34 +02:00
</details>
2021-10-28 11:20:45 +02:00
2021-12-02 18:31:30 +01:00
<details>
<summary markdown="span">Proxmox Dark Theme</summary>
<p align="center"><img src="https://camo.githubusercontent.com/f6f33a09f8c1207dfb3dc1cbd754c2f3393562c11b1c999751ad9a91a656834a/68747470733a2f2f692e696d6775722e636f6d2f536e6c437948462e706e67" height="100"/></p>
2021-12-02 18:35:18 +01:00
<h1 align="center" id="heading"> Proxmox Discord Dark Theme </h1>
2021-12-02 18:31:30 +01:00
A dark theme for the Proxmox Web UI by [Weilbyte](https://github.com/Weilbyte/PVEDiscordDark)
Run the following in the Proxmox Web Shell.
2022-01-21 10:01:06 +01:00
```yaml
2021-12-02 18:31:30 +01:00
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.
____________________________________________________________________________________________
</details>
2021-08-12 16:02:12 +02:00
2021-08-12 17:04:01 +02:00
<details>
2022-01-20 13:41:11 +01:00
<summary markdown="span">Home Assistant OS VM</summary>
2021-08-12 17:04:01 +02:00
2021-10-28 13:08:07 +02:00
<p align="center"><img src="https://avatars.githubusercontent.com/u/13844975?s=200&amp;v=4" alt="@home-assistant" width="100" height="100"/></p>
2022-01-28 13:42:17 +01:00
<h1 align="center" id="heading"> Home Assistant OS VM </h1>
2021-08-12 17:04:01 +02:00
To create a new Proxmox VM with the latest version of Home Assistant OS, run the following from Proxmox web shell
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/vm/haos_vm.sh)"
2021-08-12 17:04:01 +02:00
```
2021-10-28 11:56:32 +02:00
<h3 align="center" id="heading">⚡ Default Settings: 4GB RAM - 32GB Storage - 2vCPU ⚡</h3>
2021-08-12 18:56:21 +02:00
2021-08-12 17:04:01 +02:00
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.
2021-10-30 18:44:20 +02:00
**Home Assistant Interface - IP:8123**
2021-11-29 16:20:26 +01:00
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-08-12 17:04:01 +02:00
</details>
2021-10-28 11:20:45 +02:00
2021-08-12 17:04:01 +02:00
2021-11-28 06:13:35 +01:00
<details>
2022-01-24 06:22:01 +01:00
<summary markdown="span">Home Assistant Container LXC (Podman)</summary>
2021-11-28 06:13:35 +01:00
<p align="center"><img src="https://heise.cloudimg.io/width/223/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/imgs/18/2/5/8/2/8/1/0/podman_logo-670078d7ea1d15a6.png" width="100" height="100"/>
<img src="https://avatars.githubusercontent.com/u/13844975?s=200&amp;v=4" alt="@home-assistant" width="100" height="100"/><img/></p>
2022-01-28 13:42:17 +01:00
<h1 align="center" id="heading"> Podman Home Assistant Container LXC </h1>
2022-01-25 04:05:57 +01:00
<h3 align="center" id="heading"> With ZFS Filesystem Support </h3>
2021-11-28 14:17:51 +01:00
To create a new Proxmox Podman Home Assistant Container, run the following from Proxmox web shell.
2021-11-28 14:15:04 +01:00
2021-12-31 14:58:27 +01:00
([What is Podman?](https://youtu.be/lkg5QJsoCCQ))
2021-11-28 06:13:35 +01:00
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/podman_ha_container.sh)"
2021-11-28 06:13:35 +01:00
```
<h3 align="center" id="heading">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>
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**
2021-11-29 17:14:04 +01:00
⚙️ **Path to HA /config**
2022-01-21 10:01:06 +01:00
```yaml
2021-11-28 06:13:35 +01:00
/var/lib/containers/storage/volumes/hass_config/_data
```
2021-11-29 17:14:04 +01:00
⚙️ **To edit the HA configuration.yaml**
Run from the LXC console
2022-01-21 10:01:06 +01:00
```yaml
2021-11-28 06:13:35 +01:00
nano /var/lib/containers/storage/volumes/hass_config/_data/configuration.yaml
```
Save and exit the editor with “Ctrl+O”, “Enter” and “Ctrl+X”
2022-02-01 11:40:53 +01:00
⚙️ **To allow USB device passthrough:**
2021-11-29 17:14:04 +01:00
2022-01-17 20:22:18 +01:00
In the Proxmox web shell run (**replace `106` with your LXC ID**)
2022-01-21 10:01:06 +01:00
```yaml
2022-02-01 11:40:53 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/usb-passthrough.sh)" -s 106
2021-11-28 06:13:35 +01:00
```
2021-11-29 17:14:04 +01:00
2022-01-17 20:22:18 +01:00
Reboot the LXC to apply the changes
2021-11-29 16:23:23 +01:00
2021-11-29 17:14:04 +01:00
⚙️ **To install HACS:**
2021-11-29 16:23:23 +01:00
2021-11-29 17:14:04 +01:00
Run the from the LXC console
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 01:39:13 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/podman_hacs.sh)"
2021-11-29 16:23:23 +01:00
```
After install, reboot Home Assistant and **clear browser cache** then Add HACS integration.
2021-11-28 06:13:35 +01:00
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-11-28 06:13:35 +01:00
</details>
2021-08-12 18:14:36 +02:00
<details>
2022-01-26 10:22:23 +01:00
<summary markdown="span">Home Assistant Container LXC </summary>
2021-10-28 13:08:07 +02:00
2021-10-28 16:41:05 +02:00
<p align="center"><img src="https://www.docker.com/sites/default/files/d8/2019-07/vertical-logo-monochromatic.png" alt="Docker Logos | Docker" width="100" height="100"/>
<img src="https://avatars.githubusercontent.com/u/13844975?s=200&amp;v=4" alt="@home-assistant" width="100" height="100"/><img src="https://avatars1.githubusercontent.com/u/22225832?s=400&amp;v=4" alt="GitHub - portainer/portainer-docs: Portainer documentation" width="100" height="100"/></p>
2021-08-12 18:14:36 +02:00
2022-01-28 13:42:17 +01:00
<h1 align="center" id="heading"> Home Assistant Container LXC </h1>
2022-01-25 04:05:57 +01:00
<h3 align="center" id="heading"> With ZFS Filesystem Support </h3>
2021-11-29 16:12:25 +01:00
To create a new Proxmox Home Assistant Container, run the following from Proxmox web shell.
2021-08-12 18:14:36 +02:00
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/ha_container.sh)"
2021-08-12 18:14:36 +02:00
```
2021-08-12 18:16:25 +02:00
2021-12-02 12:20:12 +01:00
<h3 align="center" id="heading">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>
2021-08-12 18:55:48 +02:00
2021-08-12 18:54:15 +02:00
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.
2021-08-12 18:14:36 +02:00
2021-10-30 18:44:20 +02:00
**Home Assistant Interface - IP:8123**
2021-08-12 18:16:25 +02:00
2021-10-30 18:44:20 +02:00
**Portainer Interface - IP:9000**
2021-08-12 18:16:25 +02:00
2021-11-29 17:14:04 +01:00
⚙️ **Path to HA /config**
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 18:16:25 +02:00
/var/lib/docker/volumes/hass_config/_data
2021-08-12 18:18:59 +02:00
```
2022-01-20 03:44:41 +01:00
⚙️ **To Edit the HA configuration.yaml** (Recommend Using Webmin System Administration)
2021-11-29 17:14:04 +01:00
Run from the LXC console
2022-01-21 10:01:06 +01:00
```yaml
2021-11-15 10:28:44 +01:00
nano /var/lib/docker/volumes/hass_config/_data/configuration.yaml
```
Save and exit the editor with “Ctrl+O”, “Enter” and “Ctrl+X”
2021-11-15 10:06:06 +01:00
2022-02-01 11:40:53 +01:00
⚙️ **To Allow USB Device Passthrough:**
2021-11-29 16:12:25 +01:00
2021-11-29 17:14:04 +01:00
In the Proxmox web shell run (**replace `106` with your LXC ID**)
2022-01-21 10:01:06 +01:00
```yaml
2022-02-01 11:40:53 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/usb-passthrough.sh)" -s 106
2021-11-29 16:12:25 +01:00
```
2021-08-12 18:17:10 +02:00
2021-11-29 16:12:25 +01:00
Reboot the LXC to apply the changes
2022-01-20 03:44:41 +01:00
⚙️ **To Install HACS:**
2021-11-29 16:12:25 +01:00
2022-01-20 03:45:53 +01:00
Run from the LXC console
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 01:39:13 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/hacs.sh)"
2021-11-29 16:12:25 +01:00
```
After install, reboot Home Assistant and **clear browser cache** then Add HACS integration.
2022-01-19 22:30:39 +01:00
2022-01-20 03:44:41 +01:00
⚙️ **To Update Home Assistant:**
2022-01-19 22:30:39 +01:00
2022-01-20 03:44:41 +01:00
Run from the LXC console
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 22:30:39 +01:00
./update.sh
```
2021-11-29 16:12:25 +01:00
____________________________________________________________________________________________
2021-08-12 18:14:36 +02:00
</details>
2021-10-28 11:20:45 +02:00
2021-08-12 18:14:36 +02:00
2021-08-12 16:02:12 +02:00
<details>
2021-10-28 11:47:27 +02:00
<summary markdown="span">ESPHome LXC</summary>
2021-10-28 13:08:07 +02:00
2021-10-28 16:25:06 +02:00
<p align="center"><img src="https://esphome.io/_static/logo-text.svg" alt="Logo" height="90"/></p>
2021-08-12 16:02:12 +02:00
2022-01-28 13:42:17 +01:00
<h1 align="center" id="heading"> ESPHome LXC Container </h1>
2021-08-12 16:02:12 +02:00
To create a new Proxmox ESPHome LXC Container, run the following from Proxmox web shell.
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/esphome_container.sh)"
2021-08-12 16:02:12 +02:00
```
2021-10-28 11:47:27 +02:00
<h3 align="center" id="heading">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>
2021-08-12 16:02:12 +02:00
2021-10-30 18:44:20 +02:00
**ESPHome Interface - IP:6052**
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-09-17 16:30:52 +02:00
2021-08-12 16:02:12 +02:00
</details>
2021-09-03 21:33:46 +02:00
<details>
2022-01-22 16:22:33 +01:00
<summary markdown="span">Nginx Proxy Manager LXC</summary>
2021-10-28 13:08:07 +02:00
2021-10-28 13:15:10 +02:00
<p align="center"><img src="https://nginxproxymanager.com/logo.png" alt="hero" height="100"/></p>
2021-10-28 13:08:07 +02:00
2021-09-03 21:33:46 +02:00
2022-01-28 13:42:17 +01:00
<h1 align="center" id="heading"> Nginx Proxy Manager LXC Container </h1>
2021-09-03 21:33:46 +02:00
To create a new Proxmox Nginx Proxy Manager LXC Container, run the following from Proxmox web shell.
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/npm_container.sh)"
2021-09-03 21:33:46 +02:00
```
2022-01-15 20:30:07 +01:00
<h3 align="center" id="heading">⚡ Default Settings: 1GB RAM - 3GB Storage - 1vCPU ⚡</h3>
2021-09-04 17:03:40 +02:00
____________________________________________________________________________________
2021-09-03 21:38:43 +02:00
2021-09-04 15:18:21 +02:00
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.
2022-01-21 10:01:06 +01:00
```yaml
2021-09-04 15:18:21 +02:00
http:
use_x_forwarded_for: true
trusted_proxies:
- 192.168.100.27 ###(Nginx Proxy Manager LXC IP)###
```
2021-10-30 18:44:20 +02:00
**Nginx Proxy Manager Interface - IP:81**
2021-10-29 05:11:22 +02:00
2022-01-15 20:30:07 +01:00
⚙️ **Initial Login**
2021-09-03 21:52:58 +02:00
2021-09-03 21:54:58 +02:00
**username**
2022-01-21 10:01:06 +01:00
```yaml
2021-09-03 21:52:58 +02:00
admin@example.com
```
2021-09-03 21:54:58 +02:00
**password**
2022-01-21 10:01:06 +01:00
```yaml
2021-09-03 21:52:58 +02:00
changeme
```
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-09-03 21:33:46 +02:00
</details>
2021-08-12 16:02:12 +02:00
2021-10-28 11:20:45 +02:00
2021-08-12 16:02:12 +02:00
<details>
2021-10-28 11:47:27 +02:00
<summary markdown="span">MQTT LXC</summary>
2021-10-28 13:08:07 +02:00
2022-01-22 21:02:31 +01:00
<p align="center"><img src="https://mosquitto.org/images/mosquitto-text-side-28.png" height="75"/></p>
2021-10-28 13:08:07 +02:00
2021-08-12 16:02:12 +02:00
2022-01-28 13:42:17 +01:00
<h1 align="center" id="heading"> MQTT LXC Container </h1>
2021-08-12 16:02:12 +02:00
To create a new Proxmox MQTT LXC Container, run the following in the Proxmox web shell.
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/mqtt_container.sh)"
2021-08-12 16:02:12 +02:00
```
2021-10-28 11:47:27 +02:00
<h3 align="center" id="heading">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>
2021-08-12 19:15:56 +02:00
2021-08-12 16:02:12 +02:00
Mosquitto comes with a password file generating utility called mosquitto_passwd.
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 16:02:12 +02:00
sudo mosquitto_passwd -c /etc/mosquitto/passwd <usr>
```
Password: < password >
Create a configuration file for Mosquitto pointing to the password file we have just created.
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 16:02:12 +02:00
sudo nano /etc/mosquitto/conf.d/default.conf
```
This will open an empty file. Paste the following into it.
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 16:02:12 +02:00
allow_anonymous false
2021-08-21 15:22:49 +02:00
persistence true
2021-08-12 16:02:12 +02:00
password_file /etc/mosquitto/passwd
2021-08-21 14:37:19 +02:00
listener 1883
2021-08-12 16:02:12 +02:00
```
Save and exit the text editor with "Ctrl+O", "Enter" and "Ctrl+X".
Now restart Mosquitto server.
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 16:02:12 +02:00
sudo systemctl restart mosquitto
```
2022-01-23 05:51:11 +01:00
⚙️ **To Update MQTT:**
Run from the LXC console
```yaml
apt update && apt upgrade -y
```
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-08-12 16:02:12 +02:00
</details>
2021-10-28 11:20:45 +02:00
2021-08-12 16:02:12 +02:00
<details>
2022-02-05 12:37:00 +01:00
<summary markdown="span">Node-Red LXC</summary>
2021-10-28 13:08:07 +02:00
2022-01-30 01:55:55 +01:00
<p align="center"><img src="https://nodered.org/about/resources/media/node-red-icon.png" alt="@node-red" width="100" height="100"/></p>
2021-08-12 16:02:12 +02:00
2022-01-28 13:42:17 +01:00
<h1 align="center" id="heading"> Node-Red LXC Container </h1>
2021-10-28 13:08:07 +02:00
2021-08-12 16:02:12 +02:00
To create a new Proxmox Node-RED LXC Container, run the following in the Proxmox web shell.
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/node-red_container.sh)"
2021-08-12 16:02:12 +02:00
```
2021-10-28 11:47:27 +02:00
<h3 align="center" id="heading">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>
2021-08-12 16:02:12 +02:00
2022-01-30 00:25:53 +01:00
**Node-Red Interface - IP:1880**
2022-01-30 00:21:03 +01:00
⚙️ **To Restart Node-Red:**
2021-10-26 20:41:48 +02:00
2022-01-30 00:21:03 +01:00
Run from the LXC console
```yaml
node-red-restart
```
2021-11-29 16:18:36 +01:00
2022-01-23 05:56:44 +01:00
⚙️ **To Update Node-Red:**
2022-01-30 00:57:46 +01:00
Run from the LXC console (Restart after update)
2022-01-23 05:56:44 +01:00
```yaml
npm install -g --unsafe-perm node-red
```
2022-01-23 06:02:11 +01:00
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-10-29 05:11:22 +02:00
2021-08-12 17:23:54 +02:00
</details>
<details>
2021-12-02 13:48:36 +01:00
<summary markdown="span">Mariadb LXC</summary>
2021-10-28 13:08:07 +02:00
<p align="center"><img src="https://mariadb.com/wp-content/webp-express/webp-images/doc-root/wp-content/themes/sage/dist/images/mariadb-logo-white.png.webp" alt="MariaDB"/></p>
2021-08-12 17:23:54 +02:00
2022-01-28 13:42:17 +01:00
<h1 align="center" id="heading"> Mariadb LXC Container </h1>
2021-08-12 17:23:54 +02:00
To create a new Proxmox Mariadb LXC Container, run the following in the Proxmox web shell.
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/mariadb_container.sh)"
2021-08-12 17:23:54 +02:00
```
2021-10-28 11:47:27 +02:00
<h3 align="center" id="heading">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>
2021-08-12 19:21:08 +02:00
2021-08-12 17:25:31 +02:00
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:
2022-01-21 10:01:06 +01:00
```yaml
2021-08-22 02:30:27 +02:00
nano /etc/mysql/my.cnf
2021-08-12 17:25:31 +02:00
```
2021-08-22 02:30:27 +02:00
Un-comment `port =3306`
Save and exit the editor with "Ctrl+O", "Enter" and "Ctrl+X".
2022-01-21 10:01:06 +01:00
```yaml
2021-08-22 02:30:27 +02:00
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".
2021-08-12 17:25:31 +02:00
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:
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 17:25:31 +02:00
sudo mysql_secure_installation
```
2021-08-24 22:39:02 +02:00
Enter current password for root (enter for none): `enter`
2021-08-22 02:32:22 +02:00
2021-08-24 22:39:02 +02:00
Switch to unix_socket authentication [Y/n] `y`
2021-08-22 02:32:22 +02:00
2021-08-24 22:39:02 +02:00
Change the root password? [Y/n] `n`
2021-08-22 02:32:22 +02:00
2021-08-24 22:39:02 +02:00
Remove anonymous users? [Y/n] `y`
2021-08-22 02:32:22 +02:00
2021-08-24 22:39:02 +02:00
Disallow root login remotely? [Y/n] `y`
2021-08-22 02:32:22 +02:00
2021-08-24 22:39:02 +02:00
Remove test database and access to it? [Y/n] `y`
2021-08-22 02:32:22 +02:00
2021-08-24 22:39:02 +02:00
Reload privilege tables now? [Y/n] `y`
2021-08-12 17:25:31 +02:00
2021-08-22 02:30:27 +02:00
We will create a new account called admin with the same capabilities as the root account, but configured for password authentication.
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 17:25:31 +02:00
sudo mysql
```
Prompt will change to ```MariaDB [(none)]>```
2021-08-22 02:42:54 +02:00
Create a new local admin (Change the username and password to match your preferences)
2022-01-21 10:01:06 +01:00
```yaml
2021-08-22 02:37:57 +02:00
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
2021-08-12 17:25:31 +02:00
```
2021-08-22 03:13:59 +02:00
Give local admin root privileges (Change the username and password to match above)
2022-01-21 10:01:06 +01:00
```yaml
2021-08-22 02:37:57 +02:00
GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
2021-08-22 02:30:27 +02:00
```
2021-08-27 11:59:26 +02:00
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:
2022-01-21 10:01:06 +01:00
```yaml
2021-08-22 02:37:57 +02:00
GRANT ALL ON *.* TO 'admin'@'192.168.100.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
2021-08-12 17:25:31 +02:00
```
Flush the privileges to ensure that they are saved and available in the current session:
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 17:25:31 +02:00
FLUSH PRIVILEGES;
```
Following this, exit the MariaDB shell:
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 17:25:31 +02:00
exit
```
Log in as the new database user you just created:
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 17:25:31 +02:00
mysql -u admin -p
```
Create a new database:
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 17:25:31 +02:00
CREATE DATABASE homeassistant;
```
2021-08-22 02:30:27 +02:00
Following this, exit the MariaDB shell:
2022-01-21 10:01:06 +01:00
```yaml
2021-08-22 02:30:27 +02:00
exit
```
2021-10-28 11:47:27 +02:00
⚠️ Reboot the lxc
2021-08-22 02:30:27 +02:00
2021-08-12 17:25:31 +02:00
Checking status.
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 17:25:31 +02:00
sudo systemctl status mariadb
```
2021-08-22 11:54:33 +02:00
Change the recorder: `db_url:` in your HA configuration.yaml
2021-08-13 20:45:26 +02:00
2021-08-22 11:55:40 +02:00
Example: `mysql://admin:password@192.168.100.26:3306/homeassistant?charset=utf8mb4`
2021-08-12 17:23:54 +02:00
2022-01-23 05:51:11 +01:00
⚙️ **To Update Mariadb:**
Run from the LXC console
```yaml
apt update && apt upgrade -y
```
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-08-28 00:15:26 +02:00
</details>
2021-08-28 06:49:59 +02:00
2021-10-28 11:20:45 +02:00
2021-08-12 17:47:15 +02:00
2021-08-12 17:56:33 +02:00
<details>
2022-02-06 10:13:15 +01:00
<summary markdown="span">Zigbee2MQTT LXC </summary>
2021-10-28 13:08:07 +02:00
<p align="center"><img src="https://github.com/Koenkk/zigbee2mqtt/blob/master/images/logo.png?raw=true" alt="logo.png" width="100" height="100"/></p>
2021-08-12 17:56:33 +02:00
2022-01-30 09:59:42 +01:00
<h1 align="center" id="heading">Zigbee2MQTT LXC Container</h1>
2021-08-12 17:56:33 +02:00
2022-01-30 09:08:57 +01:00
To create a new Proxmox Zigbee2MQTT LXC Container, run the following from Proxmox web shell.
2021-08-12 17:56:33 +02:00
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/zigbee2mqtt_container.sh)"
2021-08-12 17:47:15 +02:00
```
2021-10-28 11:47:27 +02:00
<h3 align="center" id="heading">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>
2021-08-12 19:57:28 +02:00
2021-11-29 16:30:08 +01:00
2022-02-01 11:40:53 +01:00
⚙️ **To allow USB device passthrough:**
2021-11-29 16:30:08 +01:00
2022-01-30 10:20:47 +01:00
In the **Proxmox Shell** run (**replace `106` with your LXC ID**)
2022-01-21 10:01:06 +01:00
```yaml
2022-02-01 11:40:53 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/usb-passthrough.sh)" -s 106
2021-11-29 16:30:08 +01:00
```
Reboot the LXC to apply the changes
2021-11-29 17:14:04 +01:00
⚙️ **Determine the location of your adapter**
2022-01-30 10:20:47 +01:00
Run from the LXC console
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 17:47:15 +02:00
ls -l /dev/serial/by-id
```
Example Output: ```lrwxrwxrwx 1 root root 13 Jun 19 17:30 usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0```
2021-08-23 04:34:15 +02:00
2022-01-30 10:49:52 +01:00
⚙️ ⚠️ **Before you start Zigbee2MQTT you need to edit the [configuration.yaml](https://www.zigbee2mqtt.io/guide/configuration/)**
Run from the LXC console
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 17:47:15 +02:00
nano /opt/zigbee2mqtt/data/configuration.yaml
```
2022-01-30 10:20:47 +01:00
Save and exit the editor with “Ctrl+O”, “Enter” and “Ctrl+X”
2021-08-12 17:47:15 +02:00
Example:
2022-01-21 10:01:06 +01:00
```yaml
2021-08-12 17:47:15 +02:00
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
```
2022-01-30 10:49:52 +01:00
⚙️ **Zigbee2MQTT can be started after completing the configuration**
Run from the LXC console
2022-01-21 10:01:06 +01:00
```yaml
2022-01-30 09:44:35 +01:00
cd /opt/zigbee2mqtt
npm start
2021-08-12 17:47:15 +02:00
```
2022-01-30 10:49:52 +01:00
⚙️ **To update Zigbee2MQTT**
Run from the LXC console
2022-01-21 10:01:06 +01:00
```yaml
2022-01-23 10:04:26 +01:00
bash /opt/zigbee2mqtt/update.sh
2021-08-23 12:09:35 +02:00
```
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-08-12 16:02:12 +02:00
</details>
2021-08-12 21:36:21 +02:00
2021-10-28 11:20:45 +02:00
2021-11-28 13:40:50 +01:00
<details>
2022-01-22 00:02:33 +01:00
<summary markdown="span">Zwavejs2MQTT LXC </summary>
2021-11-28 13:40:50 +01:00
<p align="center"><img src="https://github.com/zwave-js/zwavejs2mqtt/raw/master/docs/_images/zwavejs_logo.svg" height="100"/></p>
2022-01-28 13:42:17 +01:00
<h1 align="center" id="heading"> Zwavejs2MQTT LXC Container </h1>
2021-11-28 13:40:50 +01:00
To create a new Proxmox Zwavejs2MQTT LXC Container, run the following from Proxmox web shell.
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/zwavejs2mqtt_container.sh)"
2021-11-28 13:40:50 +01:00
```
<h3 align="center" id="heading">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>
**Zwavejs2MQTT Interface - IP:8091**
2021-11-29 16:18:36 +01:00
2022-02-01 11:40:53 +01:00
⚙️ **To allow USB device passthrough:**
2021-11-29 16:37:46 +01:00
2021-11-29 17:14:04 +01:00
In the Proxmox web shell run (**replace `106` with your LXC ID)**
2022-01-21 10:01:06 +01:00
```yaml
2022-02-01 11:40:53 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/usb-passthrough.sh)" -s 106
2021-11-29 16:37:46 +01:00
```
Reboot the LXC to apply the changes
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-11-28 13:40:50 +01:00
</details>
2021-08-12 21:36:21 +02:00
2021-08-19 14:37:01 +02:00
<details>
2022-02-06 10:17:17 +01:00
<summary markdown="span">🔸Debian 11 LXC</summary>
2021-10-28 13:08:07 +02:00
<p align="center"><img src="https://www.debian.org/Pics/debian-logo-1024x576.png" alt="Debian" height="100"/></p>
2021-08-19 14:37:01 +02:00
2022-01-28 13:42:17 +01:00
<h1 align="center" id="heading"> Debian 11 LXC Container </h1>
2021-08-19 14:37:01 +02:00
To create a new Proxmox Debian 11 (curl. sudo, auto login) LXC Container, run the following in the Proxmox web shell.
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/debian11_container.sh)"
2021-08-19 14:37:01 +02:00
```
2021-10-28 11:47:27 +02:00
<h3 align="center" id="heading">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>
2021-08-19 14:37:01 +02:00
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.
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-08-19 14:37:01 +02:00
</details>
2021-09-27 15:47:47 +02:00
2021-10-28 11:20:45 +02:00
2022-01-18 21:49:12 +01:00
<details>
2022-02-06 10:17:17 +01:00
<summary markdown="span">🔸Ubuntu 21.10 LXC</summary>
2022-01-18 21:49:12 +01:00
<p align="center"><img src="https://assets.ubuntu.com/v1/29985a98-ubuntu-logo32.png" alt="Ubuntu" height="100"/></p>
2022-01-28 13:42:17 +01:00
<h1 align="center" id="heading"> Ubuntu 21.10 LXC Container </h1>
2022-01-18 21:49:12 +01:00
To create a new Proxmox Ubuntu 21.10 (curl. sudo, auto login) LXC Container, run the following in the Proxmox web shell.
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/ubuntu_container.sh)"
2022-01-18 21:49:12 +01:00
```
<h3 align="center" id="heading">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>
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.
____________________________________________________________________________________________
</details>
2021-12-28 19:30:06 +01:00
<details>
2022-01-31 10:26:03 +01:00
<summary markdown="span">Plex Media Server LXC</summary>
2022-01-25 03:58:04 +01:00
2021-12-28 19:30:06 +01:00
<p align="center"><img src="https://www.plex.tv/wp-content/themes/plex/assets/img/plex-logo.svg" height="80"/></p>
<h1 align="center" id="heading"> Plex Media Server LXC </h1>
2022-01-25 03:58:04 +01:00
<h3 align="center" id="heading"> With Hardware Acceleration Support </h3>
2021-12-28 19:30:06 +01:00
To create a new Proxmox Plex Media Server LXC, run the following in the Proxmox web shell.
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/plex_container.sh)"
2021-12-28 19:30:06 +01:00
```
<h3 align="center" id="heading">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>
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**
2022-01-25 03:58:04 +01:00
⚙️ **To Update Plex Media Server:**
Run from the LXC console
```yaml
apt update && apt upgrade -y
```
2022-01-23 20:41:57 +01:00
2021-12-28 19:30:06 +01:00
____________________________________________________________________________________________
</details>
2022-02-09 03:47:36 +01:00
<details>
<summary markdown="span">Jellyfin Media Server LXC</summary>
<p align="center"><img src="https://jellyfin.org/images/banner-dark.svg" height="80"/></p>
<h1 align="center" id="heading"> Jellyfin Media Server LXC </h1>
<h3 align="center" id="heading"> With Hardware Acceleration Support </h3>
To create a new Proxmox Jellyfin Media Server LXC, run the following in the Proxmox web shell.
```yaml
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/jellyfin_container.sh)"
```
<h3 align="center" id="heading">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>
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.
**Jellyfin Media Server Interface - IP:8096**
⚙️ **To Update Jellyfin Media Server:**
Run from the LXC console
```yaml
apt update && apt upgrade -y
```
____________________________________________________________________________________________
</details>
2021-09-27 15:47:47 +02:00
<details>
2021-10-28 11:47:27 +02:00
<summary markdown="span">Pi-hole LXC</summary>
2021-10-28 13:08:07 +02:00
<p align="center"><img src="https://camo.githubusercontent.com/9426a93d32aa9f5ad757b2befcdb762a270d344efd6b8d287a2cea2c4c2233b8/68747470733a2f2f70692d686f6c652e6769746875622e696f2f67726170686963732f566f727465782f566f727465785f776974685f576f72646d61726b2e737667" alt="Pi-hole" width="100" height="100"/></p>
2021-09-27 15:47:47 +02:00
2021-09-30 19:12:34 +02:00
<h1 align="center" id="heading"> Pi-hole LXC </h1>
2021-09-27 15:47:47 +02:00
2021-09-30 19:12:34 +02:00
To create a new Proxmox Pi-hole LXC, run the following in the Proxmox web shell.
2021-09-27 15:47:47 +02:00
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/pihole_container.sh)"
2021-09-27 15:47:47 +02:00
```
2021-10-28 11:47:27 +02:00
<h3 align="center" id="heading">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>
2021-09-30 19:12:34 +02:00
2021-11-29 17:25:21 +01:00
⚙️ **To set your password:**
2021-11-29 17:27:28 +01:00
Run from the LXC console
2021-09-27 15:47:47 +02:00
2022-01-21 10:01:06 +01:00
```yaml
2021-09-30 19:12:34 +02:00
pihole -a -p
```
2021-09-27 15:47:47 +02:00
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-09-27 15:47:47 +02:00
</details>
2021-09-30 19:12:34 +02:00
2021-11-29 16:18:36 +01:00
2021-10-29 00:27:08 +02:00
<details>
<summary markdown="span">AdGuard Home LXC</summary>
<p align="center"><img src="https://dashboard.snapcraft.io/site_media/appmedia/2020/04/256.png" width="100" height="100"/></p>
<h1 align="center" id="heading"> AdGuard Home LXC </h1>
To create a new Proxmox AdGuard Home LXC, run the following in the Proxmox web shell.
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 04:36:09 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/adguard_container.sh)"
2021-10-29 00:27:08 +02:00
```
<h3 align="center" id="heading">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>
2022-01-26 23:45:25 +01:00
**AdGuard Home Setup Interface - IP:3000 (After Setup use only IP)**
2022-01-26 22:27:56 +01:00
2022-01-26 22:31:40 +01:00
<sub>(For the Home Assistant Integration, use port `80` not `3000`)</sub>
2021-10-29 00:27:08 +02:00
2021-11-29 16:18:36 +01:00
____________________________________________________________________________________________
2021-10-29 00:27:08 +02:00
</details>
2021-12-11 00:31:36 +01:00
<details>
<summary markdown="span">Webmin System Administration</summary>
2021-12-11 01:04:34 +01:00
<p align="center"><img src="https://github.com/webmin/webmin/blob/master/images/webmin-blue.png?raw=true" height="100"/></p>
2021-12-11 00:31:36 +01:00
<h1 align="center" id="heading"> Webmin System Administration </h1>
2022-01-25 22:09:19 +01:00
To Install Webmin System Administration [(Screenshot)](https://raw.githubusercontent.com/tteck/Proxmox/main/misc/images/file-manager.png), run the following in a LXC console.
2021-12-11 00:31:36 +01:00
2022-01-21 10:01:06 +01:00
```yaml
2022-01-19 02:12:10 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/misc/webmin.sh)"
2021-12-11 00:31:36 +01:00
```
2021-12-11 03:13:05 +01:00
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.
2021-12-11 00:31:36 +01:00
2021-12-11 01:51:01 +01:00
Benefits include automatic daily security updates, backup and restore, file manager with editor, web control panel, and preconfigured system monitoring with optional email alerts.
2021-12-11 00:31:36 +01:00
**Webmin Interface - https:// IP:10000 (https)**
2021-12-11 00:48:27 +01:00
⚙️ **Initial Login**
**username**
2021-12-11 01:02:24 +01:00
`root`
2021-12-11 00:48:27 +01:00
**password**
2021-12-11 01:02:24 +01:00
`root`
2021-12-11 00:48:27 +01:00
2022-01-21 09:51:48 +01:00
⚙️ **To Uninstall Webmin**
```yaml
bash /etc/webmin/uninstall.sh
```
___________________________________________________________________________________________
2021-12-11 00:31:36 +01:00
</details>
2022-02-05 05:10:12 +01:00
<details>
2022-02-05 12:56:00 +01:00
<summary markdown="span">🔸Vaultwarden LXC</summary>
2022-02-05 05:10:12 +01:00
2022-02-05 13:34:43 +01:00
<p align="center"><img src="https://raw.githubusercontent.com/dani-garcia/vaultwarden/08f0de7b46d36a4e974d8e7b25a9786168cd38a5/resources/vaultwarden-icon.svg" width="100" height="100"/></p>
2022-02-05 05:10:12 +01:00
<h1 align="center" id="heading"> Vaultwarden LXC </h1>
To create a new Proxmox Vaultwarden LXC, run the following in the Proxmox web shell.
```
2022-02-05 12:45:47 +01:00
bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/vault_container.sh)"
2022-02-05 05:10:12 +01:00
```
2022-02-05 13:39:49 +01:00
It builds from source, which takes time and resources. After the installation, resources can be set to Normal Settings. I've left most of the installation process viewable since the Rust install needs user input (requires a "enter" key press), and the lengthy time to complete the full installation.
2022-02-05 05:10:12 +01:00
<h3 align="center" id="heading">⚡ Normal Settings: 512Mib RAM - 8GB Storage - 1vCPU ⚡</h3>
Be Patient, let the script do it's work. Hopefully, you'll eventually see "Successfully created a Vaultwarden LXC Container"
2022-02-05 12:53:47 +01:00
[Clients](https://bitwarden.com/download/)
2022-02-05 05:10:12 +01:00
**Vaultwarden Interface - IP:8000**
____________________________________________________________________________________________
</details>