You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
2 weeks ago | |
|---|---|---|
| .. | ||
| config | 4 weeks ago | |
| tmpfiles.d | 4 weeks ago | |
| Makefile | 3 weeks ago | |
| README.md | 2 weeks ago | |
| overlay.bu | 4 weeks ago | |
| vsftpd-build.timer | 4 weeks ago | |
| vsftpd-load-renewed-certificate.service | 4 weeks ago | |
| vsftpd.build | 4 weeks ago | |
| vsftpd.container | 4 weeks ago | |
| vsftpd.target | 4 weeks ago | |
README.md
Podman Quadlet: vsftpd
Overview
vsftpd (Very Secure FTP Daemon) is started as a Podman Quadlet. It provides a secure FTP server with TLS support.
This cookbook:
- Builds a custom vsftpd container image locally.
- Supports TLS encryption with automatic certificate loading from Let's Encrypt (integrates with the
legocookbook). - Maps system users into the container for authentication.
- Includes a timer to periodically rebuild the container image.
- Reloads certificates automatically when renewed.
Prerequisites
- Configuration file
/etc/quadlets/vsftpd/vsftpd.conf.d/local.confmust exist. - For TLS support, the
legocookbook should be configured to provide certificates.
Usage
In a separate terminal, follow the logs.
sudo make tail-logs
Install the Podman Quadlets and start vsftpd.
sudo make clean install
You should see the vsftpd-build.service building the vsftpd container image. Then, the vsftpd.service should start up.
Verify vsftpd is running:
sudo systemctl status vsftpd.service
Test FTP connectivity:
ftp localhost
Or with TLS:
lftp -u username localhost
When Let's Encrypt certificates are renewed, the vsftpd-load-renewed-certificate.service automatically reloads them.
Restart the vsftpd.target unit.
sudo systemctl restart vsftpd.target
Finally, remove the quadlets, their configuration and their data.
sudo make uninstall clean
Integration tests
sudo make test