Sign inSign up

instantlinux/vsftpd

By instantlinux

Updated 18 days ago

A clean, easy-to-use, tiny yet full-featured installation of vsftpd wrapped in Alpine.

Image
4

10K+

instantlinux/vsftpd repository overview

vsftpd

A clean, easy-to-use, tiny yet full-featured installation of vsftpd wrapped in Alpine.

Usage

The most-common directives can be specified in environment variables as shown below. If you need further customizations, put them in one or more files under a mount point /etc/vsftpd.d.

A single upload user can be specified via the FTPUSER_xxx variables. It is activated by defining ftp-user-password-secret thus:

python -c "import crypt,random,string; \
  print crypt.crypt('YOURPASSWORD', '\$6\$' + ''.join( \
[random.choice(string.ascii_letters + string.digits) \
  for _ in range(16)]))" | \
docker secret create ftp-user-password-secret -

An example compose file is provided here in docker-compose.yml. This is for the common scenario of sharing from Docker swarm the contents of a network-attached volume as a read-only anonymous-ftp service. This repo has complete instructions for building a kubernetes cluster where you can deploy kubernetes.yaml using make and customizing Makefile.vars after cloning this repo:

git clone https://github.com/instantlinux/docker-tools.git
cd docker-tools/k8s
make vsftpd

Status: [Wikipedia|https://en.wikipedia.org/wiki/Vsftpd] has a brief history of how vsftpd met its demise after 2011, with resurrection a few years later. I've switched to proftpd (see that image). This image is still maintained.

Variables

These variables can be passed to the image from kubernetes.yaml or docker-compose.yml as needed:

VariableDefaultDescription
ANONYMOUS_ENABLEYESAnonymous login
ANON_MKDIR_WRITE_ENABLENOAnonymous mkdir
ANON_UPLOAD_ENABLENOAnonymous upload
FTPUSER_PASSWORD_SECRETftp-user-password-secrethashed pw of upload user
FTPUSER_NAMEftpuserupload username
FTPUSER_UID1001upload file ownership UID
LOCAL_UMASK022upload umask
LOG_FTP_PROTOCOLNOmore-verbose logging
PASV_ADDRESSrequired--address of docker engine
PASV_MAX_PORT30100range of client ports (rebuild image if changed)
PASV_MIN_PORT30091
TZUTClocal timezone
USE_LOCALTIMEYESlocal time for directory listing
VSFTPD_LOG_FILE/dev/stdoutlogfile destination
WRITE_ENABLEYESallow put/rm
Secrets
SecretDescription
ftp-user-password-secret(optional) hashed pw of upload user
Contributing

If you want to make improvements to this image, see CONTRIBUTING.

Tag summary

Content type

Image

Digest

sha256:0293c15f2

Size

6.6 MB

Last updated

18 days ago

docker pull instantlinux/vsftpd