From 33d8a9a56a43f17e12d9d4e298743bd59ac411a4 Mon Sep 17 00:00:00 2001 From: Bram Prieshof Date: Wed, 29 Sep 2021 02:03:56 +0000 Subject: [PATCH] Added smb CT --- CT-Build/Debian.yaml | 72 ++++++++++++++++++++++++++ CT-Files/smb/Configs/smb.conf | 47 +++++++++++++++++ CT-Files/smb/Configs/smb.service.avahi | 14 +++++ CT-Files/smb/Configs/wsdd.conf | 2 + CT-Files/smb/Scripts/Init.sh | 7 +++ Readme.md | 10 ++-- 6 files changed, 149 insertions(+), 3 deletions(-) create mode 100644 CT-Files/smb/Configs/smb.conf create mode 100644 CT-Files/smb/Configs/smb.service.avahi create mode 100644 CT-Files/smb/Configs/wsdd.conf create mode 100644 CT-Files/smb/Scripts/Init.sh diff --git a/CT-Build/Debian.yaml b/CT-Build/Debian.yaml index 471767f..6517934 100644 --- a/CT-Build/Debian.yaml +++ b/CT-Build/Debian.yaml @@ -923,6 +923,13 @@ files: variants: - docker +#FileForSMB +- path: /opt/Setup + generator: copy + source: CT-Files/smb + variants: + - smb + packages: manager: apt update: true @@ -941,6 +948,7 @@ packages: - collabora - jellyfin - docker + - smb #Https Repo pkgs - packages: @@ -953,6 +961,7 @@ packages: - jellyfin - pihole - docker + - smb #Minimal pkgs - packages: @@ -1090,6 +1099,7 @@ packages: action: install variants: - domoticz + #docker pkgs - packages: - docker-ce @@ -1099,6 +1109,26 @@ packages: variants: - docker +#webin pkgs + - packages: + - webmin + action: install + variants: + - smb + +#Samba pkgs + - packages: + - samba + - samba-vfs-modules + - cron + - avahi-daemon + - avahi-utils + - wsdd + action: install + variants: + - smb + + repositories: - name: sources.list url: |- @@ -1136,6 +1166,18 @@ packages: variants: - docker + - name: webmin.list + url: |- + deb [signed-by=/usr/share/keyrings/webmin-archive-keyring.gpg arch=amd64] http://download.webmin.com/download/repository sarge contrib + variants: + - smb + + - name: wsdd.list + url: |- + deb [signed-by=/usr/share/keyrings/wsdd-archive-keyring.gpg arch=amd64] https://pkg.ltec.ch/public/ {{ image.release }} main + variants: + - smb + actions: - trigger: post-unpack action: |- @@ -1184,6 +1226,7 @@ actions: - pihole - domoticz - omadaV3 + - smb - trigger: post-packages action: |- @@ -1193,6 +1236,19 @@ actions: - jenkinsbuilder - imgbuilder +#Webmin general setup +- trigger: post-packages + action: |- + #!/bin/sh + sed -i 's/ssl=1/ssl=0/g' /etc/webmin/miniserv.conf + sed -i 's/port=10000/port=80/g' /etc/webmin/miniserv.conf + mkdir /etc/webmin/authentic-theme + echo "settings_global_palette_unauthenticated='dark';" > /etc/webmin/authentic-theme/settings.js + echo "settings_force_night_mode=1;" >> /etc/webmin/authentic-theme/settings.js + chown -R root:bin /etc/webmin/authentic-theme + variants: + - smb + #Jenkins Repo key - trigger: post-unpack action: |- @@ -1239,5 +1295,21 @@ actions: variants: - mysql +#Webin Repo key +- trigger: post-unpack + action: |- + #!/bin/sh + curl --retry 7 --retry-delay 5 -L -s http://www.webmin.com/jcameron-key.asc | gpg --dearmor > /usr/share/keyrings/webmin-archive-keyring.gpg + variants: + - smb + +#Wsdd Repo key +- trigger: post-unpack + action: |- + #!/bin/sh + curl --retry 7 --retry-delay 5 -L -s https://pkg.ltec.ch/public/conf/ltec-ag.gpg.key | gpg --dearmor > /usr/share/keyrings/wsdd-archive-keyring.gpg + variants: + - smb + mappings: architecture_map: debian \ No newline at end of file diff --git a/CT-Files/smb/Configs/smb.conf b/CT-Files/smb/Configs/smb.conf new file mode 100644 index 0000000..bbc5dd2 --- /dev/null +++ b/CT-Files/smb/Configs/smb.conf @@ -0,0 +1,47 @@ +#======================= Global Settings ======================= + +[global] +workgroup = WORKGROUP +log file = /var/log/samba/log.%m +max log size = 1000 +logging = file +panic action = /usr/share/samba/panic-action %d + +####### Authentication ####### + +server role = standalone server +obey pam restrictions = yes +unix password sync = yes +passwd program = /usr/bin/passwd %u +passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . +pam password change = yes +map to guest = never +usershare allow guests = yes + +#======================= Share Definitions ======================= + +[homes] + valid users = %S + browseable = no + comment = Home Directories + create mask = 0700 + directory mask = 0700 + writeable = yes + +#======================= Default (disabled) printer share Definitions ======================= + +#[printers] +# comment = All Printers +# browseable = no +# path = /var/spool/samba +# printable = yes +# guest ok = no +# read only = yes +# create mask = 0700 + +#[print$] +# comment = Printer Drivers +# path = /var/lib/samba/printers +# browseable = yes +# read only = yes +# guest ok = no diff --git a/CT-Files/smb/Configs/smb.service.avahi b/CT-Files/smb/Configs/smb.service.avahi new file mode 100644 index 0000000..0130475 --- /dev/null +++ b/CT-Files/smb/Configs/smb.service.avahi @@ -0,0 +1,14 @@ + + + + %h + + _smb._tcp + 445 + + + _device-info._tcp + 0 + model=RackMac + + \ No newline at end of file diff --git a/CT-Files/smb/Configs/wsdd.conf b/CT-Files/smb/Configs/wsdd.conf new file mode 100644 index 0000000..41a32fc --- /dev/null +++ b/CT-Files/smb/Configs/wsdd.conf @@ -0,0 +1,2 @@ +# command line parameters for wsdd (consult man page) +WSDD_PARAMS="-p" \ No newline at end of file diff --git a/CT-Files/smb/Scripts/Init.sh b/CT-Files/smb/Scripts/Init.sh new file mode 100644 index 0000000..ead7d11 --- /dev/null +++ b/CT-Files/smb/Scripts/Init.sh @@ -0,0 +1,7 @@ +#!/bin/bash +addgroup smb +mv /opt/Setup/Configs/wsdd.conf /etc/wsdd.conf +mv /opt/Setup/Configs/smb.conf /etc/samba/smb.conf +mv /opt/Setup/Configs/smb.service.avahi /etc/avahi/services/smb.service +echo "login_message=Samba Server on" >/etc/webmin/authentic-theme/custom-lang +echo "root: backup-config webmin acl init passwd mount fsdump proc cron package-updates software system-status useradmin samba shell filemin status updown" > /etc/webmin/webmin.acl \ No newline at end of file diff --git a/Readme.md b/Readme.md index 29a2932..5acd1e5 100644 --- a/Readme.md +++ b/Readme.md @@ -27,7 +27,8 @@ This can be done on a Minimal debian CT (make sure to enable nesting) on the new | 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 | +| docker | Debian | Docker container service | +| smb | Debian | Samba server | | gitea | Alpine | Gitea server | | nginx | Alpine | Nginx server for reverse-proxy use | | ddns | Alpine | DDNS client configured for OVH/OVH-Cloud | @@ -43,11 +44,11 @@ This can be done on a Minimal debian CT (make sure to enable nesting) on the new Hass Mqtt -SMB + + -Nextcloud AptCacherNG @@ -167,6 +168,9 @@ lxc.mount.entry: /dev/ttyACM-Zwave dev/ttyACM-Zwave none bind,optional,create=fi 2. Run the FistRun scipt in the container `ash /opt/Setup/Scripts/FirstRun.sh` 3. Avalible on http://`` +## smb +* Webmin avalible on http://`` +* Samba server avalible # Further CT documentation