67 lines
2.4 KiB
Docker
67 lines
2.4 KiB
Docker
|
# NAME leenooks/sbbs
|
||
|
# VERSION 3.17c
|
||
|
|
||
|
FROM debian:stretch-slim
|
||
|
|
||
|
# Base utilities
|
||
|
RUN apt-get update \
|
||
|
&& apt-get install -yqq curl procps less zip unzip arj unrar-free lhasa arc zoo logrotate libmozjs185-1.0 cron \
|
||
|
&& apt-get -y autoremove \
|
||
|
&& apt-get clean \
|
||
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||
|
|
||
|
# Add in Leenooks' apt repository
|
||
|
RUN curl -s http://apt.leenooks.net/setup.sh | sh
|
||
|
|
||
|
# Add ZeroTier
|
||
|
RUN echo "deb http://download.zerotier.com/debian/stretch stretch main" > /etc/apt/sources.list.d/zerotier.list
|
||
|
|
||
|
# Leenooks Utils
|
||
|
RUN apt-get update \
|
||
|
&& apt-get install -yqq --allow-unauthenticated makenl zerotier-one \
|
||
|
&& apt-get -y autoremove \
|
||
|
&& apt-get clean \
|
||
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||
|
|
||
|
# Other Utilities
|
||
|
RUN echo "deb http://ftp.au.debian.org/debian/ stretch contrib" > /etc/apt/sources.list.d/contrib.list
|
||
|
RUN apt-get update \
|
||
|
&& apt-get install -yqq dosemu \
|
||
|
&& apt-get -y autoremove \
|
||
|
&& apt-get clean \
|
||
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||
|
|
||
|
# Build SBBS
|
||
|
RUN apt-get update \
|
||
|
&& apt-get install -yqq build-essential libnspr4-dev libncurses5-dev libmozjs185-dev cvs wget pkgconf \
|
||
|
&& mkdir /opt/sbbs && cd /tmp \
|
||
|
&& wget http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/install/GNUmakefile \
|
||
|
&& make RELEASE=1 USE_DOSEMU=1 NO_X=1 JSINCLUDE=/usr/include/js JSLIB=mozjs185 SBBSDIR=/opt/sbbs install \
|
||
|
&& rm -rf /opt/sbbs/3rdp /opt/sbbs/src \
|
||
|
&& mv /opt/sbbs/ctrl /opt/sbbs/ctrl.orig \
|
||
|
&& mkdir /opt/sbbs/nodes.orig && mv /opt/sbbs/node[1-4] /opt/sbbs/nodes.orig \
|
||
|
&& ln -sf nodes/node1 /opt/sbbs/ \
|
||
|
&& ln -sf nodes/node2 /opt/sbbs/ \
|
||
|
&& ln -sf nodes/node3 /opt/sbbs/ \
|
||
|
&& ln -sf nodes/node4 /opt/sbbs/ \
|
||
|
&& find /opt/sbbs -name CVS -type d -exec rm -rf {} + \
|
||
|
&& apt-get -y purge build-essential libnspr4-dev libncurses5-dev libmozjs185-dev cvs wget pkgconf \
|
||
|
&& apt-get -y autoremove \
|
||
|
&& apt-get clean \
|
||
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||
|
|
||
|
WORKDIR /opt/sbbs
|
||
|
ENV SBBSCTRL=/opt/sbbs/ctrl
|
||
|
ENV SBBSEXEC=/opt/sbbs/exec
|
||
|
ENV PATH=$PATH:${SBBSEXEC}
|
||
|
|
||
|
COPY init /sbin/init
|
||
|
ENTRYPOINT [ "/sbin/init" ]
|
||
|
CMD ["sbbs"]
|
||
|
|
||
|
VOLUME [ "/var/lib/zerotier-one" ]
|
||
|
VOLUME [ "/opt/sbbs/data","/opt/sbbs/ctrl","/opt/sbbs/nodes","/opt/sbbs/fido" ]
|
||
|
|
||
|
# Set the default timezone for the container
|
||
|
RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime
|