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

1
.gitignore vendored
View File

@@ -9,3 +9,4 @@ CT-Files/domoticz/domoticz.tgz
CT-Files/omadaV3/omada.deb CT-Files/omadaV3/omada.deb
CT-Files/nextcloud/nginx_signing.rsa.pub CT-Files/nextcloud/nginx_signing.rsa.pub
CT-Files/nextcloud/nextcloud.tar.bz2 CT-Files/nextcloud/nextcloud.tar.bz2
CT-Files/aptcacherng/*_mirrors

View File

@@ -1,4 +1,4 @@
String[] ImgVariantList = ['minimal', 'default', 'jenkinsbuilder', 'imgbuilder', 'jenkins', 'mysql' , 'pihole' , 'collabora' , 'jellyfin' , 'domoticz' , 'omadaV3' , 'docker' , 'smb' , 'tvheadend' , 'x2go' ] String[] ImgVariantList = ['minimal', 'default', 'jenkinsbuilder', 'imgbuilder', 'jenkins', 'mysql' , 'pihole' , 'collabora' , 'jellyfin' , 'domoticz' , 'omadaV3' , 'docker' , 'smb' , 'tvheadend' , 'x2go' , 'aptcacherng' ]
pipeline { pipeline {
agent { label 'LXCBuilder' } agent { label 'LXCBuilder' }

View File

@@ -937,6 +937,13 @@ files:
variants: variants:
- x2go - x2go
#FileForAptcacherng
- path: /opt/Setup
generator: copy
source: CT-Files/aptcacherng
variants:
- aptcacherng
packages: packages:
manager: apt manager: apt
update: true update: true
@@ -958,6 +965,7 @@ packages:
- smb - smb
- tvheadend - tvheadend
- x2go - x2go
- aptcacherng
#Https Repo pkgs #Https Repo pkgs
- packages: - packages:
@@ -973,6 +981,7 @@ packages:
- smb - smb
- tvheadend - tvheadend
- x2go - x2go
- aptcacherng
#Minimal pkgs #Minimal pkgs
- packages: - packages:
@@ -1190,6 +1199,14 @@ packages:
variants: variants:
- x2go - x2go
#aptcacherng pkgs
- packages:
- apt-cacher-ng
action: install
variants:
- aptcacherng
repositories: repositories:
- name: sources.list - name: sources.list
url: |- url: |-
@@ -1310,6 +1327,7 @@ actions:
- omadaV3 - omadaV3
- smb - smb
- x2go - x2go
- aptcacherng
- trigger: post-packages - trigger: post-packages
action: |- action: |-

View File

@@ -0,0 +1,25 @@
Port:80
# Storage directory for downloaded data and related maintenance activity.
CacheDir: /var/cache/apt-cacher-ng
LogDir: /var/log/apt-cacher-ng
SupportDir: /usr/lib/apt-cacher-ng
# Repository remapping
Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian # Debian Archives
Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu # Ubuntu Archives
Remap-epel: file:epel_mirrors # Fedora EPEL
Remap-secdeb: security.debian.org security.debian.org/debian-security deb.debian.org/debian-security /debian-security ; deb.debian.org/debian-security security.debian.org
Remap-centos: file:centos_mirrors /centos ; http://mirror.ams1.nl.leaseweb.net/centos
Remap-alpine: file:alpine_mirrors /alpine ; http://dl-4.alpinelinux.org/alpine
ReportPage: acng-report.html
ExThreshold: 4
LocalDirs: acng-doc /usr/share/doc/apt-cacher-ng
VfilePatternEx: (metalink\?repo=[0-9a-zA-Z-]+&arch=[0-9a-zA-Z_-]+|/\?release=[0-9]+&arch=|repodata/.*\.(xml|sqlite)\.(gz|bz2)|APKINDEX.tar.gz|filelists\.xml\.gz|filelists\.sqlite\.bz2|repomd\.xml|packages\.[a-zA-Z][a-zA-Z]\.gz|\.sha256)
PfilePatternEx: (/dists/.*/by-hash/.*|\.tgz|\.tar|\.xz|\.bz2|\.rpm|\.apk)$
UserAgent: Yet Another HTTP Client/1.2.3p4
DontCache: mirrorlist.centos.org

View File

@@ -0,0 +1,10 @@
#!/bin/ash
#Allow apt-cacher-ng to use port 80
setcap 'cap_net_bind_service=+ep' /usr/sbin/apt-cacher-ng
#Move configs in place
mv /opt/Setup/Configs/acng.conf /etc/apt-cacher-ng/acng.conf
mv /opt/Setup/centos_mirrors /etc/apt-cacher-ng/centos_mirrors
mv /opt/Setup/alpine_mirrors /etc/apt-cacher-ng/alpine_mirrors
mv /opt/Setup/Scripts/UpdateMirrorList.sh /opt/UpdateMirrorList.sh
#Enable apt-cacher-ng on startup
ln -s /lib/systemd/system/apt-cacher-ng.service /etc/systemd/system/multi-user.target.wants/apt-cacher-ng.service

View File

@@ -0,0 +1,3 @@
#!/bin/ash
curl -L --retry 7 --retry-delay 5 http://dl-4.alpinelinux.org/alpine/MIRRORS.txt -o /etc/apt-cacher-ng/alpine_mirrors
curl https://www.centos.org/download/full-mirrorlist.csv | sed 's/^.*"http:/http:/' | sed 's/".*$//' | grep ^http >/etc/apt-cacher-ng/centos_mirrors

View File

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

View File

@@ -24,3 +24,5 @@ GetResource transfersh transfersh-linux-amd64 https://github.com/dutchcoders/tra
GetResource omadaV3 omada.deb https://static.tp-link.com/2020/202012/20201225/Omada_v3.2.14_linux_x64.deb GetResource omadaV3 omada.deb https://static.tp-link.com/2020/202012/20201225/Omada_v3.2.14_linux_x64.deb
GetResource nextcloud nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub GetResource nextcloud nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub
GetResource nextcloud nextcloud.tar.bz2 https://download.nextcloud.com/server/releases/latest.tar.bz2 GetResource nextcloud nextcloud.tar.bz2 https://download.nextcloud.com/server/releases/latest.tar.bz2
GetResource aptcacherng alpine_mirrors http://dl-4.alpinelinux.org/alpine/MIRRORS.txt
curl -L --retry 7 --retry-delay 5 https://www.centos.org/download/full-mirrorlist.csv | sed 's/^.*"http:/http:/' | sed 's/".*$//' | grep ^http > CT-Files/aptcacherng/centos_mirrors