FROM alpine:3.20 ARG SMB_PASSWORD=govoplan-smb RUN apk add --no-cache samba-server samba-common-tools \ && addgroup -S -g 1000 govoplan \ && adduser -S -D -H -h /nonexistent -s /sbin/nologin -u 1000 -G govoplan govoplan \ && mkdir -p /storage /var/lib/samba/private /var/cache/samba /run/samba /etc/samba /var/log/samba/cores \ && printf '%s\n' \ '[global]' \ ' passdb backend = tdbsam' \ ' private dir = /var/lib/samba/private' \ ' lock directory = /run/samba' \ ' state directory = /var/lib/samba' \ ' cache directory = /var/cache/samba' \ ' pid directory = /run/samba' \ > /etc/samba/smb.conf \ && printf '%s\n%s\n' "$SMB_PASSWORD" "$SMB_PASSWORD" | smbpasswd -s -a govoplan \ && smbpasswd -e govoplan \ && chown -R govoplan:govoplan /storage /var/lib/samba /var/cache/samba /run/samba /etc/samba /var/log/samba COPY entrypoint.sh /usr/local/bin/govoplan-samba-entrypoint RUN chmod +x /usr/local/bin/govoplan-samba-entrypoint EXPOSE 1445 USER govoplan:govoplan ENTRYPOINT ["/usr/local/bin/govoplan-samba-entrypoint"]