2023-12-02 21:27:48 +03:00
|
|
|
FROM hub.docker.struchkov.dev/alpine:latest
|
2023-03-05 13:17:53 +03:00
|
|
|
MAINTAINER Struchkov Mark <mark@struchkov.dev>
|
2015-01-02 07:03:52 +03:00
|
|
|
|
|
|
|
# Install samba
|
2017-10-24 15:26:31 +03:00
|
|
|
RUN apk --no-cache --no-progress upgrade && \
|
2019-10-30 23:31:26 +03:00
|
|
|
apk --no-cache --no-progress add bash samba shadow tini tzdata && \
|
2019-08-29 03:35:30 +03:00
|
|
|
addgroup -S smb && \
|
|
|
|
adduser -S -D -H -h /tmp -s /sbin/nologin -G smb -g 'Samba User' smbuser &&\
|
2017-10-23 14:15:10 +03:00
|
|
|
file="/etc/samba/smb.conf" && \
|
|
|
|
sed -i 's|^;* *\(log file = \).*| \1/dev/stdout|' $file && \
|
|
|
|
sed -i 's|^;* *\(load printers = \).*| \1no|' $file && \
|
|
|
|
sed -i 's|^;* *\(printcap name = \).*| \1/dev/null|' $file && \
|
|
|
|
sed -i 's|^;* *\(printing = \).*| \1bsd|' $file && \
|
|
|
|
sed -i 's|^;* *\(unix password sync = \).*| \1no|' $file && \
|
|
|
|
sed -i 's|^;* *\(preserve case = \).*| \1yes|' $file && \
|
|
|
|
sed -i 's|^;* *\(short preserve case = \).*| \1yes|' $file && \
|
|
|
|
sed -i 's|^;* *\(default case = \).*| \1lower|' $file && \
|
|
|
|
sed -i '/Share Definitions/,$d' $file && \
|
|
|
|
echo ' pam password change = yes' >>$file && \
|
|
|
|
echo ' map to guest = bad user' >>$file && \
|
|
|
|
echo ' usershare allow guests = yes' >>$file && \
|
|
|
|
echo ' create mask = 0664' >>$file && \
|
|
|
|
echo ' force create mode = 0664' >>$file && \
|
|
|
|
echo ' directory mask = 0775' >>$file && \
|
|
|
|
echo ' force directory mode = 0775' >>$file && \
|
|
|
|
echo ' force user = smbuser' >>$file && \
|
2019-11-06 22:10:02 +03:00
|
|
|
echo ' force group = smb' >>$file && \
|
2017-10-23 14:15:10 +03:00
|
|
|
echo ' follow symlinks = yes' >>$file && \
|
|
|
|
echo ' load printers = no' >>$file && \
|
|
|
|
echo ' printing = bsd' >>$file && \
|
|
|
|
echo ' printcap name = /dev/null' >>$file && \
|
|
|
|
echo ' disable spoolss = yes' >>$file && \
|
|
|
|
echo ' strict locking = no' >>$file && \
|
2019-11-16 14:36:47 +03:00
|
|
|
echo ' aio read size = 0' >>$file && \
|
|
|
|
echo ' aio write size = 0' >>$file && \
|
2020-07-03 05:15:01 +03:00
|
|
|
echo ' vfs objects = catia fruit recycle streams_xattr' >>$file && \
|
2017-10-23 14:15:10 +03:00
|
|
|
echo ' recycle:keeptree = yes' >>$file && \
|
2019-09-18 16:47:24 +03:00
|
|
|
echo ' recycle:maxsize = 0' >>$file && \
|
2019-07-07 08:56:50 +03:00
|
|
|
echo ' recycle:repository = .deleted' >>$file && \
|
2017-10-23 14:15:10 +03:00
|
|
|
echo ' recycle:versions = yes' >>$file && \
|
2018-09-23 22:29:02 +03:00
|
|
|
echo '' >>$file && \
|
|
|
|
echo ' # Security' >>$file && \
|
2019-11-17 09:09:44 +03:00
|
|
|
echo ' client ipc max protocol = SMB3' >>$file && \
|
2019-11-16 14:36:47 +03:00
|
|
|
echo ' client ipc min protocol = SMB2_10' >>$file && \
|
2019-11-17 09:09:44 +03:00
|
|
|
echo ' client max protocol = SMB3' >>$file && \
|
2019-11-16 14:36:47 +03:00
|
|
|
echo ' client min protocol = SMB2_10' >>$file && \
|
2019-11-17 09:09:44 +03:00
|
|
|
echo ' server max protocol = SMB3' >>$file && \
|
2019-11-16 14:36:47 +03:00
|
|
|
echo ' server min protocol = SMB2_10' >>$file && \
|
2018-09-23 22:29:02 +03:00
|
|
|
echo '' >>$file && \
|
|
|
|
echo ' # Time Machine' >>$file && \
|
2020-04-12 02:21:54 +03:00
|
|
|
echo ' fruit:delete_empty_adfiles = yes' >>$file && \
|
|
|
|
echo ' fruit:time machine = yes' >>$file && \
|
2019-11-16 14:36:47 +03:00
|
|
|
echo ' fruit:veto_appledouble = no' >>$file && \
|
|
|
|
echo ' fruit:wipe_intentionally_left_blank_rfork = yes' >>$file && \
|
2017-10-23 14:15:10 +03:00
|
|
|
echo '' >>$file && \
|
2017-10-20 20:43:12 +03:00
|
|
|
rm -rf /tmp/*
|
|
|
|
|
2015-01-22 15:51:56 +03:00
|
|
|
COPY samba.sh /usr/bin/
|
2015-01-02 07:03:52 +03:00
|
|
|
|
2017-10-24 18:28:26 +03:00
|
|
|
EXPOSE 137/udp 138/udp 139 445
|
|
|
|
|
2017-10-20 20:43:12 +03:00
|
|
|
HEALTHCHECK --interval=60s --timeout=15s \
|
2020-03-20 18:30:02 +03:00
|
|
|
CMD smbclient -L \\localhost -U % -m SMB3
|
2015-01-02 07:03:52 +03:00
|
|
|
|
2018-11-26 15:04:26 +03:00
|
|
|
VOLUME ["/etc", "/var/cache/samba", "/var/lib/samba", "/var/log/samba",\
|
2018-11-26 14:02:08 +03:00
|
|
|
"/run/samba"]
|
2017-10-20 20:43:12 +03:00
|
|
|
|
2018-04-10 16:58:16 +03:00
|
|
|
ENTRYPOINT ["/sbin/tini", "--", "/usr/bin/samba.sh"]
|