Properly use s6 for the multiple processes, fixes #1
This commit is contained in:
parent
3efa609b75
commit
905c16eca0
|
|
@ -1,2 +1,2 @@
|
||||||
*
|
*
|
||||||
!*.s6
|
!s6/*
|
||||||
|
|
|
||||||
28
Dockerfile
28
Dockerfile
|
|
@ -1,30 +1,18 @@
|
||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
|
|
||||||
ENV UID 1000
|
|
||||||
ENV USERNAME samba
|
ENV USERNAME samba
|
||||||
ENV GID 1000
|
|
||||||
ENV GROUP samba
|
|
||||||
ENV PASSWORD password
|
ENV PASSWORD password
|
||||||
ENV CONFIG /config/smb.conf
|
ENV UID 1000
|
||||||
|
ENV GID 1000
|
||||||
|
|
||||||
RUN set -xe \
|
RUN apk add --no-cache samba-server samba-common-tools openssl
|
||||||
&& apk add --update --no-progress samba-common-tools samba-server openssl \
|
|
||||||
&& rm -rf /var/cache/apk/*
|
|
||||||
|
|
||||||
ENV S6_VERSION 1.18.1.5
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v1.21.2.1/s6-overlay-amd64.tar.gz /tmp/
|
||||||
RUN set -xe \
|
RUN tar xzf /tmp/s6-overlay-amd64.tar.gz -C /
|
||||||
&& cd /tmp \
|
|
||||||
&& wget https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/s6-overlay-amd64.tar.gz \
|
|
||||||
&& wget https://github.com/just-containers/s6-overlay/releases/download/v$S6_VERSION/s6-overlay-amd64.tar.gz.sig \
|
|
||||||
&& apk add --update --no-progress --virtual gpg gnupg \
|
|
||||||
&& wget -q -O - https://keybase.io/justcontainers/key.asc | gpg --import \
|
|
||||||
&& gpg --verify /tmp/s6-overlay-amd64.tar.gz.sig /tmp/s6-overlay-amd64.tar.gz \
|
|
||||||
&& tar xzf s6-overlay-amd64.tar.gz -C / \
|
|
||||||
&& apk del gpg \
|
|
||||||
&& rm -rf /tmp/s6-overlay-amd64.tar.gz /tmp/s6-overlay-amd64.tar.gz.sig /root/.gnupg /var/cache/apk/*
|
|
||||||
|
|
||||||
COPY run.s6 /etc/services.d/samba/run
|
COPY s6/config.init /etc/cont-init.d/00-config
|
||||||
COPY finish.s6 /etc/services.d/samba/finish
|
COPY s6/smbd.run /etc/services.d/smbd/run
|
||||||
|
COPY s6/nmbd.run /etc/services.d/nmbd/run
|
||||||
|
|
||||||
EXPOSE 137/udp 138/udp 139/tcp 445/tcp
|
EXPOSE 137/udp 138/udp 139/tcp 445/tcp
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ samba:
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
# You must provide a Samba config file
|
# You must provide a Samba config file
|
||||||
- ./smb.conf:/config/smb.conf
|
- ./smb.conf:/etc/samba/smb.conf
|
||||||
|
|
||||||
# Shares
|
# Shares
|
||||||
- ~/projects:/mnt/projects
|
- ~/projects:/mnt/projects
|
||||||
|
|
@ -19,8 +19,6 @@ samba:
|
||||||
- USERNAME=joe
|
- USERNAME=joe
|
||||||
- PASSWORD=samba
|
- PASSWORD=samba
|
||||||
|
|
||||||
# Defaults
|
# Uncomment to override defaults
|
||||||
- UID=1000
|
# - UID=1000
|
||||||
- GID=1000
|
# - GID=1000
|
||||||
- GROUP=samba
|
|
||||||
- CONFIG=/config/smb.conf
|
|
||||||
|
|
|
||||||
13
run.s6
13
run.s6
|
|
@ -1,13 +0,0 @@
|
||||||
#!/usr/bin/with-contenv sh
|
|
||||||
|
|
||||||
if [ ! -f "${CONFIG}" ]; then
|
|
||||||
echo "ERROR: You must pass though a Samba config file at \"${CONFIG}\" or change \$CONFIG to the config file path"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
addgroup -g ${GID} ${GROUP} > /dev/null 2&>1
|
|
||||||
adduser -S -G ${GROUP} -u ${UID} -H -D ${USERNAME}
|
|
||||||
echo "${PASSWORD}" | tee - | smbpasswd -s -c "${CONFIG}" -a ${USERNAME}
|
|
||||||
|
|
||||||
nmbd --foreground --log-stdout --configfile="${CONFIG}" &
|
|
||||||
smbd --foreground --log-stdout --configfile="${CONFIG}"
|
|
||||||
5
s6/config.init
Normal file
5
s6/config.init
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/with-contenv sh
|
||||||
|
|
||||||
|
addgroup -g $GID samba > /dev/null 2&>1
|
||||||
|
adduser -S -G samba -u $UID -H -D $USERNAME
|
||||||
|
echo "$PASSWORD" | tee - | smbpasswd -s -c /etc/samba/smb.conf -a $USERNAME
|
||||||
3
s6/nmbd.run
Normal file
3
s6/nmbd.run
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/execlineb -P
|
||||||
|
|
||||||
|
nmbd --foreground --log-stdout
|
||||||
3
s6/smbd.run
Normal file
3
s6/smbd.run
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/execlineb -P
|
||||||
|
|
||||||
|
smbd --foreground --log-stdout
|
||||||
Loading…
Reference in a new issue