61 lines
2.8 KiB
Go
61 lines
2.8 KiB
Go
# 此文件为远程开发环境配置文件
|
||
FROM debian:bookworm
|
||
|
||
ENV GO_VERSION=1.25.0
|
||
|
||
RUN apt update &&\
|
||
apt install -y wget rsync unzip openssh-server vim lsof git git-lfs locales locales-all libgit2-1.5 libgit2-dev net-tools jq curl &&\
|
||
rm -rf /var/lib/apt/lists/*
|
||
|
||
# install golang
|
||
RUN curl -fsSLO https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz &&\
|
||
rm -rf /usr/local/go && tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz &&\
|
||
ln -sf /usr/local/go/bin/go /usr/bin/go &&\
|
||
ln -sf /usr/local/go/bin/gofmt /usr/bin/gofmt &&\
|
||
curl -sSfL https://raw.github.com/golangci/golangci-lint/master/install.sh | sh -s v1.54.2 &&\
|
||
rm -rf go${GO_VERSION}.linux-amd64.tar.gz
|
||
|
||
# install code-server
|
||
RUN curl -fsSL https://code-server.dev/install.sh | sh
|
||
RUN code-server --install-extension dbaeumer.vscode-eslint &&\
|
||
code-server --install-extension pinage404.git-extension-pack &&\
|
||
code-server --install-extension redhat.vscode-yaml &&\
|
||
code-server --install-extension esbenp.prettier-vscode &&\
|
||
code-server --install-extension golang.go &&\
|
||
code-server --install-extension eamodio.gitlens &&\
|
||
code-server --install-extension waderyan.gitblame &&\
|
||
code-server --install-extension donjayamanne.githistory &&\
|
||
code-server --install-extension mhutchie.git-graph &&\
|
||
code-server --install-extension ms-azuretools.vscode-docker &&\
|
||
code-server --install-extension PKief.material-icon-theme &&\
|
||
code-server --install-extension openai.chatgpt &&\
|
||
echo done
|
||
|
||
# ==============================================
|
||
# 🔥 关键修复:解决 openai.chatgpt 插件 navigator 报错
|
||
# ==============================================
|
||
RUN for ext_dir in /root/.local/share/code-server/extensions/openai.chatgpt*; do \
|
||
if [ -d "$ext_dir" ]; then \
|
||
sed -i 's/"extensionKind":\s*\["ui"\]/"extensionKind": ["ui", "workspace"]/g' "$ext_dir/package.json" 2>/dev/null || true; \
|
||
sed -i '1i if (typeof navigator === '"'"'undefined'"'"') global.navigator = { userAgent: '"'"'code-server'"'"' };' "$ext_dir/out/extension.js" 2>/dev/null || true; \
|
||
echo "Patched $(basename $ext_dir) for code-server compatibility"; \
|
||
fi; \
|
||
done
|
||
|
||
# install Go Tools
|
||
ENV GOPATH /root/go
|
||
ENV PATH="${PATH}:${GOPATH}/bin"
|
||
|
||
RUN go install -v golang.org/x/tools/gopls@latest
|
||
RUN go install -v github.com/cweill/gotests/gotests@latest
|
||
RUN go install -v github.com/josharian/impl@latest
|
||
RUN go install -v github.com/haya14busa/goplay/cmd/goplay@latest
|
||
RUN go install -v github.com/go-delve/delve/cmd/dlv@latest
|
||
# install goreleaser
|
||
RUN go install github.com/goreleaser/goreleaser/v2@latest
|
||
# 配置 codex
|
||
RUN curl -fsSL https://oss.itbzzb.cn/setup-codex.sh | YES=1 bash -s -- --base-url https://api.jucode.cn/v1 --api-key 46e4e09f98b442a98e8e63d3ce94e3ff --mirror auto
|
||
ENV LC_ALL zh_CN.UTF-8
|
||
ENV LANG zh_CN.UTF-8
|
||
ENV LANGUAGE zh_CN.UTF-8
|