# NAME leenooks/sbbs # VERSION latest FROM debian:bullseye-slim # Base utilities RUN apt-get update \ && apt-get install -yqq curl supervisor procps less zip unzip arj unrar-free lhasa arc logrotate cron \ && apt-get -y autoremove \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* # Set the default timezone for the container RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime # Other Utilities #RUN echo "deb http://deb.debian.org/debian stretch main contrib" > /etc/apt/sources.list.d/contrib.list #RUN apt-get update \ # && apt-get install -yqq dosemu \ # && sed -ie 's#^lredir \(.*\)/media/cdrom#rem &#' /etc/dosemu/freedos/autoexec.bat \ # && 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 git build-essential autoconf2.13 libnspr4-dev libncurses5-dev libncursesw5-dev libarchive-dev wget python2.7 pkgconf libcap2-bin sudo libarchive13 libnspr4 \ && mkdir /opt/sbbs && cd /tmp \ && wget https://gitlab.synchro.net/sbbs/sbbs/-/raw/master/install/GNUmakefile \ && git clone https://gitlab.com/SynchronetBBS/sbbs.git /opt/sbbs/repo \ && cd /tmp \ && make RELEASE=1 NO_X=1 SBBSDIR=/opt/sbbs install \ && rm -rf /opt/sbbs/3rdp /opt/sbbs/src \ && mv /opt/sbbs/ctrl /opt/sbbs/ctrl.orig \ && mv /opt/sbbs/text /opt/sbbs/text.orig \ && mv /opt/sbbs/xtrn /opt/sbbs/xtrn.orig \ && mv /opt/sbbs/web /opt/sbbs/web.orig \ && mkdir /opt/sbbs/nodes.orig && mv /opt/sbbs/node[1-5] /opt/sbbs/nodes.orig \ && find /opt/sbbs -name CVS -type d -exec rm -rf {} + \ && SUDO_FORCE_REMOVE=yes apt-get -y purge git build-essential autoconf2.13 libnspr4-dev libncurses5-dev libarchive-dev libncursesw5-dev wget pkgconf libcap2-bin sudo \ && apt-get -y autoremove \ && apt-get clean \ && rm -rf /opt/sbbs/repo \ && 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 \ && 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 start.sh ${SBBSEXEC}/ COPY doorparty.js ${SBBSEXEC}/ COPY main.cnf /opt/sbbs/ctrl.orig/ VOLUME [ "/opt/sbbs/data","/opt/sbbs/ctrl","/opt/sbbs/fido","/opt/sbbs/mods","/opt/sbbs/text","/opt/sbbs/web" ] COPY logrotate.d /etc/logrotate.d/ RUN chmod 644 /etc/logrotate.d/* COPY supervisord.d /etc/supervisor/conf.d/ COPY init /sbin/init ENTRYPOINT [ "/sbin/init" ] # Our ndoes are in ../nodes/node[0-9] RUN sed -i -e 's#=../node\([0-9]\+\)/#=../nodes/node\1/#' /opt/sbbs/ctrl.orig/main.ini