Skip to content

instrumentisto/pure-ftpd-docker-image

Repository files navigation

Pure-FTPd Docker image

Release CI Docker Hub Uses

Docker Hub | GitHub Container Registry | Quay.io

Changelog

Supported tags and respective Dockerfile links

What is Pure-FTPd?

Pure-FTPd is a free (BSD), secure, production-quality and standard-conformant FTP server. It doesn't provide useless bells and whistles, but focuses on efficiency and ease of use. It provides simple answers to common needs, plus unique useful features for personal users as well as hosting providers.

PureFTPd‘s mantra is ‘Security First.’ This is evident in the low number of CVE entries.

www.pureftpd.org

Pure-FTPd Logo

How to use this image

To run Pure-FTPd server just start the container:

docker run -d -p 21:21 -p 30000-30009:30000-30009 instrumentisto/pure-ftpd

Why so many ports opened?

This is for PASV support, please see: #5 PASV not fun :)

Configuration

By default it uses default configuration file /etc/pure-ftpd.conf.

  1. You may either specify your own configuration file instead.

    docker run -d -p 21:21 \
               -v $(pwd)/my.conf:/etc/pure-ftpd.conf \
           instrumentisto/pure-ftpd
  2. Or specify command line options directly.

    docker run -d -p 21:21 instrumentisto/pure-ftpd \
           pure-ftpd -c 50 -E -H -R
  3. Or even specify another configuration file.

    docker run -d -p 21:21 \
               -v $(pwd)/my.conf:/my/pure-ftpd.conf \
           instrumentisto/pure-ftpd \
           pure-ftpd /my/pure-ftpd.conf

Accounts

This image uses PureDB for virtual FTP accounts.

It's just enough to mount /etc/pureftpd.passwd file, which will be converted into /etc/pureftpd.pdb file on container start.

Location of .passwd file may be changed with PURE_PASSWDFILE env var. Location of .pdb file may be changed with PURE_DBFILE env var.

To generate pureftpd.passwd you may use pure-pw binary contained in image:

docker run --rm -it -v $(pwd)/my.passwd:/etc/pureftpd.passwd --entrypoint sh \
       instrumentisto/pure-ftpd \
           pure-pw useradd joe -u 90 -d /data/joe

Image tags

This image is based on the popular Alpine Linux project, available in the alpine official image. Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.

This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use musl libc instead of glibc and friends, so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See this Hacker News comment thread for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.

<X>

Latest tag of the latest major X Pure-FTPd version.

<X.Y>

Latest tag of the latest minor X.Y Pure-FTPd version.

<X.Y.Z>

Latest tag of the concrete X.Y.Z Pure-FTPd version.

<X.Y.Z>-r<N>

Concrete N image revision tag of the concrete X.Y.Z Pure-FTPd version.

Once built, it's never updated.

Important tips

As far as Pure-FTPd writes its logs only to syslog, the syslogd process runs inside container as second side-process and is supervised with s6 supervisor provided by s6-overlay project.

Logs

The syslogd process of this image is configured to write everything to /dev/stdout.

To change this behaviour just mount your own /etc/syslog.conf file with desired log rules.

s6-overlay

This image contains s6-overlay inside. So you may use all the features it provides if you need to.

License

Pure-FTPd is licensed under BSD license.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

The sources for producing instrumentisto/pure-ftpd Docker images are licensed under Blue Oak Model License 1.0.0.

Issues

We can't notice comments in the DockerHub (or other container registries) so don't use them for reporting issue or asking question.

If you have any problems with or questions about this image, please contact us through a GitHub issue.