source /surgio/env.sh && nohup node gw.js > /surgio/nohup.out 2>&1 &
echo $! > /surgio/app.pid && tail -f /surgio/nohup.out
for pid in `cat /surgio/app.pid`
do
kill -9 $pid
done
sh /surgio/stop.sh
sleep 1s
sh /surgio/start.sh
version : '3.6'
services:
surgio:
image: lowking/surgio
container_name: surgio
restart: always
volumes:
- /home/lowking/surgio:/surgio
tty: true
ports:
- "8889:8889"
environment:
- KEY=-----BEGIN OPENSSH PRIVATE KEY-----\nb3BlbnNzaCYXBwbGVAaHRjJ3M=\n-----END OPENSSH PRIVATE KEY-----
- REPO_URL=your repo url
- REPO_DOMAIN=repo domain
- REPO_BRANCH=master
surgio-ck:
image: lowking/surgio
container_name: surgio-ck
restart: always
volumes:
- /home/lowking/surgio-ck:/surgio
tty: true
ports:
- "8899:8899"
environment:
- KEY=-----BEGIN OPENSSH PRIVATE KEY-----\nb3BlbnNzaCYXBwbGVAaHRjJ3M=\n-----END OPENSSH PRIVATE KEY-----
- REPO_URL=your repo url
- REPO_DOMAIN=repo domain
- REPO_BRANCH=ck
#!/bin/sh
set -e
targetBranch=$1
if [ -n "$REPO_BRANCH" ]; then
targetBranch="$REPO_BRANCH"
fi
if [ -z "$targetBranch" ]; then
targetBranch="master"
fi
echo -e "$KEY" >/root/.ssh/id_rsa
chmod 600 /root/.ssh/id_rsa
cloneRepo() {
repoName=$1
repoUrl=$2
branchName=$3
if [ ! -d "/${repoName}/.git" ]; then
echo "█未检查到${repoName}仓库,clone..."
git clone "${repoUrl}" /"${repoName}"
git -C "/${repoName}" fetch --all
git -C "/${repoName}" checkout "${branchName}"
else
echo "█更新${repoName}仓库..."
git -C "/${repoName}" fetch --all
git -C "/${repoName}" checkout "${branchName}"
git -C "/${repoName}" reset --hard origin/"${branchName}"
git -C "/${repoName}" pull origin "${branchName}" --rebase
fi
}
ssh-keyscan "$REPO_DOMAIN" >/root/.ssh/known_hosts
cloneRepo surgio "$REPO_URL" "$targetBranch"
cp -f ./docker-entrypoint.sh /usr/local/bin
cp -f ./surgio-id-rsa /root/.ssh/id_rsa
npm config delete registry
npm config set registry http://registry.npmjs.org
npm install
sh start.sh
FROM alpine
LABEL AUTHOR="lowking" \
VERSION=0.1
ENV PATH=/usr/local/bin:$PATH LANG=C.UTF-8
RUN set -ex \
&& apk update \
&& apk upgrade \
&& apk add --no-cache bash tzdata git moreutils curl jq openssh-client npm \
&& rm -rf /var/cache/apk/* \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& mkdir -p /root/.ssh \
&& npm config set registry https://registry.npm.taobao.org
COPY ./docker-entrypoint.sh /usr/local/bin
RUN set -ex \
chmod 600 /root/.ssh/id_rsa
WORKDIR /surgio
CMD ["master"]
ENTRYPOINT ["docker-entrypoint.sh"]
Content type
Image
Digest
Size
51.2 MB
Last updated
over 4 years ago
docker pull lowking/surgio