Compare commits
5 commits
4cbea31c9c
...
80959d2be9
Author | SHA1 | Date | |
---|---|---|---|
Glenn Y. Rolland | 80959d2be9 | ||
Glenn Y. Rolland | bd90b1a011 | ||
Glenn Y. Rolland | f726d0b242 | ||
Glenn Y. Rolland | 05fb603324 | ||
Glenn Y. Rolland | f80c14bf4f |
|
@ -1,7 +1,5 @@
|
|||
FROM stilliard/pure-ftpd
|
||||
FROM vimagick/vsftpd
|
||||
|
||||
ADD run.sh /run.sh
|
||||
|
||||
|
||||
|
||||
|
||||
CMD /run.sh
|
||||
|
|
21
Makefile
Normal file
21
Makefile
Normal 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
61
run.sh
Normal file → Executable 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
|
||||
|
|
Loading…
Reference in a new issue