Files
samba-member/Dockerfile
Roman Vanicek 007fff7d35
All checks were successful
continuous-integration/drone Build is passing
Optional exporter as some systems do not have /proc/<num>/io (OpenWrt)
2025-09-26 16:46:32 +02:00

82 lines
2.5 KiB
Docker

#FROM debian:bookworm
FROM ubuntu:plucky
MAINTAINER Roman VANICEK <roman.vanicek@ivasoft.cz>
ENV ADMIN_PASSWORD_SECRET=samba-admin-password \
ADMIN_ACCOUNT=Administrator \
BIND_INTERFACES_ONLY=yes \
INTERFACES="lo eth0" \
LOG_LEVEL=1 \
MODEL=standard \
NETBIOS_NAME= \
REALM=ad.example.com \
SERVER_STRING="Samba Member Server" \
TZ=UTC \
WINBIND_USE_DEFAULT_DOMAIN=yes \
WORKGROUP=AD \
CUPS_TRUSTED_PROXY= \
EXPORTER_ENABLED=true \
EXPORTER_LISTEN_ADDRESS=127.0.0.1:9922
COPY *.sh /
COPY imker-ubuntu-samba-exporter-ppa-plucky.sources /etc/apt/sources.list.d/
RUN apt-get -y update && \
# HACK: ubuntu:plucky has broken ca-certificates and apt-get update fails for samba-exporter repository
DEBIAN_FRONTEND=noninteractive apt-get -yqq --no-install-recommends install ca-certificates && \
# HACK: samba-exporter needs adduser and systemctl for its postinstall script
DEBIAN_FRONTEND=noninteractive apt-get -yqq --no-install-recommends install adduser systemd && \
echo '#!/bin/sh' > /usr/bin/systemctl && chmod +x /usr/bin/systemctl && \
apt-get -y update && \
DEBIAN_FRONTEND=noninteractive apt-get -yqq --no-install-recommends install \
nano \
tzdata \
acl \
krb5-user \
libpam-krb5 \
adcli \
winbind \
libnss-winbind \
libpam-winbind \
samba \
samba-common-bin \
samba-dsdb-modules \
samba-client \
samba-vfs-modules \
logrotate \
attr \
libpam-mount \
supervisor \
cups \
samba-exporter && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
# HACK: samba-exporter
rm /usr/bin/systemctl && \
\
chmod +x /entrypoint.sh && \
chmod +x /persistCups.sh && \
sed -E -i "s:^(passwd\:\s*files\s*)$:\1 winbind:" /etc/nsswitch.conf && \
sed -E -i "s:^(group\:\s*files\s*)$:\1 winbind:" /etc/nsswitch.conf && \
pam-auth-update --package && \
mkdir -p /etc/cups-persist/ppd && \
ln -s /etc/cups-persist/printers.conf /etc/cups/printers.conf && \
rmdir /etc/cups/ppd && \
ln -s /etc/cups-persist/ppd /etc/cups/ppd && \
sed -i "s:Listen localhost\:631:Port 631\nServerAlias \*:" /etc/cups/cupsd.conf && \
useradd guest
#RUN chmod 777 /home
COPY *.conf.j2 /root/
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY crontab /etc
VOLUME /etc/samba /var/lib/samba /etc/cups-persist
EXPOSE 135 137 138 139 445 631 9100
ENTRYPOINT ["/entrypoint.sh"]
CMD ["/usr/bin/supervisord","-c","/etc/supervisor/conf.d/supervisord.conf"]