Small and flexible docker image with vsftpd server with tls
Go to file
Amin Vakil ef33268973
Fail trivy on critical, high issues
2023-11-06 13:34:52 +03:30
.github/workflows Fail trivy on critical, high issues 2023-11-06 13:34:52 +03:30
Dockerfile 3.18.3 -> 3.18.4 2023-09-29 02:14:58 +00:00
Dockerfile_nossl 3.18.3 -> 3.18.4 2023-09-29 02:14:58 +00:00
README.md typo fix 2023-11-06 13:23:39 +03:30
start_vsftpd.sh Fixed user creation when group with the same id already exists 2022-04-02 20:11:49 +04:30
vsftpd.conf Disabling anonymous login 2022-02-02 11:56:12 +03:30
vsftpd.conf_nossl Add nossl tag 2022-02-02 11:56:14 +03:30
vsftpd.pem Add TLS Support 2022-02-02 11:56:11 +03:30

README.md

docker-alpine-ftp-server-tls

Small and flexible docker image with vsftpd server with tls

Important Note

I think upstream has made it more complicated than it needs to be since this commit and I'm not merging its commits anymore, although I cherry-pick some of them when I see fit.

fbf9afd936

Also for future reference this is the PR of this commit: https://github.com/delfer/docker-alpine-ftp-server/pull/36

FOr further discussion about this you can use this issue.

Usage

docker run -d \
            -p 21:21 \
            -p 21000-21010:21000-21010 \
            -e USERS="one|1234" \
            -e ADDRESS=ftp.site.domain \
            quay.io/aminvakil/alpine-ftp-server-tls

Configuration

Environment variables:

  • USERS - space and | separated list (optional, default: alpineftp|alpineftp)
    • format name1|password1|[folder1][|uid1] name2|password2|[folder2][|uid2]
  • ADDRESS - external address to which clients can connect for passive ports (optional, should resolve to ftp server ip address)
  • MIN_PORT - minimum port number to be used for passive connections (optional, default 21000)
  • MAX_PORT - maximum port number to be used for passive connections (optional, default 21010)

USERS examples

  • user|password foo|bar|/home/foo
  • user|password|/home/user/dir|10000
  • user|password||10000

ALERT

Do not use this certificate in your production server, you should generate your own certificate using this command openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout vsftpd.pem -out vsftpd.pem

The image gets big if we add openssl and generate certificate inside container, but it will be easy on host to generate a new certificate.