116 lines
5.3 KiB
Docker
116 lines
5.3 KiB
Docker
# NAME leenooks/fidohub
|
|
# VERSION latest
|
|
|
|
FROM debian:buster-slim
|
|
|
|
# Set the default timezone for the container
|
|
RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -yyq curl ifcico crashmail jamnntpd xinetd nginx supervisor cron procps less logrotate netcat iputils-ping \
|
|
zip unzip arc arj unrar-free lhasa p7zip vim libtimedate-perl \
|
|
&& mkdir /etc/jamnntpd && mv /etc/jamnntpd.* /etc/jamnntpd/ && mv /etc/jamnntpd /etc/jamnntpd.orig \
|
|
&& apt-get -y purge exim4-base \
|
|
&& apt-get -y autoremove \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
# Add in Leenooks' apt repository
|
|
RUN curl -sL http://apt.leenooks.net/setup.sh | DISTRO=buster bash
|
|
|
|
# Add ZeroTier
|
|
RUN echo "deb [trusted=yes] http://download.zerotier.com/debian/stretch stretch main" > /etc/apt/sources.list.d/zerotier.list
|
|
|
|
# Leenooks Utils
|
|
RUN apt-get update \
|
|
&& apt-get install -y binkd=1.1a-114 makenl goldedplus qico zerotier-one \
|
|
&& mv /etc/binkd /etc/binkd.orig \
|
|
&& mv /etc/qico /etc/qico.orig \
|
|
&& apt-get -y autoremove \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
# Create Husky User
|
|
RUN useradd -g users -M husky
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -yqq git make gcc zlib1g-dev libperl-dev libbz2-dev ncurses-dev automake flex bison libtest-simple-perl libmodule-build-perl texinfo g++\
|
|
&& cd /tmp && mkdir husky\
|
|
&& cd husky \
|
|
&& git clone https://github.com/huskyproject/huskybse.git \
|
|
&& git clone https://github.com/huskyproject/huskylib.git \
|
|
&& git clone https://github.com/huskyproject/smapi.git \
|
|
&& git clone https://github.com/huskyproject/fidoconf.git \
|
|
&& git clone https://github.com/huskyproject/areafix.git \
|
|
&& git clone https://github.com/huskyproject/hptzip.git \
|
|
&& git clone https://github.com/huskyproject/hpt.git \
|
|
&& git clone https://github.com/huskyproject/htick.git \
|
|
&& git clone https://github.com/huskyproject/nltools.git \
|
|
&& git clone https://github.com/huskyproject/hptkill.git \
|
|
&& git clone https://github.com/huskyproject/areastat.git \
|
|
&& git clone https://github.com/huskyproject/hptutil.git \
|
|
&& git clone https://github.com/huskyproject/fidostat.git \
|
|
&& git clone https://github.com/huskyproject/msged.git \
|
|
&& git clone https://github.com/huskyproject/fidoroute.git \
|
|
&& chown -R husky:users /tmp/husky \
|
|
&& cd huskybse && sed -e 's#CFGDIR=~/fido/etc/husky#CFGDIR=/etc/ftn#' -i huskymak.cfg \
|
|
&& sed -e 's#PERL=0#PERL=1#' -i huskymak.cfg \
|
|
&& sed -e 's#HTML=1#HTML=0#' -i huskymak.cfg \
|
|
&& sed -e 's#CODEPAGE=KOI8-R#CODEPAGE=CP437#' -i huskymak.cfg \
|
|
&& sed -e 's#USE_HPTZIP=0#USE_HPTZIP=1#' -i huskymak.cfg \
|
|
&& cd ../areastat && echo 'ZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKaW5kZXggYzA1NTBiNC4uYTQwMWIwZCAx\
|
|
MDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTYwLDggKzYwLDggQEAgYWxs\
|
|
OiBhcmVhc3RhdCBtYW4KIGluc3RhbGw6IGFsbAogCSQoSU5TVEFMTCkgJChJQk9QVCkgYXJlYXN0\
|
|
YXQgJChCSU5ESVIpCiBpZmRlZiBNQU5ESVIKLQktJChNS0RJUikgJChNS0RJUk9QVCkgJChNQU5E\
|
|
SVIpJChESVJTRVApbWFuMQotCWZvciBtIGluICQoTUFOUyk7IGRvICQoSU5TVEFMTCkgJChJTU9Q\
|
|
VCkgJCRtLmd6ICQoTUFORElSKSQoRElSU0VQKW1hbmBlY2hvICQkbSB8IHNlZCBzLy4qXFwuLy9g\
|
|
LzsgZG9uZQorCS0kKE1LRElSKSAkKE1LRElST1BUKSAkKE1BTkRJUikkKERJUlNFUCltYW41CisJ\
|
|
Zm9yIG0gaW4gJChNQU5TKTsgZG8gJChJTlNUQUxMKSAkKElNT1BUKSAkJG0uZ3ogJChNQU5ESVIp\
|
|
JChESVJTRVApbWFuYGVjaG8gJCRtIHwgc2VkIHMvLipcXFxcLi8vYC87IGRvbmUKIGVuZGlmCiAK\
|
|
IHVuaW5zdGFsbDoK'|base64 -d|git apply && cd .. \
|
|
&& cd /tmp/husky\
|
|
&& cp -f -p huskybse/Makefile Makefile \
|
|
&& cp -f -p huskybse/huskymak.cfg huskymak.cfg \
|
|
&& cp -f -p huskybse/script/build.sh build.sh \
|
|
&& su - husky -c "BINDIR=foo sh -x ./build.sh" \
|
|
&& make install \
|
|
&& mkdir /usr/local/include/hpt/ /usr/local/include/htick && cp /tmp/husky/hpt/misc/areafix.hlp /usr/local/include/hpt/ \
|
|
&& cp /tmp/husky/htick/misc/filefix.hlp /usr/local/include/htick/ \
|
|
&& rm -rf /tmp/husky \
|
|
&& apt-get -y purge git make gcc zlib1g-dev libperl-dev libbz2-dev ncurses-dev automake flex bison libtest-simple-perl libmodule-build-perl texinfo g++\
|
|
&& apt-get -y autoremove \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
# && git clone https://github.com/huskyproject/emailpkt.git \
|
|
# && git clone https://github.com/huskyproject/cfroute.git \
|
|
# && git clone https://github.com/huskyproject/bsopack.git \
|
|
# && git clone https://github.com/huskyproject/lxtrack.git \
|
|
# && git clone https://github.com/huskyproject/mpost.git \ ?
|
|
|
|
# Other tools
|
|
#RUN apt-get update \
|
|
# && apt-get install -yqq libtimedate-perl \
|
|
# && apt-get -y autoremove \
|
|
# && apt-get clean \
|
|
# && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
COPY nginx/binkps.conf /etc/nginx/modules-enabled/
|
|
COPY nginx/binkps.crt nginx/binkps.key /etc/nginx/conf.d/ssl/
|
|
COPY xinetd.d /etc/xinetd.d/
|
|
#COPY --chmod=644 logrotate.d /etc/logrotate.d/
|
|
COPY logrotate.d /etc/logrotate.d/
|
|
COPY supervisord.d /etc/supervisor/conf.d/
|
|
COPY jamnntpd.orig/config /etc/jamnntpd.orig/
|
|
COPY ftn.orig /etc/ftn.orig/
|
|
COPY init /sbin/init
|
|
COPY golded /usr/local/bin
|
|
COPY goldkeys.cfg /etc
|
|
COPY tools/* /usr/local/bin/
|
|
|
|
EXPOSE 119 24553 24554 60177 60179
|
|
VOLUME [ "/var/lib/zerotier-one" ]
|
|
VOLUME [ "/etc/binkd","/etc/ifmail","/etc/ftn","/etc/jamnntpd","/etc/qico","/fido" ]
|
|
VOLUME [ "/etc/cron.hourly","/etc/cron.daily","/etc/cron.weekly","/etc/cron.monthly" ]
|
|
ENTRYPOINT [ "/sbin/init" ]
|
|
CMD [ "/usr/bin/supervisord","-c","/etc/supervisor/supervisord.conf","-n" ]
|