diff --git a/Dockerfile b/Dockerfile index 929fe22..1f6405b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,6 +44,36 @@ RUN apt-get update \ && rm -rf /opt/sbbs/repo \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +# Add Doorparty +RUN apt-get update \ + && apt-get install -yqq golang git \ + && cd /tmp && git clone https://github.com/echicken/dpc2 \ + && cd dpc2 && echo -n 'ZGlmZiAtLWdpdCBhL2Rvb3JwYXJ0eS1jb25uZWN0b3IuZ28gYi9kb29ycGFydHktY29ubmVjdG9y\ +LmdvCmluZGV4IDE4NzNhZTUuLjc3NmFhOGUgMTAwNjQ0Ci0tLSBhL2Rvb3JwYXJ0eS1jb25uZWN0\ +b3IuZ28KKysrIGIvZG9vcnBhcnR5LWNvbm5lY3Rvci5nbwpAQCAtMTMyLDcgKzEzMiw3IEBAIGZ1\ +bmMgaW5pdCgpIHsKIAogZnVuYyBtYWluKCkgewogCi0JY2ZnLCBlcnIgOj0gaW5pLkxvYWQoImRv\ +b3JwYXJ0eS1jb25uZWN0b3IuaW5pIikKKwljZmcsIGVyciA6PSBpbmkuTG9hZCgiL29wdC9zYmJz\ +L2N0cmwvZG9vcnBhcnR5LWNvbm5lY3Rvci5pbmkiKQogCWlmIGVyciAhPSBuaWwgewogCQlsb2cu\ +RmF0YWxmKCJFcnJvciByZWFkaW5nIGRvb3JwYXJ0eS1jb25uZWN0b3IuaW5pOiAldiIsIGVycikK\ +IAl9Cg=='|base64 -d |git apply \ + && go get gopkg.in/ini.v1 \ + && go get golang.org/x/crypto/ssh \ + && go build -i doorparty-connector.go \ + && echo -n 'LS0tIC9zcnYvZG9ja2VyL3NiYnMvbW9kcy9kb29ycGFydHkuanMJMjAyMS0wMS0xMyAyMjozNTox\ +Ni4wNzQyNzk2MDggKzExMDAKKysrIC4vc3luY2hyb25ldC9kb29ycGFydHkuanMJMjAyMS0wMS0x\ +MyAyMzoyMjoyMi44MzgwNjU4MzIgKzExMDAKQEAgLTMzLDcgKzMzLDcgQEAKICAgICAoY2ZnLnR1\ +bm5lbF9ob3N0IHx8ICdsb2NhbGhvc3QnKSArICc6JyArIChjZmcudHVubmVsX3BvcnQgfHwgOTk5\ +OSksCiAgICAgZ2V0X3Bhc3N3b3JkKCksIC8vIHBhc3N3b3JkCiAgICAgdXNlci5hbGlhcywKLSAg\ +ICBhcmd2Lmxlbmd0aCA/IGFyZ3ZbMF0gOiB1bmRlZmluZWQKKyAgICBhcmd2Lmxlbmd0aCA/ICd4\ +dHJuPScrYXJndlswXSA6IHVuZGVmaW5lZAogKTsKIAogY29uc29sZS5hdHRyaWJ1dGVzID0gYXR0\ +cjsK'|base64 -d |git apply \ + && mv doorparty-connector synchronet/doorparty.js /opt/sbbs/exec \ + && mv doorparty-connector.ini /opt/sbbs/ctrl.orig \ + && apt-get -y purge golang git \ + && apt-get -y autoremove \ + && apt-get clean \ + && 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 \ @@ -57,10 +87,11 @@ ENV SBBSEXEC=/opt/sbbs/exec ENV PATH=$PATH:${SBBSEXEC} COPY start.sh ${SBBSEXEC}/ +COPY doorparty.sh ${SBBSEXEC}/ COPY main.cnf /opt/sbbs/ctrl.orig/ VOLUME [ "/var/lib/zerotier-one" ] -VOLUME [ "/opt/sbbs/data","/opt/sbbs/ctrl","/opt/sbbs/fido","/opt/sbbs/text" ] +VOLUME [ "/opt/sbbs/data","/opt/sbbs/ctrl","/opt/sbbs/fido","/opt/sbbs/mods","/opt/sbbs/text" ] COPY logrotate.d /etc/logrotate.d/ RUN chmod 644 /etc/logrotate.d/* diff --git a/init b/init index 7980bbe..f77bb46 100755 --- a/init +++ b/init @@ -11,6 +11,7 @@ if [ ! -e "${SBBSCTRL}/sbbs.ini" ]; then fi if [ ! -d "${SBBSCTRL}/../nodes/node1" ]; then + [ ! -d "${SBBSCTRL}/../nodes" ] && mkdir ${SBBSCTRL}/../nodes echo "* Installing SBBS nodes files into ${SBBSCTRL}/../nodes" cp -Ra ${SBBSCTRL}/../nodes.orig/* ${SBBSCTRL}/../nodes/ fi diff --git a/supervisord.d/doorparty.conf b/supervisord.d/doorparty.conf new file mode 100644 index 0000000..cdb6fa0 --- /dev/null +++ b/supervisord.d/doorparty.conf @@ -0,0 +1,3 @@ +[program:doorparty] +command=/opt/sbbs/exec/doorparty-connector +stopwaitsecs=60