Spaces:
Running
Running
File size: 2,169 Bytes
987090a e740667 987090a e740667 4cf2780 df3b6ab d249cd5 5dead2d bf92895 166ab5f 5dead2d 245bda0 166ab5f 4881262 fb57f5c 5dead2d fb57f5c e740667 5dead2d e740667 daef447 5dead2d 987090a 55cd5a3 253dff4 0d57e8f 0345ced 8c3332b 17b31a3 8a353b1 5dead2d d107e51 e740667 987090a 78d18f6 987090a 675435c 5dead2d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | FROM ubuntu:22.04
# 系统变量
ENV LANG C.UTF-8
ENV LANGUAGE C.UTF-8
ENV TZ=Asia/Shanghai
# 安装基础依赖和code-server
RUN apt-get update && apt-get install -y && \
DEBIAN_FRONTEND=noninteractive apt-get install gcc g++ gdb clangd wget git curl jq tzdata cron rsync -y && \
curl -fsSL https://code-server.dev/install.sh | sh
COPY settings.json /root/.local/share/code-server/User/
COPY config.yaml /root/.config/code-server/
COPY create_languagepacks.sh /home/
COPY cph-ng-0.5.5.vsix /home/
COPY vscode-luogu.vsix /home/
RUN chmod +x /home/create_languagepacks.sh
# 配置git自动提交
COPY autocommit.sh /usr/scripts/autocommit.sh
RUN chmod +x /usr/scripts/autocommit.sh
RUN echo "0 0,6,12,18 * * * root /bin/bash /usr/scripts/autocommit.sh" > /etc/cron.d/autocommit-cron
RUN chmod 0644 /etc/cron.d/autocommit-cron
# 设置工作目录和用户
WORKDIR /home/
# 配置codeserver的语言和扩展
RUN code-server --install-extension /home/cph-ng-0.5.5.vsix && \
code-server --install-extension /home/vscode-luogu.vsix && \
code-server --install-extension ms-ceintl.vscode-language-pack-zh-hans && \
code-server --install-extension hediet.vscode-drawio && \
code-server --install-extension formulahendry.code-runner && \
code-server --install-extension llvm-vs-code-extensions.vscode-clangd
RUN /home/create_languagepacks.sh
RUN --mount=type=secret,id=GH_TOKEN,mode=0444,required=true \
--mount=type=secret,id=GH_USERNAME,mode=0444,required=true \
--mount=type=secret,id=REPO_NAME,mode=0444,required=true \
--mount=type=secret,id=GH_EMAIL,mode=0444,required=true \
git config --global user.name $(cat /run/secrets/GH_USERNAME) && \
git config --global user.email $(cat /run/secrets/GH_EMAIL) && \
git clone -b main https://$(cat /run/secrets/GH_TOKEN)@github.com/$(cat /run/secrets/GH_USERNAME)/$(cat /run/secrets/REPO_NAME).git /home/cpp_competition
RUN echo "#!/bin/bash \n \
cron -n & \
exec code-server /home/cpp_competition" > /home/start.sh
RUN chmod +x /home/start.sh
# 暴露端口
EXPOSE 8080
EXPOSE 7860
# 将启动脚本设为容器入口
CMD ["/home/start.sh"] |