Files
proftpd/README.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

86 lines
2.1 KiB
Markdown

## 👋 Welcome to proftpd 🚀
proftpd README
## Install my system scripts
```shell
sudo bash -c "$(curl -q -LSsf "https://github.com/systemmgr/installer/raw/main/install.sh")"
sudo systemmgr --config && sudo systemmgr install scripts
```
## Automatic install/update
```shell
dockermgr update proftpd
```
## Install and run container
```shell
dockerHome="/srv/$USER/docker/casjaysdevdocker/proftpd/proftpd/latest/rootfs"
mkdir -p "/srv/$USER/docker/proftpd/rootfs"
git clone "https://github.com/dockermgr/proftpd" "$HOME/.local/share/CasjaysDev/dockermgr/proftpd"
cp -Rfva "$HOME/.local/share/CasjaysDev/dockermgr/proftpd/rootfs/." "$dockerHome/"
docker run -d \
--restart always \
--privileged \
--name casjaysdevdocker-proftpd-latest \
--hostname proftpd \
-e TZ=${TIMEZONE:-America/New_York} \
-v "$dockerHome/data:/data:z" \
-v "$dockerHome/config:/config:z" \
-v "/srv/ftp:/var/ftp:z" \
-v "/etc/letsencrypt:/etc/letsencrypt:ro" \
-p 21:21 \
-p 49152-65534:49152-65534 \
casjaysdevdocker/proftpd:latest
```
## via docker-compose
```yaml
version: "2"
services:
ProjectName:
image: casjaysdevdocker/proftpd
container_name: casjaysdevdocker-proftpd
environment:
- TZ=America/New_York
- HOSTNAME=proftpd
volumes:
- "/srv/$USER/docker/casjaysdevdocker/proftpd/proftpd/latest/rootfs/data:/data:z"
- "/srv/$USER/docker/casjaysdevdocker/proftpd/proftpd/latest/rootfs/config:/config:z"
- "/srv/ftp:/var/ftp:z"
- "/etc/letsencrypt:/etc/letsencrypt:ro"
ports:
- 21:21
- 49152-65534:49152-65534
restart: always
```
## Get source files
```shell
dockermgr download src casjaysdevdocker/proftpd
```
OR
```shell
git clone "https://github.com/casjaysdevdocker/proftpd" "$HOME/Projects/github/casjaysdevdocker/proftpd"
```
## Build container
```shell
cd "$HOME/Projects/github/casjaysdevdocker/proftpd"
buildx
```
## Authors
🤖 casjay: [Github](https://github.com/casjay) 🤖
⛵ casjaysdevdocker: [Github](https://github.com/casjaysdevdocker) [Docker](https://hub.docker.com/u/casjaysdevdocker) ⛵