Compare commits
17 Commits
armv7l
...
armv7l-ext
Author | SHA1 | Date | |
---|---|---|---|
|
1c34f69712 | ||
|
3f2647b07e | ||
|
783a69aab6 | ||
|
6bbda60a91 | ||
|
34f9a19107 | ||
|
797cb7e881 | ||
|
f5294798f1 | ||
|
f3960f26ad | ||
|
ee5714410c | ||
|
cc09d5b152 | ||
|
5edf9d6eac | ||
|
c0641ce603 | ||
|
b34e2405bb | ||
|
e87ee37e19 | ||
|
f6e894364e | ||
|
f5e253ab4c | ||
|
918f900f67 |
@ -1,3 +1,4 @@
|
||||
cleaninstall/
|
||||
.git/
|
||||
Makefile
|
||||
devel/
|
||||
|
@ -5,7 +5,7 @@ stages:
|
||||
- build
|
||||
|
||||
variables:
|
||||
VERSION: 1.12a39-${CI_COMMIT_REF_NAME}
|
||||
VERSION: 1.12a43-${CI_COMMIT_REF_NAME}
|
||||
CACHETAG: build-${CI_COMMIT_REF_NAME}
|
||||
DOCKER_HOST: tcp://docker:2375
|
||||
|
||||
@ -38,6 +38,7 @@ build:
|
||||
- docker push ${CI_REGISTRY_IMAGE}:${VERSION}
|
||||
- docker push ${CI_REGISTRY_IMAGE}:${CACHETAG}
|
||||
tags:
|
||||
- docker-armv7l
|
||||
only:
|
||||
- docker
|
||||
- armv7l
|
||||
only:
|
||||
- /^armv7l-.*/
|
||||
|
169
Dockerfile
169
Dockerfile
@ -1,31 +1,160 @@
|
||||
# NAME leenooks/mysticbbs
|
||||
# VERSION 1.12a39-armv7l
|
||||
# VERSION 1.12a43-armv7l-extras
|
||||
|
||||
FROM arm32v7/debian:jessie-slim
|
||||
# NOTE: ** WHEN UPDATING ** there may be missing files in your data directory
|
||||
# that are present in the data.tar.gz file.
|
||||
|
||||
MAINTAINER Deon George <deon@leenooks.net>
|
||||
FROM registry.leenooks.net/leenooks/mysticbbs:1.12a43-armv7l
|
||||
|
||||
# Pre-requisites
|
||||
# Makenl
|
||||
RUN apt-get update \
|
||||
&& apt-get install -yqq unzip zip curl libhunspell-dev \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/*
|
||||
&& apt-get install --no-install-recommends --allow-unauthenticated -yqq makenl \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* #1
|
||||
|
||||
# For SSH connections and Spell
|
||||
ADD libcl.so.3.4.3 /usr/lib
|
||||
RUN ln -sf libcl.so.3.4.3 /usr/lib/libcl.so
|
||||
RUN ln -sf /usr/lib/arm-linux-gnueabihf/libhunspell-1.3.so.0 /usr/lib/libhunspell.so
|
||||
## Add Mystic Mods
|
||||
# Game DBLup - Double-Up! v2.1
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=dblup21.zip && \
|
||||
cd /tmp && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
chmod 644 /tmp/*.txt /tmp/*.mps && mv /tmp/sysop.txt docs/mod-dblup-1.0-sysop.txt && \
|
||||
mv /tmp/doubleup.mps scripts/ && cd scripts && ./mplc doubleup.mps && \
|
||||
rm -rf /tmp/*
|
||||
|
||||
RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime
|
||||
# Utility BLAM - BBS List Admin Manager v2.1 with Node2BBI
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=node2bbi.zip && \
|
||||
cd /tmp && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
chmod 644 /tmp/*.txt /tmp/*.ini /tmp/*.mps && mv /tmp/sysop.txt docs/mod-blam-2.1-sysop.txt && \
|
||||
mv /tmp/fsxnetnode2bbi.txt docs/mod-blam-2.1-fsxnetnode2bbi.txt && \
|
||||
mv /tmp/gy-blam.ini docs/mod-blam-2.1-gy-blam.ini && \
|
||||
mv /tmp/gy-blam.mps scripts/ && cd scripts && ./mplc gy-blam.mps && \
|
||||
mv /tmp/node2bbi.mps . && ./mplc node2bbi.mps && \
|
||||
rm -rf /tmp/*
|
||||
|
||||
WORKDIR /mystic
|
||||
ENV mysticbbs /mystic/data
|
||||
EXPOSE 22 23 24554
|
||||
# Utility QRCODE - QR Code for Mystic BBS v1.0
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=xq-qrcode.zip && \
|
||||
cd /tmp && \
|
||||
apt-get update && \
|
||||
apt-get install --no-install-recommends -yqq qrencode && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
chmod 644 /tmp/*.txt /tmp/*.mps && mv /tmp/sysop.txt docs/mod-qrcode-1.0-sysop.txt && \
|
||||
mv /tmp/xq-qrcode.mps scripts/ && cd scripts && ./mplc xq-qrcode.mps && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/*
|
||||
|
||||
COPY init /sbin/init
|
||||
ENTRYPOINT [ "/sbin/init" ]
|
||||
CMD [ "start" ]
|
||||
# Utility MOON - Moon Phase v?
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=xq-moon.zip && \
|
||||
cd /tmp && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
chmod 644 /tmp/*.txt /tmp/scripts/*.mps /tmp/scripts/xq-moon/*.asc /tmp/scripts/xq-moon/*.ans /tmp/text/*.ans && mv /tmp/sysop.txt docs/mod-moon-0.0-sysop.txt && \
|
||||
mv /tmp/scripts/xq-moon.mps scripts/ && cd scripts && ./mplc xq-moon.mps && cd .. && \
|
||||
gunzip data.tar.gz && mkdir /tmp/data && mv /tmp/text /tmp/data && tar -C /tmp -rf /mystic/data.tar data/text/ansiviewtxt.ans && gzip data.tar && \
|
||||
mv /tmp/scripts/xq-moon scripts/ && mv scripts/xq-moon/xqmoon_rpi scripts/xq-moon/xqmoon && \
|
||||
rm -rf /tmp/*
|
||||
|
||||
ADD mystic.tar.gz /
|
||||
VOLUME ["/mystic/data"]
|
||||
# Utility USERBIRTHDAYS - Today's User Birthdays v2
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=dm-birthv2.zip && \
|
||||
cd /tmp && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
chmod 644 /tmp/*.doc /tmp/*.mps && mv /tmp/dm-birth.doc docs/mod-dmbirth-2.0-sysop.txt && \
|
||||
mv /tmp/dm-birth.mps scripts/ && cd scripts && ./mplc dm-birth.mps && \
|
||||
rm -rf /tmp/*
|
||||
|
||||
# Add Mystic Mods
|
||||
# Game MASTERMIND - Mystic Master Mind v2
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=dm-mm200.zip && \
|
||||
cd /tmp && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
chmod 644 /tmp/*.DOC /tmp/*.MPS && mv /tmp/DM-MM.DOC docs/mod-mm-2.0-sysop.txt && \
|
||||
mv /tmp/DM-MM.MPS scripts/dm-mm.mps && cd scripts && ./mplc dm-mm.mps && cd .. && \
|
||||
gunzip data.tar.gz && mkdir -p /tmp/data/text && cd /tmp/data/text && unzip /tmp/text.zip && chmod 644 * && cd /mystic/ && tar -C /tmp -rf /mystic/data.tar data/text/ && gzip data.tar && \
|
||||
rm -rf /tmp/*
|
||||
|
||||
# Utility SYSOPAVAIL - Sysop Availablity v2.0
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=dm-op4112.zip && \
|
||||
cd /tmp && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
chmod 644 /tmp/*.doc /tmp/*.mps && mv /tmp/dm-op411.doc docs/mod-op4112-2.0-sysop.txt && \
|
||||
mv /tmp/dm-op411.mps scripts/ && cd scripts && ./mplc dm-op411.mps && cd .. && \
|
||||
rm -rf /tmp/*
|
||||
|
||||
# Game REVERSI - Reversi v1.1
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=gy-rvrs10.zip && \
|
||||
cd /tmp && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
chmod 644 /tmp/*.txt /tmp/*.mps /tmp/*.ans && mv /tmp/sysop.txt docs/mod-reversi-1.0-sysop.txt && \
|
||||
mv /tmp/reversi.mps scripts/ && cd scripts && ./mplc reversi.mps && cd .. && \
|
||||
gunzip data.tar.gz && mkdir -p /tmp/data/text && mv /tmp/r*.ans /tmp/data/text/ && tar -C /tmp -rf /mystic/data.tar data/text/ && gzip data.tar && \
|
||||
rm -rf /tmp/*
|
||||
|
||||
# Utility TIMEZONE - Timezone
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=xq-timezone.zip && \
|
||||
cd /tmp && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
chmod 644 /tmp/*.txt /tmp/*.mps /tmp/xq-tz/* && mv /tmp/sysop.txt docs/mod-tz-1.0-sysop.txt && \
|
||||
mv /tmp/xq-tz.mps scripts/ && cd scripts && ./mplc xq-tz && cd .. && \
|
||||
mv /tmp/xq-tz scripts/ && \
|
||||
apt-get update && \
|
||||
apt-get install --no-install-recommends -yqq python-dateutil python-tz && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/*
|
||||
|
||||
# Game Galactic Dynasty
|
||||
RUN apt-get update \
|
||||
&& apt-get install --no-install-recommends --allow-unauthenticated -yqq galacticdynasty \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* \
|
||||
&& cd /mystic/docs && mkdir -p doors && cp -pR /var/door/galacticdynasty doors/ #0.9.8
|
||||
|
||||
# Game Murder Mansion - Murder Mansion v2.0
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=gy-mm2.zip && \
|
||||
cd /tmp && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
chmod 644 /tmp/*.txt /tmp/*.mps /tmp/*.ans /tmp/mansion.* && mv /tmp/sysop.txt docs/mod-mmansion-2.0-sysop.txt && mv /tmp/mansion.hlp docs/mod-mmansion-1.0-mansion.hlp && \
|
||||
mv /tmp/mansion.mps scripts/ && cd scripts && ./mplc mansion.mps && cd .. && \
|
||||
gunzip data.tar.gz && mkdir -p /tmp/data/text && mv /tmp/*.ans /tmp/data/text/ && \
|
||||
mkdir -p /tmp/data/data && mv /tmp/mansion.map /tmp/mansion.itm /tmp/data/data/ && tar -C /tmp -rf /mystic/data.tar data/text/ && gzip data.tar && \
|
||||
rm -rf /tmp/*
|
||||
|
||||
# Utility IBOL - Interbbs One Liner 0.4
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=gy-ibol04.zip && \
|
||||
cd /tmp && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
chmod 644 /tmp/*.txt /tmp/*.mpy /tmp/*.ans && mv /tmp/sysop.txt docs/mod-ibol-0.4-sysop.txt && \
|
||||
mv /tmp/ibol.mpy scripts/ && \
|
||||
gunzip data.tar.gz && mkdir -p /tmp/data/text && mv /tmp/ibol*.ans /tmp/data/text/ && tar -C /tmp -rf /mystic/data.tar data/text/ && gzip data.tar && \
|
||||
rm -rf /tmp/*
|
||||
|
||||
# Utility ILC - Interbbs Last Caller 1.23
|
||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=xq-ilc123.zip && \
|
||||
cd /tmp && \
|
||||
curl -O ${SOURCE_URL}/${FILE} && \
|
||||
unzip ${FILE} && \
|
||||
cd /mystic/ && \
|
||||
gunzip data.tar.gz && \
|
||||
( [ ! -d data/scripts ] && mkdir data/scripts && false ) || \
|
||||
chmod 644 /tmp/*.txt /tmp/*.mpy /tmp/xq-ilastcaller/*.ans /tmp/*.mps && mv /tmp/sysop.txt docs/mod-ilc-1.23-sysop.txt && \
|
||||
mv /tmp/xq-ilc.mps scripts/ && mv /tmp/xq-ilc_send.mps /tmp/xq-ilc_get.mpy scripts/custom/ && \
|
||||
mkdir -p /tmp/data/text && mv /tmp/xq-ilastcaller /tmp/data/text/ && \
|
||||
cd scripts && ./mplc xq-ilc && cd .. && \
|
||||
cd scripts/custom && /mystic/scripts/mplc xq-ilc_send && cd ../.. && \
|
||||
tar -C /tmp -rf /mystic/data.tar data/text/ && gzip data.tar && \
|
||||
rm -rf /tmp/*
|
||||
|
28
README.md
28
README.md
@ -61,3 +61,31 @@ If you want to monitor your container, or stop it, attach to the console with:
|
||||
docker attach ca219a461376
|
||||
|
||||
You can also run this in a swarm (I do)!
|
||||
|
||||
----
|
||||
## Info on the Images
|
||||
|
||||
### leenooks/mysticbbs:1.12a39-armv7l (Branch: armv7l)
|
||||
This image is a clean install of Mystic BBS v1.12a39. It is ready for you to configure and personalise.
|
||||
|
||||
### leenooks/mysticbbs:1.12a39-armv7l-extras (Branch: armv7l-extras)
|
||||
This image is based on the above image, with the follow additional games/tools installed. You'll need to refer to the documentation in the docs/ directory (inside the container) for details on how to configure these mods. The docs are named `mod-<NAME OF MOD>-...`
|
||||
|
||||
| Category | Name | Description | Notes |
|
||||
| :- | :- | :- | :- |
|
||||
| Game | Double Up | Double Up! for Mystic V2.1 by Darryl Perry | No special action required - refer to doc in /mystic/docs for execution. |
|
||||
| Game | Galactic Dynasty | Galactic Dynasty by Andrew Pamment, a game like Barren Realms Elite | You'll need to copy `/mystic/docs/doors/galacticdynasty` to somewhere on `/mystic/data` so that your game data is preserved between container re-deployments. Modify `start.sh` to suite your needs - refer to doc in /mystic/docs for execution. |
|
||||
| Game | Master Mind | Master Mind v2 by Dream Master | No special action required - refer to doc in /mystic/docs for execution. |
|
||||
| Game | Murder Mansion | Murder Mansion v2.0 by Darryl Perry | No special action required - refer to doc in /mystic/docs for execution. |
|
||||
| Game | Reversi | Reversi v1.0 by Darryl Perry | No special action required - refer to doc in /mystic/docs for execution. |
|
||||
| Utility | BLAM | BBS List Admin Manager for Mystic v2.0 by Darryl Perry | Refer to doc in /mystic/docs for execution. |
|
||||
| Utility | IBOL | InterBBS OneLiner 0.4 by Darryl Perry | Refer to doc in /mystic/docs for execution. |
|
||||
| Utility | ILC| InterBBS Last Caller by xqtr | Refer to doc in /mystic/docs for execution. |
|
||||
| Utility | MakeNL | Nodelist Management | Refer to the docs in `/usr/share/makenl` |
|
||||
| Utility | Moon | Display the phase of the Moon by xqtr | No special action required - refer to doc in /mystic/docs for execution. |
|
||||
| Utility | QRCode | Generate a QR Code by xqtr | No special action required - refer to doc in /mystic/docs for execution. |
|
||||
| Utility | Sysop Avail | Sysop Availability by Dream Master | No special action required - refer to doc in /mystic/docs for execution. |
|
||||
| Utility | User Bday | Users Birthdays by Dream Master | No special action required - refer to doc in /mystic/docs for execution. |
|
||||
|
||||
**NOTE:** Remember, for anything to persist in the docker container, those files needs to be stored somewhere under `/mystic/data`
|
||||
|
||||
|
@ -8,14 +8,14 @@ SPELL_SOURCE=${1:-mystic_spellcheck_v2.zip}
|
||||
[ "$1" ] && shift
|
||||
|
||||
CLEAN_INSTALL_DIR=x
|
||||
INSTALL_CONTAINER=arm32v7/debian:jessie-slim
|
||||
INSTALL_CONTAINER=arm32v7/debian:stretch-slim
|
||||
TARGET_DIR=mystic
|
||||
PATCH_FILE=mystic.112a39.patch
|
||||
|
||||
[ $(id -u) -ne 0 ] && echo "ERROR: You need to run me as root." && exit 1
|
||||
|
||||
if [ -d ${TARGET_DIR} ]; then
|
||||
echo "! Skipping installation [$TARGET_DIR} already exists"
|
||||
echo "! Skipping installation [${TARGET_DIR}] already exists"
|
||||
|
||||
else
|
||||
# 1) Download Mystic App
|
||||
@ -74,5 +74,5 @@ echo "Zipping up data dir..."
|
||||
tar czf mystic/data.tar.gz data/
|
||||
|
||||
# That dir is now ready for the image
|
||||
tar czf mystic.tar.gz mystic
|
||||
tar czf ../mystic.tar.gz mystic
|
||||
echo "OK mystic.tar.gz can be moved to your docker build"
|
||||
|
24
init
24
init
@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
NAME="Mystic BBS"
|
||||
INIT=mis
|
||||
|
||||
function stop {
|
||||
echo "Stopping ${NAME}"
|
||||
kill $(ps -Af|grep ${INIT} |grep -v grep|awk '{ print $2}')
|
||||
}
|
||||
|
||||
trap 'stop' SIGTERM
|
||||
export PATH=$PATH:/mystic
|
||||
|
||||
if [ "$1" == "start" ]; then
|
||||
# First time install - expand out our data directory
|
||||
[ $(find data|wc -l) -le 1 ] && tar xzf data.tar.gz
|
||||
|
||||
# OK, start
|
||||
exec ${INIT} server
|
||||
|
||||
else
|
||||
exec $@
|
||||
fi
|
BIN
libcl.so.3.4.3
BIN
libcl.so.3.4.3
Binary file not shown.
BIN
mystic.tar.gz
BIN
mystic.tar.gz
Binary file not shown.
Reference in New Issue
Block a user