Browse Source

Merge remote-tracking branch 'docker-pyftpd-sink/master'

Fabian Peter Hammerle 5 years ago
parent
commit
7afba5ba2b
3 changed files with 38 additions and 1 deletions
  1. 4 0
      .dockerignore
  2. 21 0
      Dockerfile
  3. 13 1
      README.md

+ 4 - 0
.dockerignore

@@ -0,0 +1,4 @@
+*
+!./.git
+!./pyftpd_sink.py
+!./setup.py

+ 21 - 0
Dockerfile

@@ -0,0 +1,21 @@
+FROM python:3.7.0-alpine3.8
+
+# TODO remove git from image
+RUN apk add --no-cache git
+
+RUN adduser -S ftp-sink
+USER ftp-sink
+ENV PATH "${PATH}:/home/ftp-sink/.local/bin"
+
+VOLUME /sink
+ENV FTP_USERNAME user
+ENV FTP_PASSWORD_SHA256 2bb80d537b1da3e38bd30361aa855686bde0eacd7162fef6a25fe97bf527a25b
+ENV FTP_CONTROL_PORT 2121
+ENV FTP_PASSIVE_PORT 62121
+EXPOSE $FTP_CONTROL_PORT $FTP_PASSIVE_PORT
+
+COPY . /pyftpd-sink
+RUN pip install --user git+file:///pyftpd-sink#egg=pyftpd-sink
+
+# TODO set masquerade address for passive mode
+CMD ["pyftpd-sink", "--root-dir", "/sink"]

+ 13 - 1
README.md

@@ -2,4 +2,16 @@
 
 `pyftpd-sink --help`
 
-docker container: https://hub.docker.com/r/fphammerle/pyftpd-sink/
+## docker 🐳
+
+docker hub: https://hub.docker.com/r/fphammerle/pyftpd-sink/
+
+```sh
+sudo docker run --rm \
+    -v /tmp/ftp-sink:/sink \
+    -e FTP_USERNAME=user \
+    -e FTP_PASSWORD_SHA256=2bb80d537b1da3e38bd30361aa855686bde0eacd7162fef6a25fe97bf527a25b \
+    -p 2121:2121 -p 62121:62121 \
+    --security-opt=no-new-privileges --cap-drop=all \
+    fphammerle/pyftpd-sink
+```