Compare commits

..

3 Commits

Author SHA1 Message Date
Deon George
a9a02bb395 Added Game Double Up! 1.0, Utility BLAM 2.0 2018-08-27 20:49:31 +10:00
Deon George
bdf690fd89 Update to stretch 2018-08-27 20:37:42 +10:00
Deon George
1769f92719 Updates for Mystic BBS 1.12a39 on x86_64 2018-08-25 23:45:25 +10:00
9 changed files with 47 additions and 189 deletions

View File

@ -1,4 +1,3 @@
cleaninstall/ cleaninstall/
.git/ .git/
Makefile Makefile
devel/

View File

@ -5,7 +5,7 @@ stages:
- build - build
variables: variables:
VERSION: 1.12a43-${CI_COMMIT_REF_NAME} VERSION: 1.12a39-${CI_COMMIT_REF_NAME}
CACHETAG: build-${CI_COMMIT_REF_NAME} CACHETAG: build-${CI_COMMIT_REF_NAME}
DOCKER_HOST: tcp://docker:2375 DOCKER_HOST: tcp://docker:2375
@ -13,7 +13,6 @@ services:
- docker:dind - docker:dind
before_script: before_script:
- apk add curl
- docker info - docker info
- docker version - docker version
- echo "$CI_JOB_TOKEN" | docker login -u "$CI_REGISTRY_USER" "$CI_REGISTRY" --password-stdin - echo "$CI_JOB_TOKEN" | docker login -u "$CI_REGISTRY_USER" "$CI_REGISTRY" --password-stdin
@ -26,7 +25,7 @@ test:
- docker build -t ${CI_REGISTRY_IMAGE}:${VERSION} . - docker build -t ${CI_REGISTRY_IMAGE}:${VERSION} .
- docker images - docker images
tags: tags:
- docker-armv7l - docker
only: only:
- debug - debug
@ -34,13 +33,11 @@ build:
stage: build stage: build
script: script:
- if [ -f init ]; then chmod 500 init; fi - if [ -f init ]; then chmod 500 init; fi
- docker pull ${CI_REGISTRY_IMAGE}:${CACHETAG} || true # docker pull ${CI_REGISTRY_IMAGE}:${CACHETAG} || true
- docker build --cache-from ${CI_REGISTRY_IMAGE}:${CACHETAG} -t ${CI_REGISTRY_IMAGE}:${VERSION} -t ${CI_REGISTRY_IMAGE}:${CACHETAG} . - docker build --cache-from ${CI_REGISTRY_IMAGE}:${CACHETAG} -t ${CI_REGISTRY_IMAGE}:${VERSION} -t ${CI_REGISTRY_IMAGE}:${CACHETAG} .
- docker push ${CI_REGISTRY_IMAGE}:${VERSION} - docker push ${CI_REGISTRY_IMAGE}:${VERSION}
- docker push ${CI_REGISTRY_IMAGE}:${CACHETAG} # docker push ${CI_REGISTRY_IMAGE}:${CACHETAG}
- if [ -n "${TRIGGER_PIPELINE}" ]; then curl -sSX POST -F token=${TRIGGER_PIPELINE} -F ref=armv7l-extras http://dev.leenooks.net/api/v4/projects/45/trigger/pipeline > /dev/null; fi
tags: tags:
- docker - docker
- armv7l
only: only:
- armv7l - /^x86_64-.*/

View File

