Sign inSign up

instantlinux/proftpd

By instantlinux

Updated 18 days ago

An easy-to-use, tiny yet full-featured installation of ProFTPD.

Image
11

100K+

instantlinux/proftpd repository overview

proftpd

An easy-to-use, tiny yet full-featured installation of ProFTPD.

Usage

The most-common directives can be specified in environment variables as shown below. One is required, the PASV_ADDRESS. If you need further customizations, put them in one or more files under mount points /etc/proftpd.d and /etc/proftpd/modules.d. In case SFTP is enabled, it is important to create a persistent volume to be mounted in /etc/ssh, to avoid generating SSH keys each time a container is created.

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 launch with helm or 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 proftpd
Variables

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

VariableDefaultDescription
ALLOW_OVERWRITEonallow clients to modify files
ANONYMOUS_DISABLEoffanonymous login
ANON_UPLOAD_ENABLEDenyAllanonymous upload
FTPUSER_NAMEftpuserupload username
FTPUSER_SECRETNAMEftp-user-password-secretname of hashed pw secret
FTPUSER_UID1001upload file ownership UID
LOCAL_UMASK022upload umask
MAX_CLIENTS10maximum simultaneous logins
MAX_INSTANCES30process limit
PASV_ADDRESSrequired--address of docker engine
PASV_MAX_PORT30100range of client ports (rebuild image if changed)
PASV_MIN_PORT30091
SFTP_ENABLEoffuse sftp instead of ftp
SFTP_PORT2222sftp port
TIMES_GMTofflocal time for directory listing
TZUTClocal timezone
WRITE_ENABLEAllowAllallow 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:d7d707831

Size

8.7 MB

Last updated

18 days ago

docker pull instantlinux/proftpd