Files
proftpd/TODO.AI.md
T
casjay 4508593e39
proftpd / release-proftpd (push) Failing after 1m9s
✨ Fix proftpd name, add TLS config and cert reload ✨
Rename proftp to proftpd, install proftpd with mod_tls, serve /var/ftp
with a single config file, and reload proftpd when the cert changes.

- .env.scripts: rename proftp to proftpd; SERVICE_PORT 21, EXPOSE_PORTS 49152-65534; add proftpd packages
- Dockerfile: rename proftp to proftpd; port ARGs; PACK_LIST with proftpd, mod_tls, mod_readme, utils, openssl; labels from gen-dockerfile update
- README.md: ports 21 and passive range; mounts for /var/ftp and /etc/letsencrypt
- rootfs/.gitea/workflows/docker.yaml: rename proftp to proftpd
- rootfs/tmp/etc/proftpd/proftpd.conf: single config, anonymous root /var/ftp, TLS 1.2/1.3 with certs at /etc/letsencrypt/live/domain, logs in /data/logs/proftpd
- rootfs/usr/local/etc/docker/init.d/99-proftpd.sh: regenerate from current start-service template; add self-signed cert fallback, cert watcher that sends HUP on change, log dir chmod
- rootfs/usr/local/etc/docker/functions/entrypoint.sh: use if blocks for debug echoes so set -e no longer exits the container when DEBUGGER is off
- TODO.AI.md: log upstream template follow-ups (exit code 20, function-final [ ] && tails)
- README.md: updated (ports and mounts for FTP and Let's Encrypt)
2026-11-06 08:47:43 -05:00

493 B

  • Upstream gen-script other/start-service template: __run_pre_execute_checks ... || return 20 uses exit code 20, outside standard ranges; change to a sysexits code in the template, then regenerate rootfs/usr/local/etc/docker/init.d/99-proftpd.sh
  • Upstream functions/entrypoint.sh template: function-final [ "$DEBUGGER" = "on" ] && ... lines return 1 under set -e (fixed locally in __symlink and the msmtp/ssmtp/postfix setup); fix in the template and audit remaining [ ] && cmd tails