added aptcacherng CT, Updated readme

This commit is contained in:
2021-10-20 23:26:38 +00:00
parent 972625d54f
commit d9ab77f384
8 changed files with 98 additions and 36 deletions

View File

@@ -1,12 +1,12 @@
# Scripts for building containers for the Proxmox home server
# Inital Setup
The fist step is to build the containers needed for building all other containers.
# Initial Setup
The first step is to build the containers needed for building all other containers.
This can be done on a Minimal debian CT (make sure to enable nesting) on the new proxmox server or any other debian install
1. Clone this repo
2. cd in to cloned repo
3. run `bash Scripts/FirstSetup.sh`, to genate the container images
3. run `bash Scripts/FirstSetup.sh`, to generate the container images
4. upload the `Debian-imgbuilder.tar.xz` to the proxmox server and create a privileged container
5. Follow the steps under Container Setup > imgbuilder
6. Upload the `Debian-Jenkins.tar.xz` to the proxmox server and create a container
@@ -31,6 +31,7 @@ This can be done on a Minimal debian CT (make sure to enable nesting) on the new
| smb | Debian | Samba server |
| tvheadend | Debian | Tvheadend server |
| x2go | Debian | Remote xfce desktop accessable via X2go |
| aptcacherng | Debian | Caching server for linux packages |
| gitea | Alpine | Gitea server |
| nginx | Alpine | Nginx server for reverse-proxy use |
| ddns | Alpine | DDNS client configured for OVH/OVH-Cloud |
@@ -72,9 +73,9 @@ MailBackup*
# Container Setup
## imgbuilder
**This container shoud be set up as privileged**
**This container should be set up as privileged**
1. Enable features: Fuse, Nesting and 'Create Device Nodes'
2. Add a mountpoint to /LXCBuild on a accesable place for the Proxmox Server
2. Add a mountpoint to /LXCBuild on a accessible place for the Proxmox Server
3. Add this location to datastore for LXC templates to Proxmox
4. Set the `jenkins` user password using `passwd jenkins` in the container
5. Create folders on mountpoint using `mkdir /LXCBuild/template/cache`
@@ -83,7 +84,7 @@ MailBackup*
## jenkins
1. In the container configure the setup script `nano /opt/Setup/Scripts/FirstRun.sh`
2. In the container run the setup script `bash /opt/Setup/Scripts/FirstRun.sh`
3. Acces Jenkins using `http://<ip>:8080`
3. Access Jenkins using `http://<ip>:8080`
4. Press the `X` to skip the fist time setup
5. Delete the `Admin` user go to 'Manage Jenkins' > 'Manage Users' > Admin > Delete
6. Add credentials for imgbuilder-CT go to 'Manage Jenkins' > 'Manage Nodes and Clouds' > LXCBuilder1 > configure
@@ -95,27 +96,27 @@ Then select the created credential and click save
* To configure the MySQL root password in the container run the setup script `bash /opt/Setup/Scripts/FirstRun.sh`
## gitea
1. Edit the parameters in the FistRun script in the container `vi /opt/Setup/Scripts/FirstRun.sh`
2. Run the FistRun scipt in the container `ash /opt/Setup/Scripts/FirstRun.sh`
2. Run the FistRun script in the container `ash /opt/Setup/Scripts/FirstRun.sh`
## nginx
* Run the FistRun scipt in the container `ash /opt/Setup/Scripts/FirstRun.sh`
* Run the FistRun script in the container `ash /opt/Setup/Scripts/FirstRun.sh`
## pihole
* Run the FistRun scipt in the container `ash /opt/Setup/Scripts/FirstRun.sh`
* Run the FistRun script in the container `ash /opt/Setup/Scripts/FirstRun.sh`
## colabora
* Update the configuration in /etc/loolwsd/loolwsd.xml and reload the service `systemctl restart loolwsd`
## jellyfin
* To set-up the system follow the inital set-up wizard on http://`<ip>`:8096
* To set-up the system follow the initial set-up wizard on http://`<ip>`:8096
## domoticz
* Avalible on http://`<ip>`:8080
* Available on http://`<ip>`:8080
## transfersh
* Avalible on http://`<ip>`:8080
* Available on http://`<ip>`:8080
## omadaV3
* To set-up the system follow the inital set-up wizard on http://`<ip>`:8088
* To set-up the system follow the initial set-up wizard on http://`<ip>`:8088
## docker
* Run the FistRun scipt in the container `ash /opt/Setup/Scripts/FirstRun.sh`
* Run the FistRun script in the container `ash /opt/Setup/Scripts/FirstRun.sh`
This container can be set up in two ways
1. As controller with portainer
2. As remote with docker tcp on port 2375
3. BONUS if FistRun scipt the CT has clean docker
3. BONUS if FistRun script is skipped the CT has clean docker
## iscsi
### In Proxmox
* Run following commands
@@ -138,10 +139,10 @@ exit
```
## z2mqtt
**Do not start this container after cration, follow these steps first**
* Recomended to give CT 1-2GB of RAM (Required for updating)
**Do not start this container after creation, follow these steps first**
* Recommended to give CT 1-2GB of RAM (Required for updating)
### In Proxmox
* Add the folling to `/etc/udev/rules.d/99-CustomHome.rules`
* Add the following to `/etc/udev/rules.d/99-CustomHome.rules`
```
KERNEL=="ttyUSB[0-9]*", MODE="0666"
KERNEL=="ttyACM[0-9]*", MODE="0666"
@@ -153,40 +154,42 @@ SUBSYSTEM=="tty", ACTION=="change", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="
SUBSYSTEM=="tty", ACTION=="add", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="ttyACM-Zwave"
```
* Run `udevadm trigger`
* Add the folling to /etc/pve/lxc/`<CT-ID>`.conf
* Add the following to /etc/pve/lxc/`<CT-ID>`.conf
```
lxc.cgroup2.devices.allow: c 166:* rwm
lxc.mount.entry: /dev/ttyACM-Zigbee dev/ttyACM-Zigbee none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM-Zwave dev/ttyACM-Zwave none bind,optional,create=file
```
* Zigbee2mqtt avalible on http://`<ip>`:5002
* ZWave2mqtt avalible on http://`<ip>`:8091
* Zigbee2mqtt Available on http://`<ip>`:5002
* ZWave2mqtt Available on http://`<ip>`:8091
* in the ZWave2mqtt web ui set the Zwave serial port to /dev/ttyACM-Zwave
* If a `Cannot lock port` error shows, please reboot the CT, if that does not fix it try rebooting the Proxmox server
## nodered
* Avalible on http://`<ip>`:1880
* Available on http://`<ip>`:1880
## nextcloud
**MountPoint for data folder `/var/nextcloud`**
1. Edit the parameters in the FistRun script in the container `vi /opt/Setup/Scripts/FirstRun.sh`
2. Run the FistRun scipt in the container `ash /opt/Setup/Scripts/FirstRun.sh`
3. Avalible on http://`<ip>`
2. Run the FistRun script in the container `ash /opt/Setup/Scripts/FirstRun.sh`
3. Available on http://`<ip>`
## smb
* Webmin avalible on http://`<ip/hostname>`
* Samba server avalible
* Webmin Available on http://`<ip/hostname>`
* Samba server Available
## tvheadend
**Do first login and setup wizzard in a incognito/Private window, since the authentication system can get confused after setting the new username**
* Tvheadend avalible on http://`<ip>`:9981
**Do first login and setup wizard in a incognito/Private window, since the authentication system can get confused after setting the new username**
* Tvheadend Available on http://`<ip>`:9981
* Default credentials: setup/setup
* Follow the setup wizzard after login, otherwise authentication will be disabled
## hass
* After first start of CT HomeAssistant will finish its instalation this wil take at least 10 minutes
* HomeAssistantavalible on http://`<ip>`:8123
* After first start of CT HomeAssistant will finish its installation this will take at least 10 minutes
* HomeAssistant available on http://`<ip>`:8123
## aptcacherng
* Available on http://`<ip>`:80
# Further CT documentation
@@ -204,17 +207,17 @@ exit
### Add Drive
#### In Proxmox
* Create LVM Volume (Avalible @ /dev/`<poolName>`/`<VolumeName>`)
* Create LVM Volume (Available @ /dev/`<poolName>`/`<VolumeName>`)
```
lvcreate --name <name> --size <VolumeSize>G <PoolName>
```
* Create ZFS Volume (Avalible @ /dev/`<poolName>`/`<VolumeName>`)
* Create ZFS Volume (Available @ /dev/`<poolName>`/`<VolumeName>`)
```
zfs create -o volblocksize=32k -V <VolumeSize>G <poolName>/<VolumeName>
zfs set sync=disabled <poolName>/<VolumeName>
```
* Get id by using ls -l /dev/`<devicename>`
* Add the folling to /etc/pve/lxc/`<CT-ID>`.conf
* Add the following to /etc/pve/lxc/`<CT-ID>`.conf
```
lxc.cgroup2.devices.allow: b <id>:<Subid> rwm
lxc.mount.entry: /dev/<devicename> dev/<device> none bind,optional,create=file