Docker Repository - bfren ecosystem
Comes with vsftpd installed and running in passive mode, with TLS support (self-signed certificates).
WinSCP config (for example):
// do not choose SFTP, this is a completely different protocol
Protocol: FTP
// i.e. not 'plain' or 'implicit'
Encryption: TLS/SSL Explicit encryption
// choose either the IP or URI defined in docker-compose.yml
Host: BF_FTPS_EXTERNAL_IP or BF_FTPS_EXTERNAL_URI
// you need to open ports 990 and 18700-18710 as well - the
// connection begins on port 21 and is escalated to the others
Port: 21
// defined in docker-compose.yml
User name: BF_FTPS_VSFTPD_USER
// defined in docker-compose.yml
Password: BF_FTPS_VSFTPD_PASS
- 21
- 990
- 18700-18710
Volume | Purpose |
---|---|
/files |
Contains the files that can be accessed / written. |
/ssl |
Stores (self-signed) SSL certificates - if you symlink a PEM file called server.pem here with a valid SSL certificate, vsftpd will use it instead. |
Variable | Values | Description | Default |
---|---|---|---|
BF_FTPS_EXTERNAL_IP |
string | The external IP of the server - required for passive mode (unless BF_FTPS_EXTERNAL_URI is set). |
None - required unless BF_FTPS_EXTERNAL_URI is set |
BF_FTPS_EXTERNAL_URI |
string | The URI of the server - required for passive mode (unless BF_FTPS_EXTERNAL_IP is set).If both are set this takes precedence. |
None - required unless BF_FTPS_EXTERNAL_IP is set |
BF_FTPS_SSL_BITS |
string | The number of bits to use for the self-signed SSL certificate. | 4096 |
BF_FTPS_VSFTPD_USER |
string | A user account will be created for connecting to the server. | None - required |
BF_FTPS_VSFTPD_PASS |
string | The password to use for connecting to the server. | None - required |
BF_FTPS_VSFTPD_UID |
string | User ID with access rights to the /files directory. |
1000 |
BF_FTPS_VSFTPD_ENABLE_DEBUG_LOG |
0 or 1 | Whether or not to enable all FTP commands and responses for vsftpd. | 0 |
BF_FTPS_VSFTPD_WELCOME |
string | Welcome message when people sign in to the server. | "Welcome to the FTPS server." |
Copyright (c) 2021-2025 bfren (unless otherwise stated)