Proxmox Helper Scripts

Proxmox Scripts For Home Automation

View on GitHub

Select a Proxmox Helper

Always remember to use due diligence when sourcing scripts and automation tasks from third-party sites.

🔸

Proxmox VE 7 Post Install

Proxmox VE 7 Post Install

This script will give options to Disable the Enterprise Repo, Add/Correct PVE7 Sources, Enable the No-Subscription Repo, Add Test Repo and Disable Subscription Nag.

Run the following in the Proxmox Shell. ⚠️ PVE7 ONLY

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-install-v3.sh)"

It’s recommended to update Proxmox after running this script, before adding any VM/CT.


Proxmox Kernel Clean

Proxmox Kernel Clean

Cleaning unused kernel images is not only good because of a reduced grub menu, but also gains some disk space.

Run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/kernel-clean-v3.sh)"

Proxmox CPU Scaling Governor

Proxmox CPU Scaling Governor

CPU Scaling Governor enables the operating system to scale the CPU frequency up or down in order to save power or improve performance.

Generic Scaling Governors

Run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/scaling-governor.sh)"

Proxmox LXC Updater

Proxmox LXC Updater

Update All LXC’s Fast & Easy

Run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/update-lxcs.sh)"

Proxmox Dark Theme

Proxmox Discord Dark Theme

A dark theme for the Proxmox Web UI by Weilbyte

Run the following in the Proxmox Shell.

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 OS VM

Option to create VM using the Latest or Stable Image

To create a new Proxmox Home Assistant OS VM, run the following in the Proxmox Shell

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/haos-vm-v3.sh)"

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

After the script completes, click on the VM, then on the Summary tab to find the VM IP.

Home Assistant Interface - IP:8123


Home Assistant Container LXC

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

Home Assistant Container LXC

To create a new Proxmox Home Assistant Container LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homeassistant-v3.sh)"

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

Home Assistant Interface - IP:8123

Portainer Interface - IP:9000

⚙️ Path to HA /config

/var/lib/docker/volumes/hass_config/_data

⚙️ To Edit the HA configuration.yaml (Recommend Using File Browser)

Run in the LXC console

nano /var/lib/docker/volumes/hass_config/_data/configuration.yaml

Save and exit the editor with “Ctrl+O”, “Enter” and “Ctrl+X”

⚙️ Copy Data From a Existing Home Assistant LXC to another Home Assistant LXC

Run in the Proxmox Shell

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/ha-copy-data.sh)"

⚙️ To Allow USB Device Passthrough:

Run in the Proxmox Shell. (replace 106 with your LXC ID)

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/usb-passthrough.sh)" -s 106

Reboot the LXC to apply the changes

⚙️ To Install HACS:

Run in the LXC console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/hacs.sh)"

After install, reboot Home Assistant and clear browser cache then Add HACS integration.

⚙️ Update Menu

Run in the LXC console

./update

Podman Home Assistant Container LXC

@home-assistant

Podman Home Assistant Container LXC

To create a new Proxmox Podman Home Assistant Container LXC, run the following in the Proxmox Shell.

(What is Podman?) ⚠️ Podman seems to need a privileged LXC

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/podman-homeassistant-v3.sh)"

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

Home Assistant Interface - IP:8123

Yacht Interface - IP:8000

⚙️ Path to HA /config

/var/lib/containers/storage/volumes/hass_config/_data

⚙️ To edit the HA configuration.yaml

Run in the LXC console

nano /var/lib/containers/storage/volumes/hass_config/_data/configuration.yaml

Save and exit the editor with “Ctrl+O”, “Enter” and “Ctrl+X”

⚙️ Copy Data From a Existing Home Assistant LXC to a Podman Home Assistant LXC

Run in the Proxmox Shell

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/ha-copy-data-podman.sh)"

⚙️ To allow USB device passthrough:

Run in the Proxmox Shell. (replace 106 with your LXC ID)

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/usb-passthrough.sh)" -s 106

Reboot the LXC to apply the changes

⚙️ To Install HACS:

Run in the LXC console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/podman_hacs.sh)"

After install, reboot Home Assistant and clear browser cache then Add HACS integration.

⚙️ Initial Yacht Login

username

 admin@yacht.local

password

 pass

ioBroker LXC

ioBroker LXC

ioBroker is an open source automation platform.

To create a new Proxmox ioBroker LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/iobroker-v3.sh)"

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

ioBroker Interface - IP:8081