@ -1,52 +1,26 @@
# NAME leenooks/mysticbbs # NAME leenooks/mysticbbs
# VERSION 1.12a43 # VERSION 1.12a39-x86_64-extras
FROM debian:stretch-slim FROM registry.leenooks.net/leenooks/mysticbbs:1.12a39-x86_64
MAINTAINER Deon George <deon@leenooks.net> ## Add Mystic Mods
# Game DBLup - Double-Up! v1.0
RUN SOURCE_URL=http://yum.leenooks.net/bbs/MysticBBS/mods && FILE=DBLUP10.ZIP && \
cd /tmp && \
curl -O ${SOURCE_URL}/${FILE} && \
unzip ${FILE} && \
cd /mystic/ && \
mv /tmp/sysop.txt docs/mod-dblup-1.0-sysop.txt && \
mv /tmp/doubleup.mps scripts/ && cd scripts && ./mplc doubleup.mps && \
rm -rf /tmp/**
# Pre-requisites # Utility BLAM - BBS List Admin Manager v2.1
# + Base application requires unzip zip curl libhunspell-dev libpython2.7 RUN SOURCE_URL=http://yum.leenooks.net/bbs/MysticBBS/mods && FILE=GYBLAM21.ZIP && \
RUN apt-get update \ cd /tmp && \
&& apt-get install -yqq unzip zip curl libhunspell-dev libpython2.7 patch \ curl -O ${SOURCE_URL}/${FILE} && \
&& rm -rf /var/lib/apt/lists/* /tmp/* unzip ${FILE} && \
cd /mystic/ && \
# Add in Leenooks' apt repository mv /tmp/sysop.txt docs/mod-blam-2.1-sysop.txt && \
RUN curl -s http://apt.leenooks.net/setup.sh | sh 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 && \
# For SSH connections rm -rf /tmp/**
RUN apt-get update \
&& apt-get install --allow-unauthenticated -yqq libcl \
&& rm -rf /var/lib/apt/lists/* /tmp/*
RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime && echo 'Australia/Melbourne' > /etc/timezone
WORKDIR /mystic
ENV mysticbbs /mystic/data
EXPOSE 22 23 24554
ADD mystic.tar.gz /
VOLUME ["/mystic/data"]
# Enable custom scripts to live in the data dir
RUN ln -sf ../data/scripts /mystic/scripts/custom
# Fix temp locations
RUN ln -s data/tempftn /mystic/tempftn && ln -s data/tempmis /mystic/tempmis && ln -s data/temputil /mystic/temputil
# Add ZeroTier
RUN apt-get update \
&& apt-get install -yqq gnupg1 \
&& rm -rf /var/lib/apt/lists/* /tmp/*
RUN echo "deb http://download.zerotier.com/debian/stretch stretch main" > /etc/apt/sources.list.d/zerotier.list
COPY zt-gpg-key /tmp/
RUN apt-key add /tmp/zt-gpg-key
RUN apt-get update \
&& apt-get install -yq zerotier-one \
&& rm -rf /var/lib/apt/lists/* /tmp/*
VOLUME [ "/var/lib/zerotier-one" ]
COPY init /sbin/init
ENTRYPOINT [ "/sbin/init" ]
CMD [ "start" ]

View File

@ -19,7 +19,7 @@ To use this container:
1. Docker pull it from my registry. (Actually you can skip this step, but its worth doing it anyway!) 1. Docker pull it from my registry. (Actually you can skip this step, but its worth doing it anyway!)
docker pull registry.leenooks.net/leenooks/mysticbbs:1.12a39-armv7l docker pull registry.leenooks.net/leenooks/mysticbbs:1.12a39-x86_64
2. Create a directory to hold your BBS data. (I use */srv/docker/mystic*). 2. Create a directory to hold your BBS data. (I use */srv/docker/mystic*).
@ -27,7 +27,7 @@ To use this container:
3. Start the container. 3. Start the container.
docker run -itd -v /srv/mystic/data:/mystic/data -p 10022:22 -p 10023:23 -p 24554:24554 registry.leenooks.net/leenooks/mysticbbs:1.12a39-armv7l docker run -itd -v /srv/mystic/data:/mystic/data -p 10022:22 -p 10023:23 -p 24554:24554 registry.leenooks.net/leenooks/mysticbbs:1.12a39-x86_64
Explanation of these parameters: Explanation of these parameters:
@ -63,5 +63,16 @@ If you want to monitor your container, or stop it, attach to the console with:
You can also run this in a swarm (I do)! You can also run this in a swarm (I do)!
---- ----
## Extras Container ## Info on the Images
There is an "extras" container with some additional MysticBBS mods pre-installed. You'll find info on that in the [armv7l-extras](https://dev.leenooks.net/leenooks/mysticbbs/blob/armv7l-extras/README.md#info-on-the-images) branch.
### 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 |
| :- | :- | :- |
| Game | Double Up | Double Up! for Mystic V1.0 by Darryl Perry |
| Utility | BLAM | BBS List Admin Manager for Mystic v2.0 by Darryl Perry |

View File

@ -2,3 +2,4 @@ data
mystic mystic
mods mods
*.zip *.zip
*.rar

View File

