Compare commits
2 Commits
21b21ce73c
...
gitea-work
Author | SHA1 | Date | |
---|---|---|---|
fd64e8f816 | |||
f71e8a6fcc |
34
Dockerfile
34
Dockerfile
@@ -1,23 +1,23 @@
|
||||
FROM node:lts-slim AS base
|
||||
|
||||
RUN npm install -g holesail@2.1.0
|
||||
|
||||
FROM base AS dev
|
||||
|
||||
WORKDIR /
|
||||
WORKDIR /temp
|
||||
COPY run.sh .
|
||||
COPY fetch-my-mc-connector.js .
|
||||
RUN chmod +x run.sh
|
||||
|
||||
ENV MODE=server
|
||||
ENV HOST=0.0.0.0
|
||||
ENV PORT=8989
|
||||
ENV PUBLIC=true
|
||||
ENV USERNAME=admin
|
||||
ENV PASSWORD=admin
|
||||
ENV ROLE=user
|
||||
ENV KEY=""
|
||||
ENV MY_MC_API_KEY=""
|
||||
#ENV FORCE ""
|
||||
RUN npm install -g holesail@1.10.1
|
||||
|
||||
CMD [ "/usr/bin/bash", "/run.sh" ]
|
||||
ENV MODE server
|
||||
ENV HOST 0.0.0.0
|
||||
ENV PORT 8989
|
||||
ENV PUBLIC true
|
||||
ENV USERNAME admin
|
||||
ENV PASSWORD admin
|
||||
ENV ROLE user
|
||||
ENV CONNECTOR ""
|
||||
ENV FORCE ""
|
||||
|
||||
#EXPOSE 8989
|
||||
|
||||
WORKDIR /data
|
||||
|
||||
ENTRYPOINT [ "/temp/run.sh" ]
|
||||
|
@@ -1,17 +0,0 @@
|
||||
const apiKey = process.env.MY_MC_API_KEY;
|
||||
|
||||
const result = fetch('https://api.my-mc.link/my-hash',{
|
||||
method: "GET",
|
||||
headers: {
|
||||
'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': apiKey}
|
||||
})
|
||||
.then(async response => {
|
||||
const r = await response.json();
|
||||
if (r.success == true) {
|
||||
console.log(r.message);
|
||||
} else {
|
||||
throw new Error("failed to fetch holesail key");
|
||||
}
|
||||
}).catch(err => {
|
||||
throw Error(err);
|
||||
})
|
51
run.sh
51
run.sh
@@ -1,9 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
#set -x
|
||||
|
||||
pid=0
|
||||
|
||||
CYAN="\033[1;96m"
|
||||
RED="\033[0;91m"
|
||||
GREEN="\033[0;92m"
|
||||
@@ -25,26 +21,20 @@ success() {
|
||||
print "$GREEN" "$1"
|
||||
}
|
||||
|
||||
get_connector_my_mc() {
|
||||
KEY="$(/usr/local/bin/node /fetch-my-mc-connector.js)"
|
||||
}
|
||||
|
||||
cmd_argument_builder () {
|
||||
local args="";
|
||||
case "$MODE" in
|
||||
"client")
|
||||
[[ "$PORT" ]] && args="$args --port $PORT";
|
||||
[[ "$HOST" ]] && args="$args --host $HOST";
|
||||
[[ "$KEY" ]] && args="$args $KEY";
|
||||
[[ "$UDP" = "true" ]] && args="$args --udp";
|
||||
[[ "$CONNECTOR" ]] && args="$args $CONNECTOR";
|
||||
;;
|
||||
"server")
|
||||
[[ "$PORT" ]] && args="$args --live $PORT";
|
||||
[[ "$HOST" ]] && args="$args --host $HOST";
|
||||
[[ "$PUBLIC" = "true" ]] && args="$args --public";
|
||||
[[ "$FORCE" = "true" ]] && args="$args --force";
|
||||
[[ "$KEY" ]] && args="$args --key $KEY";
|
||||
[[ "$UDP" = "true" ]] && args="$args --udp";
|
||||
[[ "$CONNECTOR" ]] && args="$args --connector $CONNECTOR";
|
||||
;;
|
||||
"filemanager")
|
||||
args="--filemanager";
|
||||
@@ -55,35 +45,13 @@ cmd_argument_builder () {
|
||||
[[ "$PASSWORD" ]] && args="$args --password $PASSWORD";
|
||||
[[ "$ROLE" = "admin" ]] && args="$args --role admin";
|
||||
[[ "$ROLE" = "user" ]] && args="$args --role user";
|
||||
[[ "$KEY" ]] && args="$args --key $KEY";
|
||||
[[ "$UDP" = "true" ]] && args="$args --udp";
|
||||
;;
|
||||
"my-mc")
|
||||
[[ "$PORT" ]] && args="$args --port $PORT";
|
||||
[[ "$HOST" ]] && args="$args --host $HOST";
|
||||
[[ "$KEY" ]] && args="$args --connect $KEY";
|
||||
[[ "$UDP" = "true" ]] && args="$args --udp";
|
||||
[[ "$CONNECTOR" ]] && args="$args --connector $CONNECTOR";
|
||||
;;
|
||||
esac
|
||||
|
||||
printf "%s" "$args";
|
||||
}
|
||||
|
||||
# SIGUSR1-handler
|
||||
my_handler() {
|
||||
echo "my_handler"
|
||||
}
|
||||
|
||||
term_handler() {
|
||||
if [ $pid -ne 0 ]; then
|
||||
kill -SIGTERM "$pid"
|
||||
wait "$pid"
|
||||
fi
|
||||
exit 143; # 128 + 15 -- SIGTERM
|
||||
}
|
||||
|
||||
|
||||
if ! get_connector_my_mc; then exit 1; fi
|
||||
|
||||
ARGS="$(cmd_argument_builder)"
|
||||
|
||||
@@ -92,16 +60,5 @@ if [[ ! $ARGS ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# setup handlers
|
||||
# on callback, kill the last background process, which is `tail -f /dev/null` and execute the specified handler
|
||||
#trap 'kill ${!}; my_handler' SIGUSR1
|
||||
trap 'kill ${!}; term_handler' SIGTERM SIGINT
|
||||
holesail $ARGS
|
||||
|
||||
# run application
|
||||
/usr/local/bin/holesail $ARGS &
|
||||
pid="$!"
|
||||
|
||||
# wait forever
|
||||
while true; do
|
||||
tail -f /dev/null & wait ${!}
|
||||
done
|
||||
|
Reference in New Issue
Block a user