FTP server application that uses Django's user authentication.
- FTP server integrated with Django's user authentication system
- Permission management through FTP user groups (read, write, delete, etc.)
- Per-user and per-group home directory configuration
- FTP account management via Django Admin
- Secure communication with TLS/SSL support (FTPS)
- Daemon mode for background service operation
- Integration with Django Storage backends (S3, Google Cloud Storage, etc.) [1]
- Passive mode and masquerade address configuration
- Cross-platform support (Windows/Unix)
- Management commands for FTP user/group operations (create, list, delete)
- Django signals for FTP events (login, logout, file transfers, etc.)
| [1] | Experimental feature. May be removed in future versions. |
- Install django-ftpserver using pip.
$ pip install django-ftpserver
Optional dependencies can be installed with extras:
# For TLS/SSL support (FTPS) $ pip install django-ftpserver[tls] # For Windows service support $ pip install django-ftpserver[windows] # Multiple extras $ pip install django-ftpserver[tls,windows]
- Add a line to settings.INSTALLED_APPS in your Django project.
INSTALLED_APPS = (
# ..
'django_ftpserver',
)
- Run migrations.
$ python manage.py migrate
- Create FTP user group.
$ python manage.py createftpusergroup my-ftp-group
- Create FTP user account.
$ python manage.py createftpuseraccount <username> my-ftp-group
<username> is the django authentication username.
- Run
manage.py ftpservercommand.
$ python manage.py ftpserver 127.0.0.1:10021
- Connect with your favorite FTP client.
- Target Python version is 3.10, 3.11, 3.12, 3.13, 3.14
- Django>=4.2
- pyftpdlib
- pyOpenSSL - Required for TLS/SSL support (
pip install django-ftpserver[tls]) - pywin32 - Required for Windows service support (
pip install django-ftpserver[windows])
This software is licensed under the MIT License.
The latest documentation is hosted at Read The Docs.
https://django-ftpserver.readthedocs.org/en/latest/
This project is hosted at Github: https://github.com/tokibito/django-ftpserver
- Shinya Okano