Compare commits

...

5 commits

Author SHA1 Message Date
Glenn Y. Rolland 80959d2be9 Up 2017-09-11 19:05:18 +02:00
Glenn Y. Rolland bd90b1a011 Up 2017-09-11 19:03:57 +02:00
Glenn Y. Rolland f726d0b242 Update auto-doc 2017-09-11 18:42:57 +02:00
Glenn Y. Rolland 05fb603324 Initial import 2017-09-11 18:39:02 +02:00
Glenn Y. Rolland f80c14bf4f Initial import 2017-09-11 17:35:15 +02:00
3 changed files with 78 additions and 10 deletions

View file

@ -1,7 +1,5 @@
FROM stilliard/pure-ftpd
FROM vimagick/vsftpd
ADD run.sh /run.sh
CMD /run.sh

21
Makefile Normal file
View file

@ -0,0 +1,21 @@
all: build run
# --build-arg "BUNDLE_BITBUCKET__ORG=$(BUNDLE_BITBUCKET__ORG)" \
build:
docker build -t dt-service-ftp .
run:
docker stop dt-service-ftp || true
docker run --rm \
--name dt-service-ftp \
-p 21:21 \
-p 30000-30009:30000-30009 \
-e "PUBLICHOST=localhost" \
-e "VSFTP_USER_1_USERNAME=dt-site" \
-e "VSFTP_USER_1_PASSWORD=random" \
-t dt-service-ftp

61
run.sh Normal file → Executable file
View file

@ -1,9 +1,58 @@
#!/bin/sh
pure-pw useradd dt-site \
-u 1001 \
-g 1001 \
-f /etc/pure-ftpd/passwd/pureftpd.passwd \
-m \
-d /sites/dt-site
## Mount directories into /ftp
vsftp_add_user() {
local username="$1"
local password="$2"
echo "Adding user:$username with password:******"
mkdir -p "/home/$username"
# UID 33 is for www-data in WP
adduser \
-h "/home/$username" \
-s /bin/sh \
-D \
"$username"
echo "$username:$password" | chpasswd
# GID 33 is for www-data in WP
sed -i "s/^$username:x:[0-9]*:[0-9]*:/$username:x:33:33:/" /etc/passwd
sed -i "s/^$username:x:[0-9]*:/$username:x:33:/" /etc/group
chown "$username:$username" "/home/$username"
}
vsftp_main() {
# Create users
idx=0
while true ; do
idx=$((idx + 1 ))
eval "username=\${VSFTP_USER_${idx}_USERNAME:-}"
eval "password=\${VSFTP_USER_${idx}_PASSWORD:-}"
if [ -z "$username" ]; then break ; fi
vsftp_add_user "$username" "$password"
done
if [ $idx -eq 1 ]; then
echo "Please export environement variables for users"
echo ""
echo "Ex: "
echo " VSFTP_USER_1_USERNAME=johnsnow"
echo " VSFTP_USER_1_PASSWORD=Winter1sC0ming"
echo " VSFTP_USER_2_USERNAME=tyrionlannister"
echo " VSFTP_USER_2_PASSWORD=aLann1ster4lwaysPaysHisD3bts"
fi
echo "Starting VSFTP"
exec vsftpd /etc/vsftpd/vsftpd.conf
}
sed -i \
-e "s/^pasv_address=.*$/pasv_address=${VSFTP_HOSTNAME:-}/" \
-e "s/^anonymous_enable=.*$/anonymous_enable=NO/" \
/etc/vsftpd/vsftpd.conf
{
echo "log_ftp_protocol=YES" ;
} >> /etc/vsftpd/vsftpd.conf
vsftp_main