From 4725db5b79de189d412b1c0c7826587540bc1fea Mon Sep 17 00:00:00 2001 From: Bram Prieshof Date: Thu, 23 Sep 2021 00:38:27 +0000 Subject: [PATCH] Added CT omadaV3, docker and transfersh --- .gitignore | 3 +- CT-Build/Alpine.Jenkinsfile | 2 +- CT-Build/Debian.Jenkinsfile | 2 +- CT-Build/Debian.yaml | 48 ++++++++++++++++++- .../Configs/remote-dockerOverwrite.service | 4 ++ CT-Files/docker/Scripts/FirstRun.sh | 23 +++++++++ CT-Files/docker/Scripts/UpdatePortainer.sh | 10 ++++ CT-Files/omadaV3/Scripts/Init.sh | 4 ++ CT-Files/pihole/Scripts/Init.sh | 2 +- Readme.md | 21 ++++++-- Scripts/GetExternalResources.sh | 4 +- 11 files changed, 112 insertions(+), 11 deletions(-) create mode 100644 CT-Files/docker/Configs/remote-dockerOverwrite.service create mode 100644 CT-Files/docker/Scripts/FirstRun.sh create mode 100644 CT-Files/docker/Scripts/UpdatePortainer.sh create mode 100644 CT-Files/omadaV3/Scripts/Init.sh diff --git a/.gitignore b/.gitignore index 921c956..557bbf4 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ CT-Files/nginx/nginx_signing.rsa.pub CT-Files/transfersh/transfersh-linux-amd64 CT-Files/transfersh/transfershVersion -CT-Files/domoticz/domoticz.tgz \ No newline at end of file +CT-Files/domoticz/domoticz.tgz +CT-Files/omadaV3/omada.deb diff --git a/CT-Build/Alpine.Jenkinsfile b/CT-Build/Alpine.Jenkinsfile index 541b161..00c9730 100644 --- a/CT-Build/Alpine.Jenkinsfile +++ b/CT-Build/Alpine.Jenkinsfile @@ -1,4 +1,4 @@ -String[] ImgVariantList = ['minimal', 'default' , 'gitea' , 'nginx' , 'ddns' ] +String[] ImgVariantList = ['minimal', 'default' , 'gitea' , 'nginx' , 'ddns' , 'transfersh' ] pipeline { agent { label 'LXCBuilder' } diff --git a/CT-Build/Debian.Jenkinsfile b/CT-Build/Debian.Jenkinsfile index eb00b9b..f7e11ad 100644 --- a/CT-Build/Debian.Jenkinsfile +++ b/CT-Build/Debian.Jenkinsfile @@ -1,4 +1,4 @@ -String[] ImgVariantList = ['minimal', 'default', 'jenkinsbuilder', 'imgbuilder', 'jenkins', 'mysql' , 'pihole' , 'collabora' , 'jellyfin', 'domoticz' ] +String[] ImgVariantList = ['minimal', 'default', 'jenkinsbuilder', 'imgbuilder', 'jenkins', 'mysql' , 'pihole' , 'collabora' , 'jellyfin' , 'domoticz' , 'omadaV3' , 'docker' ] pipeline { agent { label 'LXCBuilder' } diff --git a/CT-Build/Debian.yaml b/CT-Build/Debian.yaml index e6f5364..471767f 100644 --- a/CT-Build/Debian.yaml +++ b/CT-Build/Debian.yaml @@ -871,6 +871,7 @@ files: - imgbuilder - mysql - pihole + - docker #FilesForJenkinsVariant - path: /root/ReadMe @@ -908,6 +909,20 @@ files: variants: - domoticz +#FileForomadaV3 +- path: /opt/Setup + generator: copy + source: CT-Files/omadaV3 + variants: + - omadaV3 + +#FileForDocker +- path: /opt/Setup + generator: copy + source: CT-Files/docker + variants: + - docker + packages: manager: apt update: true @@ -925,6 +940,7 @@ packages: - mysql - collabora - jellyfin + - docker #Https Repo pkgs - packages: @@ -935,6 +951,8 @@ packages: - jenkins - collabora - jellyfin + - pihole + - docker #Minimal pkgs - packages: @@ -1072,6 +1090,14 @@ packages: action: install variants: - domoticz +#docker pkgs + - packages: + - docker-ce + - docker-ce-cli + - containerd.io + action: install + variants: + - docker repositories: - name: sources.list @@ -1104,10 +1130,19 @@ packages: variants: - jellyfin + - name: docker.list + url: |- + deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg arch=amd64] https://download.docker.com/linux/debian {{ image.release }} stable + variants: + - docker + actions: - trigger: post-unpack action: |- #!/bin/sh + #Disable apt Recommends and Suggests + echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/01Recommends + echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/01Suggests #ProxyCacheSetting echo 'Acquire::http::Proxy "http://192.168.2.83:80";' > /etc/apt/apt.conf.d/01prox - trigger: post-packages @@ -1148,6 +1183,7 @@ actions: - mysql - pihole - domoticz + - omadaV3 - trigger: post-packages action: |- @@ -1161,7 +1197,7 @@ actions: - trigger: post-unpack action: |- #!/bin/sh - curl --retry 7 --retry-delay 5 -s https://pkg.jenkins.io/debian-stable/jenkins.io.key | gpg --dearmor > /usr/share/keyrings/jenkins-keyring.gpg + curl --retry 7 --retry-delay 5 -s https://pkg.jenkins.io/debian-stable/jenkins.io.key | gpg --dearmor > /usr/share/keyrings/jenkins-keyring.gpg variants: - jenkins @@ -1169,7 +1205,7 @@ actions: - trigger: post-unpack action: |- #!/bin/sh - curl --retry 7 --retry-delay 5 -s https://repo.jellyfin.org/jellyfin_team.gpg.key | gpg --dearmor > /usr/share/keyrings/jellyfin-keyring.gpg + curl --retry 7 --retry-delay 5 -s https://repo.jellyfin.org/jellyfin_team.gpg.key | gpg --dearmor > /usr/share/keyrings/jellyfin-keyring.gpg variants: - jellyfin @@ -1181,6 +1217,14 @@ actions: variants: - collabora +#docker Repo key +- trigger: post-unpack + action: |- + #!/bin/sh + curl --retry 7 --retry-delay 5 -L -s https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-archive-keyring.gpg + variants: + - docker + #MySQL Repo key - trigger: post-unpack action: |- diff --git a/CT-Files/docker/Configs/remote-dockerOverwrite.service b/CT-Files/docker/Configs/remote-dockerOverwrite.service new file mode 100644 index 0000000..278292e --- /dev/null +++ b/CT-Files/docker/Configs/remote-dockerOverwrite.service @@ -0,0 +1,4 @@ +# /etc/systemd/system/docker.service.d/override.conf +[Service] +ExecStart= +ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 \ No newline at end of file diff --git a/CT-Files/docker/Scripts/FirstRun.sh b/CT-Files/docker/Scripts/FirstRun.sh new file mode 100644 index 0000000..7d9ccec --- /dev/null +++ b/CT-Files/docker/Scripts/FirstRun.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +while true; do + read -p "Install portainer as (C)ontroler or allow (R)emote access for portainer? " cr + case $cr in + [Cc]* ) + docker pull portainer/portainer-ce + docker run -d -p 9000:9000 --name=Portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /srv/portainer:/data portainer/portainer-ce + mv /opt/Setup/Scripts/UpdatePortainer.sh /root/UpdatePortainer.sh + echo "Portainer avalible on http://:9000" + break;; + [Rr]* ) + mkdir -p /etc/systemd/system/docker.service.d + mv /opt/Setup/Configs/remote-dockerOverwrite.service /etc/systemd/system/docker.service.d/startup_options.conf + rm /opt/Setup/Scripts/UpdatePortainer.sh + systemctl daemon-reload + systemctl restart docker.service + echo "DockerTCP Socket avalible on port 2375" + break;; + * ) echo "Please answer (C)ontroler or (R)emote.";; + esac +done +rm /opt/Setup/Scripts/FirstRun.sh \ No newline at end of file diff --git a/CT-Files/docker/Scripts/UpdatePortainer.sh b/CT-Files/docker/Scripts/UpdatePortainer.sh new file mode 100644 index 0000000..93748e7 --- /dev/null +++ b/CT-Files/docker/Scripts/UpdatePortainer.sh @@ -0,0 +1,10 @@ +echo -e "Updating Portainer" + +docker stop Portainer +docker rm Portainer +docker rmi portainer/portainer-ce +docker pull portainer/portainer-ce +docker run -d -p 9000:9000 --name=Portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /srv/portainer:/data portainer/portainer-ce + +echo -e "Updating Portainer [ \e[92mOk \e[39m]" + diff --git a/CT-Files/omadaV3/Scripts/Init.sh b/CT-Files/omadaV3/Scripts/Init.sh new file mode 100644 index 0000000..6e5fbbf --- /dev/null +++ b/CT-Files/omadaV3/Scripts/Init.sh @@ -0,0 +1,4 @@ +#!/bin/bash +#Install omada +apt install /opt/Setup/omada.deb -y +rm /opt/Setup/omada.deb \ No newline at end of file diff --git a/CT-Files/pihole/Scripts/Init.sh b/CT-Files/pihole/Scripts/Init.sh index 4e4b712..74c06bb 100644 --- a/CT-Files/pihole/Scripts/Init.sh +++ b/CT-Files/pihole/Scripts/Init.sh @@ -3,4 +3,4 @@ mkdir -p /etc/pihole mv /opt/Setup/Configs/setupVars.conf /etc/pihole/setupVars.conf echo "DNSStubListener=no" >> /etc/systemd/resolved.conf ln -s /etc/systemd/system/pihole-FTL.service /etc/systemd/system/multi-user.target.wants/pihole-FTL.service -curl -sSL https://install.pi-hole.net | curl -L https://install.pi-hole.net | bash /dev/stdin --unattended \ No newline at end of file +curl -sSL https://install.pi-hole.net | bash /dev/stdin --unattended \ No newline at end of file diff --git a/Readme.md b/Readme.md index d0733ab..afaf838 100644 --- a/Readme.md +++ b/Readme.md @@ -26,9 +26,12 @@ This can be done on a Minimal debian CT (make sure to enable nesting) on the new | colabora | Debian | ColaboraOffice WebService (CODE version) | | jellyfin | Debian | Jellyfin in-home streaming server | | domoticz | Debian | Domoticz home automation service | +| omadaV3 | Debian | TP-link Omada SDN controller(V3.2.14) | +| docker | Debian | Docker container service | | gitea | Alpine | Gitea server | | nginx | Alpine | Nginx server for reverse-proxy use | | ddns | Alpine | DDNS client configured for OVH/OVH-Cloud | +| transfersh | Alpine | transfer.sh instance | ## TODO **Begin original list** @@ -44,14 +47,14 @@ Nextcloud AptCacherNG NodeRed -Omada -Unifi + +~Unifi~ Not supported in debian 11 Docker MailBackup* -FileShelter/transfer.sh +~FileShelter~ Not supported in debian 11 /transfer.sh As alternative WS(x2go-xfce) **End original list** @@ -91,4 +94,14 @@ Then select the created credential and click save # jellyfin * To set-up the system follow the inital set-up wizard on http://:8096 # domoticz -* Avalible on http://:8080 \ No newline at end of file +* Avalible on http://:8080 +# transfersh +* Avalible on http://:8080 +# omadaV3 +* To set-up the system follow the inital set-up wizard on http://:8088 +# docker +* Run the FistRun scipt 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 \ No newline at end of file diff --git a/Scripts/GetExternalResources.sh b/Scripts/GetExternalResources.sh index 7a45053..6476482 100644 --- a/Scripts/GetExternalResources.sh +++ b/Scripts/GetExternalResources.sh @@ -19,4 +19,6 @@ GetResource domoticz domoticz.tgz https://releases.domoticz.com/releases/release transfershVersion=$(curl -s https://api.github.com/repos/dutchcoders/transfer.sh/releases/latest | grep 'tag_name.*' | cut -d : -f 2,3 | tr -d \" |tr -d , |tr -d " ") echo "transfershVersion=$transfershVersion" > CT-Files/transfersh/transfershVersion GetResource transfersh transfersh-linux-amd64 https://github.com/dutchcoders/transfer.sh/releases/download/"$transfershVersion"/transfersh-"$transfershVersion"-linux-amd64 -#ForFutureDarkTheme#GetResource transfersh CustomTheme.tar.gz https://git.bprieshof.nl/attachments/e014dc2e-8b43-48bb-a771-da34e4d6fdef \ No newline at end of file +#ForFutureDarkTheme#GetResource transfersh CustomTheme.tar.gz https://git.bprieshof.nl/attachments/e014dc2e-8b43-48bb-a771-da34e4d6fdef + +GetResource omadaV3 omada.deb https://static.tp-link.com/2020/202012/20201225/Omada_v3.2.14_linux_x64.deb \ No newline at end of file