⚙️ To Update ioBroker

update from the ioBroker UI

Homebridge LXC

Homebridge LXC

Homebridge allows you to integrate with smart home devices that do not natively support HomeKit

To create a new Proxmox Homebridge LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homebridge-v3.sh)"

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

Homebridge Interface - IP:8581

⚙️ Initial Login

username

 admin

password

 admin

Config File Path /var/lib/homebridge/config.json

Storage Path /var/lib/homebridge

Restart Command sudo hb-service restart

Stop Command sudo hb-service stop

Start Command sudo hb-service start

View Logs Command sudo hb-service logs

Systemd Service File /etc/systemd/system/homebridge.service

Systemd Env File /etc/default/homebridge

⚙️ To Update Homebridge

Update from the Homebridge UI

ESPHome LXC

ESPHome LXC

To create a new Proxmox ESPHome LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/esphome-v3.sh)"

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

ESPHome Interface - IP:6052

⚙️ To Update ESPHome

Run in the LXC console

pip3 install esphome --upgrade

Nginx Proxy Manager LXC

hero

Nginx Proxy Manager LXC

To create a new Proxmox Nginx Proxy Manager LXC Container, run the following in the Proxmox Shell.

 bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nginx-proxy-manager-v3.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.

 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

 admin@example.com

password

 changeme

⚙️ To Update Nginx Proxy Manager

Run in the LXC console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/npm_update.sh)"

MQTT LXC

MQTT LXC

To create a new Proxmox MQTT LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/mqtt-v3.sh)"

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

Mosquitto comes with a password file generating utility called mosquitto_passwd.

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.

sudo nano /etc/mosquitto/conf.d/default.conf

This will open an empty file. Paste the following into it.

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.

sudo systemctl restart mosquitto

⚙️ To Update MQTT:

Run in the LXC console

apt update && apt upgrade -y

Node-Red LXC

Node-Red LXC

To create a new Proxmox Node-RED LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/node-red-v3.sh)"

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

Node-Red Interface - IP:1880

⚙️ To Restart Node-Red:

Run in the LXC console

node-red-restart

⚙️ To Update Node-Red:

Run in the LXC console (Restart after update)

npm install -g --unsafe-perm node-red

⚙️ To Install Node-Red Themes ⚠️ Backup your flows before running this script!!

Run in the LXC console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/node-red-themes.sh)"

Mariadb LXC

MariaDB

Mariadb LXC

To create a new Proxmox Mariadb LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/mariadb-v3.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:

nano /etc/mysql/my.cnf

Un-comment port =3306 Save and exit the editor with “Ctrl+O”, “Enter” and “Ctrl+X”.

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:

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.

sudo mysql

Prompt will change to MariaDB [(none)]>

Create a new local admin (Change the username and password to match your preferences)

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';

Give local admin root privileges (Change the username and password to match above)

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:

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:

FLUSH PRIVILEGES;

Following this, exit the MariaDB shell:

exit

Log in as the new database user you just created:

mysql -u admin -p

Create a new database:

CREATE DATABASE homeassistant;

Following this, exit the MariaDB shell:

exit

⚠️ Reboot the lxc

Checking status.

sudo systemctl status mariadb

Change the recorder: db_url: in your HA configuration.yaml

Example:

recorder:
  db_url: mysql://admin:password@192.168.100.26:3306/homeassistant?charset=utf8mb4

⚙️ To Update Mariadb:

Run in the LXC console

apt update && apt upgrade -y

⚙️ Adminer (formerly phpMinAdmin) is a full-featured database management tool

http://your-mariadb-lxc-ip/adminer/


PostgreSQL LXC

PostgreSQL LXC

To create a new Proxmox PostgreSQL LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/postgresql-v3.sh)"

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

To make sure our PostgreSQL is secured with a strong password, set a password for its system user and then change the default database admin user account

Change user password

passwd postgres

Login using Postgres system account

su - postgres

Now, change the Admin database password

psql -c "ALTER USER postgres WITH PASSWORD 'your-password';"

Create a new user.

psql
CREATE USER admin WITH PASSWORD 'your-password';

Create a new database:

CREATE DATABASE homeassistant;

Grant all rights or privileges on created database to the user

GRANT ALL ON DATABASE homeassistant TO admin;

To exit psql

\q

Then type exit to get back to root

Change the recorder: db_url: in your HA configuration.yaml

Example:

