An open API service indexing awesome lists of open source software.

https://github.com/mekayelanik/proftpd-server-alpine

Multi-Aarch image of ProFTPD, a free, open-source, & one of the most popular UNIX FTP servers today
https://github.com/mekayelanik/proftpd-server-alpine

docker-image docker-image-builder

Last synced: 3 months ago
JSON representation

Multi-Aarch image of ProFTPD, a free, open-source, & one of the most popular UNIX FTP servers today

Awesome Lists containing this project

README

        

ProFTPD multi-arch image


ProFTPD

This is an unofficial multi-aarch docker image of ProFTPD created for multiplatform support.This image creates a local FTP server to ficilitate client-side data transfer. Official Website: http://www.proftpd.org/


The architectures supported by this image are:



Architecture
Available
Tag
Status




x86-64

amd64-<version tag>
Tested "WORKING"


arm64

arm64v8-<version tag>
Tested "WORKING"


armhf

arm32v7-<version tag>
Tested "WORKING"

Version Tags


This image provides various versions that are available via tags. Please read the update information carefully and exercise caution when using "older versions" tags as they tend to contain unfixed bugs.



Tag
Available
Description




latest

Stable "ProFTPD releases


1.3.8

Static "ProFTPD" build version 1.3.8

Running Image :


Here are some example snippets to help you get started creating a container.


docker-compose (recommended, click here for more info)


---

version: "3.9"
services:
proftpd-server-alpine:
image: mekayelanik/proftpd-server-alpine:latest
container_name: proftpd-server-alpine
environment:
- TZ=Asia/Dhaka
- FTP_PORT=21
- NUMBER_OF_SHARES=4
- FTP_SHARE_1=SHARE_1
- FTP_PASSWORD_1=PASS_1
- FTP_SHARE_1_PUID=1001
- FTP_SHARE_1_PGID=1001
- FTP_SHARE_2=SHARE_2
- FTP_PASSWORD_2=PASS_2
- FTP_SHARE_2_PUID=1002
- FTP_SHARE_2_PGID=1002
- FTP_SHARE_3=SHARE_3
- FTP_PASSWORD_3=PASS_3
- FTP_SHARE_3_PUID=1003
- FTP_SHARE_3_PGID=1003
- FTP_SHARE_4=SHARE_4
- FTP_PASSWORD_4=PASS_4
- FTP_SHARE_4_PUID=1004
- FTP_SHARE_4_PGID=1004
volumes:
- /mnt/Vol1:/data/SHARE_1
- /mnt/Vol1:/data/SHARE_2
- /mnt/Vol1:/data/SHARE_3
- /mnt/Vol1:/data/SHARE_4
restart: unless-stopped

docker cli ( click here for more info)


docker run -d \

--name=proftpd-server-alpine \
-e TZ=Asia/Dhaka \
-e FTP_PORT=21 \
-e NUMBER_OF_SHARES=4 \
-e FTP_SHARE_1=SHARE_1 \
-e FTP_PASSWORD_1=PASS_1 \
-e FTP_SHARE_1_PUID=1001 \
-e FTP_SHARE_1_PGID=1001 \
-e FTP_SHARE_2=SHARE_2 \
-e FTP_PASSWORD_2=PASS_2 \
-e FTP_SHARE_2_PUID=1002 \
-e FTP_SHARE_2_PGID=1002 \
-e FTP_SHARE_3=SHARE_3 \
-e FTP_PASSWORD_3=PASS_3 \
-e FTP_SHARE_3_PUID=1003 \
-e FTP_SHARE_3_PGID=1003 \
-e FTP_SHARE_4=SHARE_4 \
-e FTP_PASSWORD_4=PASS_4 \
-e FTP_SHARE_4_PUID=1004 \
-e FTP_SHARE_4_PGID=1004 \
-v /mnt/Vol1:/data/SHARE_1 \
-v /mnt/Vol1:/data/SHARE_2 \
-v /mnt/Vol1:/data/SHARE_3 \
-v /mnt/Vol1:/data/SHARE_4 \
--restart unless-stopped \
mekayelanik/proftpd-server-alpine:latest

If anyone wishes to give dedicated Local IP to ProFTPD container using MACVLAN ( click here for more info)


---

version: "3.9"
services:
proftpd-server-alpine:
image: mekayelanik/proftpd-server-alpine:latest
container_name: proftpd-server-alpine
environment:
- TZ=Asia/Dhaka
- FTP_PORT=21
- NUMBER_OF_SHARES=4
- FTP_SHARE_1=SHARE_1
- FTP_PASSWORD_1=PASS_1
- FTP_SHARE_1_PUID=1001
- FTP_SHARE_1_PGID=1001
- FTP_SHARE_2=SHARE_2
- FTP_PASSWORD_2=PASS_2
- FTP_SHARE_2_PUID=1002
- FTP_SHARE_2_PGID=1002
- FTP_SHARE_3=SHARE_3
- FTP_PASSWORD_3=PASS_3
- FTP_SHARE_3_PUID=1003
- FTP_SHARE_3_PGID=1003
- FTP_SHARE_4=SHARE_4
- FTP_PASSWORD_4=PASS_4
- FTP_SHARE_4_PUID=1004
- FTP_SHARE_4_PGID=1004
volumes:
- /mnt/Vol1:/data/SHARE_1
- /mnt/Vol1:/data/SHARE_2
- /mnt/Vol1:/data/SHARE_3
- /mnt/Vol1:/data/SHARE_4
restart: unless-stopped
hostname: proftpd-server
domainname: local
mac_address: 45-45-45-45-45-45
networks:
macvlan-1:
ipv4_address: 192.168.1.21
#### Network Defination ####
networks:
macvlan-1:
name: macvlan-1
external: True
driver: macvlan
driver_opts:
parent: eth0
ipam:
config:
- subnet: "192.168.1.0/24"
ip_range: "192.168.1.2/24"
gateway: "192.168.1.1"

Updating Info


Below are the instructions for updating containers:


Via Docker Compose (recommended)



  • Update all images: docker compose pull

    • or update a single image: docker compose pull mekayelanik/proftpd-server-alpine



  • Let compose update all containers as necessary: docker compose up -d

    • or update a single container (recommended): docker compose up -d proftpd-server-alpine



  • To remove the old unused images run: docker image prune


Via Docker Run



  • Update the image: docker pull mekayelanik/proftpd-server-alpine:latest

  • Stop the running container: docker stop proftpd-server-alpine

  • Delete the container: docker rm proftpd-server-alpine

  • Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your /AgentDVR/Media/XML folder and settings will be preserved)

  • To remove the old unused images run: docker image prune


Via Watchtower auto-updater (only use if you don't remember the original parameters)




  • Pull the latest image at its tag and replace it with the same env variables in one run:



    docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower\
    --run-once proftpd-server-alpine



  • To remove the old unused images run: docker image prune





Note: You can use Watchtower as a solution to automated updates of existing Docker containers. But it is discouraged to use automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, it is recommend to use Docker Compose.


Image Update Notifications - Diun (Docker Image Update Notifier)



  • You can also use Diun for update notifications. Other tools that automatically update containers unattended are not encouraged


Issues & Requests


To submit this Docker image specific issues or requests visit this docker image's Github Link: https://github.com/MekayelAnik/proftpd-server-alpine


For Proftpd related issues and requests, please visit: https://github.com/proftpd/proftpd/