A dedicated FTP server designed for NAT users.
3.5K
A dedicated FTP server built for NAT environments, with support for passive mode, FTPS, and custom DNS resolution.
PasvServerAddress can be set to either an IP address or a domain name.DNS setting to resolve PasvServerAddress through a custom DNS server.# pull the image
docker pull kavenzero/ftp
# run the container and expose FTP ports
# map host directories for configuration and files
docker run -d --name ftp-server \
-p 21:21 \
-p 5555-5655:5555-5655 \
-v "$(pwd)/config:/App/Configuration" \
-v "$(pwd)/files:/App/Files" \
-v "$(pwd)/logs:/App/Log" \
kavenzero/ftp
# verify the container is running
docker ps --filter "name=ftp-server"
If the FTP configuration file is missing, the server will generate a default configuration file at startup.
/App/Configuration/FTP.kcf
{
"Port": 21,
"PasvServerAddress": "my.ftp.com",
"PasvPorts": "5555,5600-5655",
"Users": [
{
"UserName": "admin",
"Password": "2d;:Z8|xm Wr",
"Paths": [
{
"VirtualPath": "/",
"RealPath": "/App/Files"
}
],
"Permissions": "List, Download, Upload, Delete, Rename, CreateDirectory, DeleteDirectory",
"Disabled": false,
"MergePermissions": false,
"AllowClearProtectionLevelOnDataConnection": false
},
{
"UserName": "anonymous",
"Paths": [
{
"VirtualPath": "/",
"RealPath": "/App/Files"
}
],
"Permissions": "List, Download",
"Disabled": false,
"MergePermissions": true,
"AllowClearProtectionLevelOnDataConnection": true
}
],
"ImplicitTls": false,
"EnableActiveMode": false,
"DNS": "8.8.8.8",
"EnableTls": true,
"CertificateFile": "certificate.crt",
"PrivateKeyFile": "privateKey.key"
}
Content type
Image
Digest
sha256:ab568f196…
Size
93.6 MB
Last updated
3 months ago
docker pull kavenzero/ftp