recorder:
  db_url: postgresql://admin:your-password@192.168.100.20:5432/homeassistant?client_encoding=utf8

⚙️ To Update PostgreSQL

Run in the LXC console

apt update && apt upgrade -y

⚙️ Adminer (formerly phpMinAdmin) is a full-featured database management tool

http://your-PostgreSQL-lxc-ip/adminer/


Zigbee2MQTT LXC

Zigbee2MQTT LXC

To create a new Proxmox Zigbee2MQTT LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/zigbee2mqtt-v3.sh)"

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

⚙️ Determine the location of your adapter

Run in the LXC console

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 start Zigbee2MQTT you need to edit the configuration.yaml

Run in the LXC console

nano /opt/zigbee2mqtt/data/configuration.yaml

Save and exit the editor with “Ctrl+O”, “Enter” and “Ctrl+X”

Example:

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
  #adapter: deconz            #(uncomment for ConBee II)
advanced:
  pan_id: GENERATE
  network_key: GENERATE
  channel: 20

⚙️ Zigbee2MQTT can be started after completing the configuration

Run in the LXC console

cd /opt/zigbee2mqtt
npm start

⚙️ To update Zigbee2MQTT

Run in the LXC console

cd /opt/zigbee2mqtt
bash update.sh

⚙️ Copy Data From a Existing Zigbee2MQTT LXC to another Zigbee2MQTT LXC

Run in the Proxmox Shell

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/z2m-copy-data.sh)"

deCONZ LXC

deCONZ LXC

To create a new Proxmox deCONZ LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/deconz-v3.sh)"

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

deCONZ Interface - IP:80

⚙️ To Update deCONZ

Run in the LXC Console

apt update && apt upgrade -y

Zwavejs2MQTT LXC

Zwavejs2MQTT LXC

To create a new Proxmox Zwavejs2MQTT LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/zwavejs2mqtt-v3.sh)"

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

Zwavejs2MQTT Interface - IP:8091

⚙️ Copy Data From a Existing Zwavejs2MQTT LXC to another Zwavejs2MQTT LXC

Run in the Proxmox Shell

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/zwave-copy-data.sh)"

⚙️ To Update Zwavejs2MQTT

Run in the LXC Console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/zwavejs2mqtt-update.sh)"

NocoDB LXC

NocoDB LXC

NocoDB is an open source #NoCode platform that turns any database into a smart spreadsheet. Airtable Alternative.

To create a new Proxmox NocoDB LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nocodb-v3.sh)"

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

NocoDB Interface - IP:8080/dashboard

⚙️ To Update NocoDB

Run in the LXC console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/nocodb-update.sh)"

InfluxDB/Telegraf LXC

InfluxDB/Telegraf LXC

To create a new Proxmox InfluxDB LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/influxdb-v3.sh)"

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

⚙️ InfluxDB Configuration

Run in the LXC console

nano /etc/influxdb/influxdb.conf

⚙️ Telegraf Configuration

Run in the LXC console

nano /etc/telegraf/telegraf.conf

⚙️ To Update InfluxDB/Telegraf

Run in the LXC console

apt update && apt upgrade -y

Grafana LXC

Grafana LXC

To create a new Proxmox Grafana LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/grafana-v3.sh)"

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

Grafana Interface - IP:3000

⚙️ Initial Login

username

 admin

password

 admin

⚙️ To Update Grafana

Run in the LXC console

apt update && apt upgrade -y

Docker LXC

Docker LXC

Options to Install Portainer and/or Docker Compose

To create a new Proxmox Docker LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/docker-v3.sh)"

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

Portainer Interface - IP:9000

⚙️ To Update

Run in the LXC console

apt update && apt upgrade -y

Debian 11 LXC

Debian

Debian 11 LXC

To create a new Proxmox Debian 11 (curl. sudo) LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/debian-v3.sh)"

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

⚙️ To Update Debian 11

Run in the LXC console

apt update && apt upgrade -y

Ubuntu LXC

Ubuntu

Ubuntu LXC

Option to define version 18.04, 20.04, 21.10 or 22.04

To create a new Proxmox Ubuntu (curl. sudo) LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/ubuntu-v3.sh)"

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

⚙️ To Update Ubuntu

Run in the LXC console

apt update && apt upgrade -y

UniFi Network Application LXC

UniFi Network Application LXC

With Local Controller Option

An application designed to optimize UniFi home and business networks with ease.

To create a new Proxmox UniFi Network Application LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/unifi-v3.sh)"

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

