diff --git a/install/docker/backend/Dockerfile b/install/docker/backend/Dockerfile index 9cfe47775..656f9751d 100644 --- a/install/docker/backend/Dockerfile +++ b/install/docker/backend/Dockerfile @@ -1,9 +1,5 @@ FROM node:14 - ADD ./entrypoint.sh /root/entrypoint.sh - RUN yarn global add pm2 hydrooj @hydrooj/ui-default - RUN chmod +x /root/entrypoint.sh - ENTRYPOINT /root/entrypoint.sh diff --git a/install/docker/backend/entrypoint.sh b/install/docker/backend/entrypoint.sh index 86e54cfbc..c1f9f0d21 100644 --- a/install/docker/backend/entrypoint.sh +++ b/install/docker/backend/entrypoint.sh @@ -1,7 +1,6 @@ #!/bin/sh ROOT=/root/.hydro - mkdir -p $ROOT if [ ! -f "$ROOT/addon.json" ]; then diff --git a/install/docker/judge/Dockerfile b/install/docker/judge/Dockerfile index 05a12616a..af7d156b7 100644 --- a/install/docker/judge/Dockerfile +++ b/install/docker/judge/Dockerfile @@ -1,12 +1,5 @@ FROM node:14 -ADD ./entrypoint.sh /root/entrypoint.sh -ADD ./judge.yaml /root/judge.yaml - -RUN yarn global add pm2 @hydrooj/hydrojudge && \ - wget https://s3.undefined.moe/file/executor-amd64 -O /usr/bin/sandbox && \ - chmod +x /usr/bin/sandbox - RUN apt-get -qq update && \ apt-get install -y \ gcc \ @@ -24,6 +17,12 @@ RUN apt-get -qq update && \ mono-runtime \ mono-mcs +ADD ./entrypoint.sh /root/entrypoint.sh +ADD ./judge.yaml /root/judge.yaml RUN chmod +x /root/entrypoint.sh +RUN yarn global add pm2 @hydrooj/hydrojudge && \ + wget https://s3.undefined.moe/file/executor-amd64 -O /usr/bin/sandbox && \ + chmod +x /usr/bin/sandbox + ENTRYPOINT /root/entrypoint.sh diff --git a/install/docker/judge/entrypoint.sh b/install/docker/judge/entrypoint.sh index 8dbe0d5f0..e025f6350 100644 --- a/install/docker/judge/entrypoint.sh +++ b/install/docker/judge/entrypoint.sh @@ -1,12 +1,9 @@ #!/bin/sh ROOT=/root/.config/hydro - mkdir -p $ROOT - if [ ! -f "$ROOT/judge.yaml" ]; then cp /root/judge.yaml $ROOT fi - pm2 start sandbox pm2-runtime start hydrojudge diff --git a/install/install.js b/install/install.js index ccc1aaa73..edef2ce8a 100644 --- a/install/install.js +++ b/install/install.js @@ -229,7 +229,17 @@ for (let i = 0; i < steps.length; i++) { retry++; } else log.fatal('Error when running %s', op[0]); } - } else op[0](op[1]); + } else { + let res = 'retry'; + retry = 0; + while (res === 'retry') { + if (retry < 30) { + log.warn('Retry...'); + res = op[0](op[1]); + retry++; + } else log.fatal('Error installing'); + } + } } } else log.info('已跳过该步骤 / Step skipped'); }