initial commit
This commit is contained in:
commit
0d746bc19e
2
.gitignore
vendored
Executable file
2
.gitignore
vendored
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
*~
|
||||||
|
.DS_Store
|
26
Dockerfile
Normal file
26
Dockerfile
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
FROM thallian/confd-env:latest
|
||||||
|
|
||||||
|
ENV PROFTP_VERSION v1.3.5b
|
||||||
|
|
||||||
|
RUN addgroup -g 2222 proftp
|
||||||
|
RUN adduser -h /var/lib/proftp -u 2222 -D -G proftp proftp
|
||||||
|
|
||||||
|
ADD /rootfs /
|
||||||
|
|
||||||
|
RUN apk add --no-cache openssl openldap tar gcc make g++ openldap-dev
|
||||||
|
|
||||||
|
RUN mkdir /tmp/proftpd
|
||||||
|
RUN wget -qO- https://github.com/proftpd/proftpd/archive/$PROFTP_VERSION.tar.gz | tar -xz -C /tmp/proftpd --strip 1
|
||||||
|
|
||||||
|
WORKDIR /tmp/proftpd
|
||||||
|
RUN ./configure --with-modules=mod_ldap
|
||||||
|
RUN patch -p1 -i /musl_mempcpy.patch
|
||||||
|
RUN make && make install
|
||||||
|
|
||||||
|
RUN rm -r /tmp/proftpd
|
||||||
|
RUN rm /musl_mempcpy.patch
|
||||||
|
WORKDIR /
|
||||||
|
|
||||||
|
RUN apk del tar gcc make g++ openldap-dev
|
||||||
|
|
||||||
|
EXPOSE 2121
|
3
rootfs/etc/confd/conf.d/proftpd.conf.toml
Normal file
3
rootfs/etc/confd/conf.d/proftpd.conf.toml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[template]
|
||||||
|
src = "proftpd.conf.tmpl"
|
||||||
|
dest = "/usr/local/etc/proftpd.conf"
|
28
rootfs/etc/confd/templates/proftpd.conf.tmpl
Normal file
28
rootfs/etc/confd/templates/proftpd.conf.tmpl
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
ServerName "{{getenv "SERVER_NAME"}}"
|
||||||
|
ServerType standalone
|
||||||
|
DefaultServer on
|
||||||
|
Port 2121
|
||||||
|
UseIPv6 off
|
||||||
|
Umask 022
|
||||||
|
MaxInstances 30
|
||||||
|
User proftp
|
||||||
|
Group proftp
|
||||||
|
DefaultRoot /var/lib/proftp/data
|
||||||
|
AllowOverwrite on
|
||||||
|
|
||||||
|
<Limit SITE_CHMOD>
|
||||||
|
DenyAll
|
||||||
|
</Limit>
|
||||||
|
|
||||||
|
<IfModule mod_ldap.c>
|
||||||
|
LDAPServer {{getenv "LDAP_URI"}}
|
||||||
|
LDAPUseTLS {{getenv "LDAP_USE_TLS"}}
|
||||||
|
LDAPAuthBinds {{getenv "LDAP_USE_AUTH_BIND"}}
|
||||||
|
LDAPBindDN "{{getenv "LDAP_BIND_DN"}}" {{getenv "LDAP_BIND_PASSWORD"}}
|
||||||
|
|
||||||
|
LDAPUsers {{getenv "LDAP_BASE"}} "{{getenv "LDAP_FILTER"}}"
|
||||||
|
LDAPSearchScope subtree
|
||||||
|
LDAPDefaultUID 2222
|
||||||
|
LDAPDefaultGID 2222
|
||||||
|
LDAPGenerateHomedir off
|
||||||
|
</IfModule>
|
3
rootfs/etc/services.d/proftpd/run
Normal file
3
rootfs/etc/services.d/proftpd/run
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/usr/bin/with-contenv sh
|
||||||
|
|
||||||
|
exec s6-setuidgid proftp proftpd --nodaemon
|
11
rootfs/musl_mempcpy.patch
Normal file
11
rootfs/musl_mempcpy.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- a/lib/pr_fnmatch.c
|
||||||
|
+++ b/lib/pr_fnmatch.c
|
||||||
|
@@ -250,7 +250,7 @@
|
||||||
|
# endif
|
||||||
|
# define STRLEN(S) strlen (S)
|
||||||
|
# define STRCAT(D, S) strcat (D, S)
|
||||||
|
-# define MEMPCPY(D, S, N) __mempcpy (D, S, N)
|
||||||
|
+# define MEMPCPY(D, S, N) mempcpy (D, S, N)
|
||||||
|
# define MEMCHR(S, C, N) memchr (S, C, N)
|
||||||
|
# define STRCOLL(S1, S2) strcoll (S1, S2)
|
||||||
|
# include "pr_fnmatch_loop.c"
|
Loading…
Reference in New Issue
Block a user