Sign inSign up

venlentine/vsftpd

By venlentine

•Updated over 1 year ago

Tiny and flexible docker image with vsftpd server, has multiple user and tls.

Image
Web servers
Databases & storage
0

281

venlentine/vsftpd repository overview

docker_logo vsftpd_logo

⁠Docker Vsftpd Alpine

Vsftpd Docker image build script based on Alpine, Supports passive mode and tls.

Tiny and flexible docker image with vsftpd server and tls.

⁠Feature

This Docker image is inpired by 6 other Docker images to merge all their fonctionalities in one unique image:

This Docker container provides a vsftpd server⁠, with the following features:

  • Alpine 3.21.0 base image.
  • vsftpd 3.0.5
  • AddUser Linux User, Ftproot Use User Home, eg: /home/one
  • Passive mode (disableable by env variable)
  • Base the pasv_address on a network interface
  • FTPS Explicit (over ftp/ftpes protocol and port 21)
  • FTPS Implicit (over ftps protocol and port 990)
  • FTPS TLS (whith strong protocol/cypher)
  • Logging to STDOUT or file
  • Ability to plug local folder to container volume

Comming soon:

  • None

⁠Usage

docker run -d \
            -p 21:21 \
            -p 21000-21010:21000-21010 \
            -e FTP_USER_1=one:1234 \
            -e FTP_USER_2=two:1234 \
            -e PASV_ADDRESS=192.168.1.197 \
            -e PASV_ADDR_RESOLVE=YES \
            -e PASV_MIN_PORT=21000 \
            -e PASV_MAX_PORT=21010 \
            -e LOCAL_UMASK=022 \
            -e XFERLOG_STD_FORMAT=YES \
            -v /data/vsftpd/ftproot:/home/one \
            -v /data/vsftpd/logs:/var/log/vsftpd \
            -v /data/backups:/home/one/backups:ro \
            venlentine/vsftpd:v1.0.0

⁠Configuration

Environment variables:

NameDefaultAcceptedDescription
FTP_USER_1eg: admin:pass
PASV_ENABLEYES
PASV_ADDRESSDocker host IP / Hostname
PASV_MIN_PORT60000
PASV_MAX_PORT60100
PASV_ADDR_RESOLVENO
PASV_PROMISCUOUSNOPASV security
LISTEN_PORT21
FILE_OPEN_MODE0666
LOCAL_UMASK077
XFERLOG_STD_FORMATNO
PORT_PROMISCUOUSNOPORT security
LOG_STDOUTEmpty
REVERSE_LOOKUP_ENABLEYESDeprecated
SSL_ENABLEYES
UID_NUM5000

⁠Special Files

  • /etc/ssl/certs/vsftpd.pem
  • /etc/vsftpd/vsftpd.conf
  • /usr/sbin/run-vsftpd.sh

⁠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 /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/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.

Tag summary

Content type

Image

Digest

sha256:99d3206b5…

Size

4.6 MB

Last updated

over 1 year ago

docker pull venlentine/vsftpd:v1.1.0