This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
fidohub/Dockerfile

122 lines
5.2 KiB
Docker

# NAME leenooks/fidohub
# VERSION latest
FROM debian:bullseye-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 rlinetd nginx supervisor cron procps less logrotate netcat iputils-ping ssmtp \
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 NNCP
RUN echo "deb http://deb.debian.org/debian bullseye-backports main" > /etc/apt/sources.list.d/backports.list
RUN apt-get update \
&& apt-get install -yyq nncp \
&& mkdir /etc/nncp \
&& apt-get -y autoremove \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/log/nncp
# Add in Leenooks' apt repository
RUN curl -sL http://apt.dege.au/setup.sh | DISTRO=bullseye bash
# For qico
RUN curl -sL http://apt.dege.au/setup.sh | DISTRO=buster bash
RUN echo "deb http://deb.debian.org/debian buster main" > /etc/apt/sources.list.d/buster-oldstable.list
# Add ZeroTier
RUN echo "deb [trusted=yes] http://download.zerotier.com/debian/bullseye bullseye main" > /etc/apt/sources.list.d/zerotier.list
# Leenooks Utils
RUN apt-get update \
&& apt-get install -y binkd=1.1a-115 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 /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 rlinetd.d /etc/rlinetd.d/
#COPY --chmod=644 logrotate.d /etc/logrotate.d/
COPY logrotate.d /etc/logrotate.d/
RUN chmod 644 /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/
ENV NNCPCFG /etc/nncp/nncp.conf
EXPOSE 119 5400 24553 24554 60177 60179
VOLUME [ "/var/lib/zerotier-one" ]
VOLUME [ "/etc/binkd","/etc/ifmail","/etc/ftn","/etc/jamnntpd","/etc/qico","/etc/nncp","/fido" ]
VOLUME [ "/etc/cron.hourly","/etc/cron.daily","/etc/cron.weekly","/etc/cron.monthly" ]
VOLUME [ "/var/spool/nncp" ]
ENTRYPOINT [ "/sbin/init" ]
CMD [ "/usr/bin/supervisord","-c","/etc/supervisor/supervisord.conf","-n" ]