-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile
67 lines (52 loc) · 2.02 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
FROM ubuntu:19.10
MAINTAINER dashie <dashie@otter.sh>
ARG VERSION=317b
ENV SBBS_UID=1000
ENV SBBS_GID=1000
ENV SBBS_INIT_NODES=6
# Do not touch
ENV DEBIAN_FRONTEND noninteractive
ENV INITRD No
ENV SBBSCTRL /home/synchronet/sbbs/ctrl
ENV TERM dumb
LABEL org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.build-date=$BUILD_DATE
# Patches
ADD ./wipremove.patch /tmp/wipremove.patch
# Install prerequisites
RUN apt update && \
apt install -y --no-install-recommends --fix-missing build-essential cvs wget libnspr4-dev libncurses5-dev liblhasa-dev && \
apt install -y --no-install-recommends --fix-missing unzip zip python perl dosemu pkg-config libnspr4 gosu
# Install SynchroNet
RUN groupadd -r -g $SBBS_GID synchronet && useradd --no-log-init -r -u $SBBS_UID -g synchronet -d /home/synchronet -m synchronet
USER synchronet
RUN mkdir -p /home/synchronet/sbbs/data && cd /home/synchronet/sbbs && \
wget ftp://vert.synchro.net/Synchronet/srun$VERSION.tgz && \
wget ftp://vert.synchro.net/Synchronet/ssrc$VERSION.tgz && \
tar xzf ssrc$VERSION.tgz && \
tar xzf srun$VERSION.tgz && \
patch -p0 < /tmp/wipremove.patch && \
cd /home/synchronet/sbbs/src/sbbs3 && make USEDOSEMU=1 RELEASE=1 && \
cd /home/synchronet/sbbs/xtrn/sbj && make && \
cd /home/synchronet/sbbs/exec && \
ln -s ../src/sbbs3/gcc.*.exe.release/* . && \
ln -s ../src/sbbs3/*/gcc.*.exe.release/* . && \
make
# Some default config
RUN echo "PATH=\$PATH:/home/synchronet/sbbs/exec" >> /home/synchronet/.bashrc && \
mv /home/synchronet/sbbs/ctrl /home/synchronet/sbbs/ctrl-base && \
mv /home/synchronet/sbbs/text /home/synchronet/sbbs/text-base
ADD ./entrypoint.sh /
# Cleaning
USER root
RUN apt remove -y build-essential cvs wget libnspr4-dev libncurses5-dev && \
apt autoremove -y && \
apt clean && \
rm -f /tmp/wipremove.patch && \
chown -R synchronet: /home/synchronet
VOLUME /home/synchronet/sbbs/data
VOLUME /home/synchronet/sbbs/ctrl
VOLUME /home/synchronet/sbbs/text
ENTRYPOINT ["/entrypoint.sh"]
CMD ["/home/synchronet/sbbs/exec/sbbs"]
WORKDIR /home/synchronet/sbbs