Added brook.sh

This commit is contained in:
Teddysun 2020-02-19 21:39:43 +09:00
parent 5c1fca46e2
commit 0a85587a89
No known key found for this signature in database
GPG Key ID: 09BD4C080AD6C46D
3 changed files with 69 additions and 12 deletions

View File

@ -1,17 +1,20 @@
# Dockerfile for Brook based alpine
# Copyright (C) 2019 Teddysun <i@teddysun.com>
# Copyright (C) 2019 - 2020 Teddysun <i@teddysun.com>
# Reference URL:
# https://github.com/txthinking/brook
FROM golang:alpine as builder
RUN set -ex && apk add --update git \
&& go get -u -v github.com/txthinking/brook/cli/brook
FROM alpine:latest
LABEL maintainer="Teddysun <i@teddysun.com>"
COPY --from=builder /go/bin/brook /usr/bin
WORKDIR /root
COPY brook.sh /root/brook.sh
RUN set -ex \
&& apk add --no-cache tzdata \
&& chmod +x /root/brook.sh \
&& /root/brook.sh \
&& rm -fv /root/brook.sh
ENV TZ=Asia/Shanghai
ENV ARGS="server -l :9000 -p password0"
CMD brook $ARGS

View File

@ -3,15 +3,19 @@
# Reference URL:
# https://github.com/txthinking/brook
FROM --platform=$TARGETPLATFORM golang:alpine as builder
RUN set -ex && apk add --update git \
&& go get -u -v github.com/txthinking/brook/cli/brook
FROM --platform=$TARGETPLATFORM alpine:latest
FROM --platform=${TARGETPLATFORM} alpine:latest
LABEL maintainer="Teddysun <i@teddysun.com>"
COPY --from=builder /go/bin/brook /usr/bin
ARG TARGETPLATFORM
WORKDIR /root
COPY brook.sh /root/brook.sh
RUN set -ex \
&& apk add --no-cache tzdata \
&& chmod +x /root/brook.sh \
&& /root/brook.sh "${TARGETPLATFORM}" \
&& rm -fv /root/brook.sh
ENV TZ=Asia/Shanghai
ENV ARGS="server -l :9000 -p password0"
CMD brook $ARGS

50
docker/brook/brook.sh Normal file
View File

@ -0,0 +1,50 @@
#!/bin/sh
#
# This is a Shell script for brook based alpine with Docker image
#
# Copyright (C) 2019 - 2020 Teddysun <i@teddysun.com>
#
# Reference URL:
# https://github.com/txthinking/brook
PLATFORM=$1
if [ -z "$PLATFORM" ]; then
ARCH="amd64"
else
case "$PLATFORM" in
linux/386)
ARCH="386"
;;
linux/amd64)
ARCH="amd64"
;;
linux/arm/v6)
ARCH="arm6"
;;
linux/arm/v7)
ARCH="arm7"
;;
linux/arm64|linux/arm64/v8)
ARCH="arm64"
;;
linux/ppc64le)
ARCH="ppc64le"
;;
linux/s390x)
ARCH="s390x"
;;
*)
ARCH=""
;;
esac
fi
[ -z "${ARCH}" ] && echo "Error: Not supported OS Architecture" && exit 1
# Download binary file
BROOK_FILE="brook_linux_${ARCH}"
echo "Downloading binary file: ${BROOK_FILE}"
wget -O /usr/bin/brook https://dl.lamp.sh/files/${BROOK_FILE} > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Error: Failed to download binary file: ${BROOK_FILE}" && exit 1
fi
chmod +x /usr/bin/brook
echo "Download binary file: ${BROOK_FILE} completed"