UniFi Interface - https:// IP:8443

⚙️ To Update UniFi

Run in the LXC console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/unifi-update.sh)"

Omada Controller LXC

Omada Controller LXC

Omada Controller is software which is used to manage the EAP

To create a new Proxmox Omada Controller LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/omada-v3.sh)"

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

Omada Interface - https:// IP:8043

tpeap status show status of Omada Controller

tpeap start start Omada Controller

tpeap stop stop Omada Controller

⚙️ To Update Omada

Working On

MeshCentral LXC

MeshCentral LXC

MeshCentral is a full computer management web site. With MeshCentral, you can run your own web server to remotely manage and control computers on a local network or anywhere on the internet.

To create a new Proxmox MeshCentral LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/meshcentral-v3.sh)"

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

MeshCentral Interface - http:// IP

⚙️ To Update MeshCentral

Update from the MeshCentral UI

Plex Media Server LXC

Plex Media Server LXC

With Hardware Acceleration Support

To create a new Proxmox Plex Media Server LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/plex-v3.sh)"

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

Plex Media Server Interface - IP:32400/web

⚙️ To Update Plex Media Server:

Run in the LXC console

apt update && apt upgrade -y

⚙️ Copy Data From a Existing Plex Media Server LXC to another Plex Media Server LXC

Run in the Proxmox Shell

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/pms-copy-data.sh)"

Jellyfin Media Server LXC

Jellyfin Media Server LXC

TurnKey has a LXC CT for Jellyfin

To create a new Proxmox Jellyfin Media Server LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/jellyfin-v3.sh)"

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

Jellyfin Media Server Interface - IP:8096

⚙️ To Update Jellyfin Media Server

Run in the LXC console

apt update && apt upgrade -y

Pi-hole LXC

Pi-hole LXC

To create a new Proxmox Pi-hole LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/pihole-v3.sh)"

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

⚙️ To set your password:

Run in the LXC console

pihole -a -p

⚙️ To Update Pi-hole:

Update from the Pi-hole UI

Technitium DNS LXC

Technitium DNS LXC

An open source authoritative as well as recursive DNS server

To create a new Proxmox Technitium DNS LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/technitiumdns-v3.sh)"

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

Technitium DNS Interface - IP:5380

⚙️ To Update Technitium DNS

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/technitiumdns-update.sh)"

AdGuard Home LXC

AdGuard Home LXC

To create a new Proxmox AdGuard Home LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/adguard-v3.sh)"

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

AdGuard Home Setup Interface - IP:3000 (After Setup use only IP)

(For the Home Assistant Integration, use port 80 not 3000)

⚙️ To Update Adguard

Update from the Adguard UI

Uptime Kuma LXC

Uptime Kuma LXC

Uptime Kuma is a self-hosted, open source, fancy uptime monitoring and alerting system. It can monitor HTTP(s) / TCP / HTTP(s) Keyword / Ping / DNS Record / Push / Steam Game Server.

To create a new Proxmox Uptime Kuma LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/uptimekuma-v3.sh)"

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

Uptime Kuma Interface - IP:3001

⚙️ To Update Uptime Kuma

Run in the LXC console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/uptimekuma-update.sh)"

Whoogle LXC

Whoogle LXC

Get Google search results, but without any ads, javascript, AMP links, cookies, or IP address tracking.

To create a new Proxmox Whoogle LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/whoogle-v3.sh)"

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

Whoogle Interface - IP:5000

⚙️ To Update Whoogle

Run in the LXC console

pip3 install whoogle-search --upgrade

Heimdall Dashboard LXC

Heimdall Dashboard LXC

Heimdall Application Dashboard is a dashboard for all your web applications. It doesn’t need to be limited to applications though, you can add links to anything you like.

To create a new Proxmox Heimdall Dashboard LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/heimdalldashboard-v3.sh)"

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

Heimdall Dashboard Interface - IP:7990

⚙️ To Update Heimdall Dashboard

Run in the LXC console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/heimdalldashboard-all-update.sh)"

Dashy LXC

Dashy LXC

Dashy helps you organize your self-hosted services by making them accessible from a single place

To create a new Proxmox Dashy LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/dashy-v3.sh)"

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

Dashy Interface - IP:4000

After getting everything setup the way you want in interactive mode and saved to disk, you have to go into update configuration and rebuild application.

⚙️ To Update Dashy

Run in the LXC Console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/dashy-update.sh)"

