juju deploy vsftpd
Show information
You will need Juju 2.9 to be able to run this command. Learn how to upgrade to Juju 2.9.
Channel Version Revision Published Base
latest/stable 5 5 16 Feb 2021
latest/edge 5 5 16 Feb 2021




lightweight, efficient FTP server written for security Read more

Discuss this charm

Share your thoughts on this charm with the community on discourse.

Join the discussion

Juju charm vsftpd
Author: Nathan Williams nathan@nathanewilliams.com


Deploying vsftpd

juju bootstrap
juju deploy --config vsftpd.yaml vsftpd
juju expose vsftpd

To find out the public address of vsftpd, browse the output of the juju status command.


Setup your parameters in vsftpd.yaml:

 edit vsftpd.yaml

A list of settable parameters is available using

juju get vsftpd

or listing config.yaml

By default, the standard ftp port, 21, is turned on, this is changeable through the config value: "port".

The "delete_departed" config option controls whether to remove files belonging to users who have left the relation to the ftp-server.

If you decide to enable anonymous access, be aware that the anonymous user, while not able to upload, will be able to browse and download files in any users home directory.

Note that due to vsftpd security settings, it is not possible for users to upload files to their chroot'd home directory. Rather, each user has a folder "ftp" created within their chroot'd home folder which they can up/download to.


When a relation is joined, a user for each juju unit is created and has relation parameters generated for ftp_user, and ftp_passwd. The active port and server are also available in the relation details.

More Info

For additional configuration options, see Ubuntu's FTP Server help page