2019-07-25 07:06:05 +00:00
|
|
|
# NAME leenooks/sbbs
|
2020-09-09 14:25:25 +00:00
|
|
|
# VERSION latest
|
2019-07-25 07:06:05 +00:00
|
|
|
|
2020-03-11 02:52:35 +00:00
|
|
|
FROM debian:buster-slim
|
2019-07-25 07:06:05 +00:00
|
|
|
|
|
|
|
# Base utilities
|
|
|
|
RUN apt-get update \
|
2020-08-11 01:08:17 +00:00
|
|
|
&& apt-get install -yqq curl supervisor procps less zip unzip arj unrar-free lhasa arc logrotate cron libnspr4 \
|
2019-07-25 07:06:05 +00:00
|
|
|
&& apt-get -y autoremove \
|
|
|
|
&& apt-get clean \
|
|
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
|
2019-08-14 10:56:48 +00:00
|
|
|
# Set the default timezone for the container
|
|
|
|
RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime
|
|
|
|
|
2019-07-25 07:06:05 +00:00
|
|
|
# Add in Leenooks' apt repository
|
2020-11-22 23:39:17 +00:00
|
|
|
RUN curl -sL http://apt.leenooks.net/setup.sh | DISTRO=buster bash
|
2019-07-25 07:06:05 +00:00
|
|
|
|
|
|
|
# Add ZeroTier
|
2020-03-11 02:52:35 +00:00
|
|
|
RUN echo "deb [trusted=yes] http://download.zerotier.com/debian/buster buster main" > /etc/apt/sources.list.d/zerotier.list
|
2019-07-25 07:06:05 +00:00
|
|
|
|
|
|
|
# Leenooks Utils
|
|
|
|
RUN apt-get update \
|
2020-05-13 12:29:53 +00:00
|
|
|
&& apt-get install -yqq zerotier-one \
|
2019-07-25 07:06:05 +00:00
|
|
|
&& apt-get -y autoremove \
|
|
|
|
&& apt-get clean \
|
|
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
|
|
|
|
# Other Utilities
|
2020-03-11 02:52:35 +00:00
|
|
|
RUN echo "deb http://deb.debian.org/debian stretch main contrib" > /etc/apt/sources.list.d/contrib.list
|
2019-07-25 07:06:05 +00:00
|
|
|
RUN apt-get update \
|
2020-08-11 01:08:17 +00:00
|
|
|
&& apt-get install -yqq dosemu \
|
2021-01-15 06:42:03 +00:00
|
|
|
&& sed -ie 's#^lredir \(.*\)/media/cdrom#rem &#' /etc/dosemu/freedos/autoexec.bat \
|
2019-07-25 07:06:05 +00:00
|
|
|
&& apt-get -y autoremove \
|
|
|
|
&& apt-get clean \
|
|
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
|
|
|
|
# Build SBBS
|
2022-05-28 03:07:54 +00:00
|
|
|
COPY 0001-Feature-main-sbbs-404-Reserve-space-up-to-tagsBuffer.patch /tmp/
|
2019-07-25 07:06:05 +00:00
|
|
|
RUN apt-get update \
|
2021-04-04 14:05:51 +00:00
|
|
|
&& apt-get install -yqq git build-essential libnspr4-dev libncurses5-dev libncursesw5-dev libarchive-dev cvs wget pkgconf libcap2-bin sudo libarchive13 \
|
2019-07-25 07:06:05 +00:00
|
|
|
&& mkdir /opt/sbbs && cd /tmp \
|
2020-09-09 14:25:25 +00:00
|
|
|
&& wget https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/install/GNUmakefile \
|
2022-05-28 03:07:54 +00:00
|
|
|
&& git clone https://gitlab.com/SynchronetBBS/sbbs.git /opt/sbbs/repo \
|
2022-05-28 03:34:33 +00:00
|
|
|
&& cd /opt/sbbs/repo && git checkout -b custom && git apply /tmp/0001-Feature-main-sbbs-404-Reserve-space-up-to-tagsBuffer.patch && cd /tmp \
|
2020-08-11 01:08:17 +00:00
|
|
|
&& make RELEASE=1 USE_DOSEMU=1 NO_X=1 SBBSDIR=/opt/sbbs install \
|
2019-07-25 07:06:05 +00:00
|
|
|
&& rm -rf /opt/sbbs/3rdp /opt/sbbs/src \
|
|
|
|
&& mv /opt/sbbs/ctrl /opt/sbbs/ctrl.orig \
|
2019-08-14 10:56:48 +00:00
|
|
|
&& mv /opt/sbbs/text /opt/sbbs/text.orig \
|
2021-01-14 21:59:35 +00:00
|
|
|
&& mv /opt/sbbs/xtrn /opt/sbbs/xtrn.orig \
|
2019-10-03 07:36:37 +00:00
|
|
|
&& mkdir /opt/sbbs/nodes.orig && mv /opt/sbbs/node[1-5] /opt/sbbs/nodes.orig \
|
2019-07-25 07:06:05 +00:00
|
|
|
&& find /opt/sbbs -name CVS -type d -exec rm -rf {} + \
|
2021-04-04 14:05:51 +00:00
|
|
|
&& SUDO_FORCE_REMOVE=yes apt-get -y purge git build-essential libnspr4-dev libncurses5-dev libarchive-dev libncursesw5-dev cvs wget pkgconf libcap2-bin sudo \
|
2020-09-09 14:25:25 +00:00
|
|
|
&& apt-get -y autoremove \
|
|
|
|
&& apt-get clean \
|
2020-09-10 01:30:09 +00:00
|
|
|
&& rm -rf /opt/sbbs/repo \
|
2020-09-09 14:25:25 +00:00
|
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
|
|
|
|
# Add PHP
|
|
|
|
RUN apt-get update \
|
|
|
|
&& apt-get install -yqq composer php-cgi php-fpm php-gd php-sqlite3 php-xml \
|
2019-07-25 07:06:05 +00:00
|
|
|
&& 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}
|
|
|
|
|
2020-06-21 04:01:30 +00:00
|
|
|
COPY start.sh ${SBBSEXEC}/
|
2021-03-16 09:59:44 +00:00
|
|
|
COPY doorparty.js ${SBBSEXEC}/
|
2020-11-23 02:32:22 +00:00
|
|
|
COPY main.cnf /opt/sbbs/ctrl.orig/
|
2020-06-21 04:01:30 +00:00
|
|
|
|
2019-08-14 10:56:48 +00:00
|
|
|
VOLUME [ "/var/lib/zerotier-one" ]
|
2021-01-13 13:45:02 +00:00
|
|
|
VOLUME [ "/opt/sbbs/data","/opt/sbbs/ctrl","/opt/sbbs/fido","/opt/sbbs/mods","/opt/sbbs/text" ]
|
2019-08-14 10:56:48 +00:00
|
|
|
|
|
|
|
COPY logrotate.d /etc/logrotate.d/
|
2019-08-14 22:58:32 +00:00
|
|
|
RUN chmod 644 /etc/logrotate.d/*
|
2019-08-14 10:56:48 +00:00
|
|
|
COPY supervisord.d /etc/supervisor/conf.d/
|
|
|
|
|
2019-07-25 07:06:05 +00:00
|
|
|
COPY init /sbin/init
|
|
|
|
ENTRYPOINT [ "/sbin/init" ]
|