Compare commits
21 Commits
armv7l-ext
...
armv7l
Author | SHA1 | Date | |
---|---|---|---|
|
32c5348864 | ||
|
a614fcadf9 | ||
|
739f9a75bc | ||
|
219697e2d1 | ||
|
c8c5cbcd6c | ||
|
f16644ac15 | ||
|
dbd8bc3a99 | ||
|
48cf62dd15 | ||
|
cf18917a39 | ||
|
bde5de7730 | ||
|
03851190a2 | ||
|
99dbc6b4b6 | ||
|
cb74c9599b | ||
|
abe95e8fd8 | ||
|
f22ef035cc | ||
|
25fb0567df | ||
|
b0f48263aa | ||
|
3f4890970a | ||
|
fa04bef3de | ||
|
3e961b585e | ||
|
e10ec279d6 |
@ -13,6 +13,7 @@ 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
|
||||||
@ -37,8 +38,9 @@ build:
|
|||||||
- 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
|
- armv7l
|
||||||
only:
|
only:
|
||||||
- /^armv7l-.*/
|
- armv7l
|
||||||
|
190
Dockerfile
190
Dockerfile
@ -1,160 +1,52 @@
|
|||||||
# NAME leenooks/mysticbbs
|
# NAME leenooks/mysticbbs
|
||||||
# VERSION 1.12a43-armv7l-extras
|
# VERSION 1.12a43
|
||||||
|
|
||||||
# NOTE: ** WHEN UPDATING ** there may be missing files in your data directory
|
FROM debian:stretch-slim
|
||||||
# that are present in the data.tar.gz file.
|
|
||||||
|
|
||||||
FROM registry.leenooks.net/leenooks/mysticbbs:1.12a43-armv7l
|
MAINTAINER Deon George <deon@leenooks.net>
|
||||||
|
|
||||||
# Makenl
|
# Pre-requisites
|
||||||
|
# + Base application requires unzip zip curl libhunspell-dev libpython2.7
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install --no-install-recommends --allow-unauthenticated -yqq makenl \
|
&& apt-get install -yqq unzip zip curl libhunspell-dev libpython2.7 patch \
|
||||||
&& rm -rf /var/lib/apt/lists/* /tmp/* #1
|
&& rm -rf /var/lib/apt/lists/* /tmp/*
|
||||||
|
|
||||||
## Add Mystic Mods
|
# Add in Leenooks' apt repository
|
||||||
# Game DBLup - Double-Up! v2.1
|
RUN curl -s http://apt.leenooks.net/setup.sh | sh
|
||||||
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/*
|
|
||||||
|
|
||||||
# Utility BLAM - BBS List Admin Manager v2.1 with Node2BBI
|
# For SSH connections
|
||||||
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/*
|
|
||||||
|
|
||||||
# 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/*
|
|
||||||
|
|
||||||
# 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/*
|
|
||||||
|
|
||||||
# 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/*
|
|
||||||
|
|
||||||
# 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 \
|
RUN apt-get update \
|
||||||
&& apt-get install --no-install-recommends --allow-unauthenticated -yqq galacticdynasty \
|
&& apt-get install --allow-unauthenticated -yqq libcl \
|
||||||
&& rm -rf /var/lib/apt/lists/* /tmp/* \
|
&& 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 ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime && echo 'Australia/Melbourne' > /etc/timezone
|
||||||
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
|
WORKDIR /mystic
|
||||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=gy-ibol04.zip && \
|
ENV mysticbbs /mystic/data
|
||||||
cd /tmp && \
|
EXPOSE 22 23 24554
|
||||||
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
|
ADD mystic.tar.gz /
|
||||||
RUN SOURCE_URL=https://chinwag.leenooks.net/bbs/mystic/mods && FILE=xq-ilc123.zip && \
|
VOLUME ["/mystic/data"]
|
||||||
cd /tmp && \
|
|
||||||
curl -O ${SOURCE_URL}/${FILE} && \
|
# Enable custom scripts to live in the data dir
|
||||||
unzip ${FILE} && \
|
RUN ln -sf ../data/scripts /mystic/scripts/custom
|
||||||
cd /mystic/ && \
|
|
||||||
gunzip data.tar.gz && \
|
# Fix temp locations
|
||||||
( [ ! -d data/scripts ] && mkdir data/scripts && false ) || \
|
RUN ln -s data/tempftn /mystic/tempftn && ln -s data/tempmis /mystic/tempmis && ln -s data/temputil /mystic/temputil
|
||||||
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/ && \
|
# Add ZeroTier
|
||||||
mkdir -p /tmp/data/text && mv /tmp/xq-ilastcaller /tmp/data/text/ && \
|
RUN apt-get update \
|
||||||
cd scripts && ./mplc xq-ilc && cd .. && \
|
&& apt-get install -yqq gnupg1 \
|
||||||
cd scripts/custom && /mystic/scripts/mplc xq-ilc_send && cd ../.. && \
|
&& rm -rf /var/lib/apt/lists/* /tmp/*
|
||||||
tar -C /tmp -rf /mystic/data.tar data/text/ && gzip data.tar && \
|
RUN echo "deb http://download.zerotier.com/debian/stretch stretch main" > /etc/apt/sources.list.d/zerotier.list
|
||||||
rm -rf /tmp/*
|
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" ]
|
||||||
|
28
README.md
28
README.md
@ -63,29 +63,5 @@ 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)!
|
||||||
|
|
||||||
----
|
----
|
||||||
## Info on the Images
|
## Extras Container
|
||||||
|
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 | 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`
|
|
||||||
|
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
MYSTIC_SOURCE=${1:-mys112a39_pi.zip}
|
MYSTIC_SOURCE=${1:-mys112a42_pi.zip}
|
||||||
[ "$1" ] && shift
|
[ "$1" ] && shift
|
||||||
SPELL_SOURCE=${1:-mystic_spellcheck_v2.zip}
|
SPELL_SOURCE=${1:-mystic_spellcheck_v2.zip}
|
||||||
[ "$1" ] && shift
|
[ "$1" ] && shift
|
||||||
|
|
||||||
CLEAN_INSTALL_DIR=x
|
CLEAN_INSTALL_DIR=x
|
||||||
INSTALL_CONTAINER=arm32v7/debian:stretch-slim
|
INSTALL_CONTAINER=debian:stretch-slim
|
||||||
TARGET_DIR=mystic
|
TARGET_DIR=mystic
|
||||||
PATCH_FILE=mystic.112a39.patch
|
PATCH_FILE=mystic.112a39.patch
|
||||||
|
|
||||||
@ -25,6 +25,7 @@ else
|
|||||||
[ -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}
|
unzip ${MYSTIC_SOURCE} -d ${CLEAN_INSTALL_DIR}
|
||||||
|
chmod +x ${CLEAN_INSTALL_DIR}/install
|
||||||
[ $? -gt 0 ] && echo "ERROR: Unzip 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
|
||||||
@ -62,6 +63,9 @@ 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 ../..
|
||||||
|
92
init
Executable file
92
init
Executable file
@ -0,0 +1,92 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
NAME="Mystic BBS"
|
||||||
|
VERSION="A43"
|
||||||
|
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
|
||||||
|
if [ $(find data|wc -l) -le 1 ]; then
|
||||||
|
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
|
||||||
|
exec ${INIT} server
|
||||||
|
|
||||||
|
else
|
||||||
|
exec $@
|
||||||
|
fi
|
BIN
mystic.tar.gz
Normal file
BIN
mystic.tar.gz
Normal file
Binary file not shown.
52
zt-gpg-key
Normal file
52
zt-gpg-key
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Comment: GPGTools - https://gpgtools.org
|
||||||
|
|
||||||
|
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
|
||||||
|
=JgAv
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
Reference in New Issue
Block a user