FROM alpine MAINTAINER David Personette # Install samba RUN apk --no-cache add bash samba shadow && \ adduser -D -G users -H -g 'Samba User' -h /tmp smbuser && \ sed -i 's|^\( log file = \).*|\1/dev/stdout|' /etc/samba/smb.conf && \ sed -i 's|^\( load printers = \).*|\1no|' /etc/samba/smb.conf && \ sed -i 's|^\( printcap name = \).*|\1/dev/null|' /etc/samba/smb.conf && \ sed -i 's|^;*\( printing = \).*|\1bsd|' /etc/samba/smb.conf && \ sed -i 's|^\( unix password sync = \).*|\1no|' /etc/samba/smb.conf && \ sed -i '/Share Definitions/,$d' /etc/samba/smb.conf && \ echo ' pam password change = yes' >>/etc/samba/smb.conf && \ echo ' map to guest = bad user' >>/etc/samba/smb.conf && \ echo ' usershare allow guests = yes' >>/etc/samba/smb.conf && \ echo ' create mask = 0664' >>/etc/samba/smb.conf && \ echo ' force create mode = 0664' >>/etc/samba/smb.conf && \ echo ' directory mask = 0775' >>/etc/samba/smb.conf && \ echo ' force directory mode = 0775' >>/etc/samba/smb.conf && \ echo ' force user = smbuser' >>/etc/samba/smb.conf && \ echo ' force group = users' >>/etc/samba/smb.conf && \ echo ' follow symlinks = yes' >>/etc/samba/smb.conf && \ echo ' load printers = no' >>/etc/samba/smb.conf && \ echo ' printing = bsd' >>/etc/samba/smb.conf && \ echo ' printcap name = /dev/null' >>/etc/samba/smb.conf && \ echo ' disable spoolss = yes' >>/etc/samba/smb.conf && \ echo ' socket options = TCP_NODELAY' >>/etc/samba/smb.conf && \ echo ' strict locking = no' >>/etc/samba/smb.conf && \ echo ' vfs objects = recycle' >>/etc/samba/smb.conf && \ echo ' recycle:keeptree = yes' >>/etc/samba/smb.conf && \ echo ' recycle:versions = yes' >>/etc/samba/smb.conf && \ echo ' min protocol = SMB2' >>/etc/samba/smb.conf && \ echo '' >>/etc/samba/smb.conf && \ rm -rf /tmp/* COPY samba.sh /usr/bin/ HEALTHCHECK --interval=60s --timeout=15s \ CMD smbclient -L '\\localhost\' -U 'guest%' -m SMB3 EXPOSE 137/udp 138/udp 139 445 VOLUME ["/etc/samba"] ENTRYPOINT ["samba.sh"]