mirror of
https://github.com/casjaysdevdocker/proftpd
synced 2026-11-08 09:22:27 -05:00
proftpd / release-proftpd (push) Failing after 1m9s
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)
86 lines
2.1 KiB
Markdown
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) ⛵
|