@ -2,7 +2,7 @@
set -e set -e
MYSTIC_SOURCE=${1:-mys112a42_pi.zip} MYSTIC_SOURCE=${1:-mys112a39_l64.rar}
[ "$1" ] && shift [ "$1" ] && shift
SPELL_SOURCE=${1:-mystic_spellcheck_v2.zip} SPELL_SOURCE=${1:-mystic_spellcheck_v2.zip}
[ "$1" ] && shift [ "$1" ] && shift
@ -24,9 +24,8 @@ else
# 2) Create a new directory for it and unzip the App into it # 2) Create a new directory for it and unzip the App into it
[ -d ${CLEAN_INSTALL_DIR} ] && echo "ERROR: Directory [${CLEAN_INSTALL_DIR}] already exists!" && exit 1 [ -d ${CLEAN_INSTALL_DIR} ] && echo "ERROR: Directory [${CLEAN_INSTALL_DIR}] already exists!" && exit 1
unzip ${MYSTIC_SOURCE} -d ${CLEAN_INSTALL_DIR} mkdir ${CLEAN_INSTALL_DIR}; cd ${CLEAN_INSTALL_DIR}; unrar x ../${MYSTIC_SOURCE}; cd ..
chmod +x ${CLEAN_INSTALL_DIR}/install [ $? -gt 0 ] && echo "ERROR: Unrar failed?" && exit 1
[ $? -gt 0 ] && echo "ERROR: Unzip failed?" && exit 1
# 3) Run docker with -v mapping the unzip files to an arbitrary directory -v unzipfiles:/install # 3) Run docker with -v mapping the unzip files to an arbitrary directory -v unzipfiles:/install
# ** @TODO Request upstream to default QWK and Echo DIRs to named dir as well during installation # ** @TODO Request upstream to default QWK and Echo DIRs to named dir as well during installation
@ -63,9 +62,6 @@ else
# Clean up data dir # Clean up data dir
find data -type f -exec chmod 644 {} \; find data -type f -exec chmod 644 {} \;
# Create our temp dirs
mkdir data/tempftn data/tempmis data/temputil
# Finished # Finished
mv data ../.. mv data ../..
cd ../.. cd ../..

70
init
View File

@ -2,7 +2,6 @@
set -e set -e
NAME="Mystic BBS" NAME="Mystic BBS"
VERSION="A43"
INIT=mis INIT=mis
function stop { function stop {
@ -15,74 +14,7 @@ export PATH=$PATH:/mystic
if [ "$1" == "start" ]; then if [ "$1" == "start" ]; then
# First time install - expand out our data directory # First time install - expand out our data directory
if [ $(find data|wc -l) -le 1 ]; then [ $(find data|wc -l) -le 1 ] && tar xzf data.tar.gz
echo "** First time install, deploying sample setup"
tar xzf data.tar.gz
echo ${VERSION} > .version
# We need to upgrade
else
OLD_VERSION=$(cat data/.version)
echo "** Upgrading [${OLD_VERSION}]"
case ${OLD_VERSION} in
A39)
echo "Processing data/default.txt"
set -x
[ ! -d data/upgrade/${VERSION}/${OLD_VERSION} ] && mkdir -p data/upgrade/${VERSION}/${OLD_VERSION}
cd data/upgrade/${VERSION}/${OLD_VERSION}
[ -d data ] && rm -rf data
tar xzf /mystic/data.tar.gz
cd /mystic/data
diff -u data/default.txt upgrade/${VERSION}/${OLD_VERSION}/data/data/default.txt > upgrade/${VERSION}/${OLD_VERSION}/default.txt.patch && echo $?
if [ -s upgrade/${VERSION}/${OLD_VERSION}/default.txt.patch ]; then
patch -p 0 < upgrade/${VERSION}/${OLD_VERSION}/default.txt.patch
echo "! Check upgrade/${VERSION}/${OLD_VERSION}/default.txt.patch for an strings that may have been overwritten..."
else
rm -f upgrade/${VERSION}/${OLD_VERSION}/default.txt.patch
fi
for i in msg_index.ini msg_index.ans msg_index_help.ans; do
cp upgrade/${VERSION}/${OLD_VERSION}/data/text/$i text/
done
cp upgrade/${VERSION}/${OLD_VERSION}/data/data/cfgroot4.ans data/
../upgrade
cd ../scripts
./mplc -all
cd ../data
rm -rf upgrade/${VERSION}/${OLD_VERSION}/data
echo A42 > .version
;;
A42)
set -x
[ ! -d data/upgrade/${VERSION}/${OLD_VERSION} ] && mkdir -p data/upgrade/${VERSION}/${OLD_VERSION}
cd data/upgrade/${VERSION}/${OLD_VERSION}
[ -d data ] && rm -rf data
tar xzf /mystic/data.tar.gz
cd /mystic/data
for i in text/userchat.ans text/userchat.ini; do
cp upgrade/${VERSION}/${OLD_VERSION}/data/$i ./$i
done
diff -ur text/ upgrade/${VERSION}/${OLD_VERSION}/data/text/ > upgrade/${VERSION}/${OLD_VERSION}/text.patch || true
rm -rf upgrade/${VERSION}/${OLD_VERSION}/data
echo A43 > .version
;;
A43) echo "Already up to date!" ;;
*) echo "!! Dont know how to upgrade" && exit 1
esac
fi
if [ -x /usr/sbin/zerotier-one -a -n "${ENABLE_ZT}" ]; then
echo "** Starting ZeroTier"
mkdir /dev/net && mknod /dev/net/tun -m 666 c 10 200
/usr/sbin/zerotier-one -d
fi
# OK, start # OK, start
exec ${INIT} server exec ${INIT} server

Binary file not shown.

View File

@ -1,52 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: GPGTools - https://gpgtools.org
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
=JgAv
-----END PGP PUBLIC KEY BLOCK-----