The few dockers I found with vsftpd + pam_mysql, had no documentation and were years old. Any others that had documentation used db_load BDB and I could find no directions on deletion of users in the berkeley db, short of keeping the intermediate text file around which is not a secure thing to do. Using mariadb would allow any account creation shell script to send an update via the mysql client.
- vsftpd
- pam_mysql
- nano - to able to edit config files or helper scripts as needed from within the docker container
- volume mapped for config files
- volume mapped for /home/vsftpd/ users directory (to make all users home folders visible on host)
- mysql/mariadb client - so helper scripts can alter users(delete,update pass, add user)
- support external mysql/mariadb instead of including it in the docker.
- volume mapped for SSL certs
- msmtp - for sending password to user via helper script.
- date, sha256sum, base64 for use in helper script to create sufficiently pseudo random password ex:
password=date +%s | sha256sum | base64 | head -c 20 ; echo