PhotoPrism LXC

PhotoPrism LXC

PhotoPrism® is an AI-powered app for browsing, organizing & sharing your photo collection.

To create a new Proxmox PhotoPrism LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/photoprism-v3.sh)"

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

PhotoPrism Interface - IP:2342

⚙️ Initial Login

username

 admin

password

 admin

PhotoSync

⚙️ To Update PhotoPrism

Run in the LXC Console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/photoprism-update.sh)"

Daemon Sync Server LXC

Daemon Sync Server LXC

Sync files from app to server, share photos & videos, back up your data and stay secure inside local network.

To create a new Proxmox Daemon Sync Server LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/daemonsync-v3.sh)"

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

Daemon Sync Server Interface - IP:8084

Search: DAEMON Sync in your favorite app store


MotionEye VMS LXC

MotionEye VMS LXC

To create a new Proxmox MotionEye VMS LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/motioneye-v3.sh)"

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

MotionEye Interface - IP:8765

⚙️ Initial Login

username

 admin

password

 

⚙️ To Update MotionEye

Run in the LXC console

pip install motioneye --upgrade

File Browser

File Browser

To Install File Browser, ⚠️ run the following in the LXC console.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/filebrowser-v3.sh)"

File Browser is a create-your-own-cloud-kind of software where you can install it on a server, direct it to a path and then access your files through a nice web interface. Many available features!

File Browser Interface - http:// IP:8080

⚙️ Initial Login

username

 admin

password

 changeme

⚙️ To Update File Browser

curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash

Webmin System Administration

Webmin System Administration

To Install Webmin System Administration (Screenshot), ⚠️ run the following in the LXC console.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/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 Update Webmin

Update from the Webmin UI

⚙️ To Uninstall Webmin

Run in the LXC console

bash /etc/webmin/uninstall.sh

WireGuard LXC

WireGuard LXC

With WGDashboard

To create a new Proxmox WireGuard LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/wireguard-v3.sh)"

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

WGDashboard Interface - http:// IP:10086

⚙️ Initial Login

username

 admin

password

 admin

⚙️ Host Configuration

Run in the LXC console

 nano /etc/pivpn/wireguard/setupVars.conf

⚙️Add Clients

Run in the LXC console

 pivpn add

⚙️ To Update WireGuard

Run in the LXC console

apt update && apt upgrade -y

CrowdSec

CrowdSec

To Install CrowdSec, ⚠️ run the following in the LXC console.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/crowdsec-v3.sh)"

CrowdSec is a free, open-source and collaborative IPS. Analyze behaviors, respond to attacks & share signals across the community.

Control center for your CrowdSec machines.


Keycloak LXC

Keycloak LXC

To create a new Proxmox Keycloak LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/keycloak-v3.sh)"

Keycloak is an Open Source Identity and Access Management solution for modern Applications and Services.

Keycloak Interface - http:// IP:8080 (First start can take a few minutes)

⚙️ Initial Login

The initial admin user can be added manually using the web frontend when accessed from localhost or automatically using environment variables.

To add the initial admin user using environment variables, set KEYCLOAK_ADMIN for the initial admin username and KEYCLOAK_ADMIN_PASSWORD for the initial admin password.

First, stop Keycloak

systemctl stop keycloak.service

then start Keycloak by coping & pasting the following (only needed once)

cd /opt/keycloak
export KEYCLOAK_ADMIN=admin
export KEYCLOAK_ADMIN_PASSWORD=changeme

bin/kc.sh start-dev 

⚙️ To Update Keycloak

working On

Vaultwarden LXC

Vaultwarden LXC

Alternative implementation of the Bitwarden server API written in Rust and compatible with upstream Bitwarden clients, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.

To create a new Proxmox Vaultwarden LXC, run the following in the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/vaultwarden-v3.sh)"

⚠️ Vaultwarden needs to be behind a proxy (Nginx Proxy Manager) to obtain HTTPS and to allow clients to connect.

The script builds from source, which takes time and resources. After the build, the script will automatically set resources to Normal Settings.

Expect 30+ minute install time.

⚡ Normal Settings: 512Mib RAM - 6GB Storage - 1vCPU ⚡

Vaultwarden Interface - IP:8000

⚙️ Path to Vaultwarden .env file (to enable ADMIN_TOKEN)

/opt/vaultwarden/.env

⚙️ To Update Vaultwarden

Run in the LXC console

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/vaultwarden-update.sh)"