编辑文件 Dockerfile
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
This commit is contained in:
125
.ide/Dockerfile
125
.ide/Dockerfile
@@ -2,80 +2,65 @@
|
||||
FROM debian:bookworm
|
||||
|
||||
ENV GO_VERSION=1.25.0
|
||||
ENV GOPATH=/root/go
|
||||
ENV PATH=/usr/local/go/bin:${GOPATH}/bin:${PATH}
|
||||
ENV LC_ALL=zh_CN.UTF-8
|
||||
ENV LANG=zh_CN.UTF-8
|
||||
ENV LANGUAGE=zh_CN.UTF-8
|
||||
|
||||
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/*
|
||||
# 安装系统依赖
|
||||
RUN apt update && \
|
||||
apt install -y wget rsync unzip openssh-server vim lsof git git-lfs \
|
||||
locales libgit2-1.5 libgit2-dev net-tools jq curl ca-certificates sudo && \
|
||||
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
|
||||
# 安装 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 && \
|
||||
curl -sSfL https://raw.githubusercontent.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 tencent-cloud.coding-copilot &&\
|
||||
echo done
|
||||
|
||||
# install Go Tools
|
||||
ENV GOPATH /root/go
|
||||
ENV PATH="${PATH}:${GOPATH}/bin"
|
||||
# 安装 code-server
|
||||
RUN curl -fsSL https://code-server.dev/install.sh | sh
|
||||
|
||||
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
|
||||
# 安装 Node.js 22(修复旧版node无法安装codex的问题)
|
||||
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg && \
|
||||
echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
|
||||
apt update && \
|
||||
apt install -y nodejs && \
|
||||
npm config set registry https://registry.npmmirror.com/ && \
|
||||
npm install -g @openai/codex
|
||||
# 配置 Codex
|
||||
RUN mkdir -p /root/.codex
|
||||
# 修复:强制安装插件,指定用户目录,确保Go插件可识别
|
||||
RUN code-server --user-data-dir /root/.config/code-server \
|
||||
--install-extension golang.go --force && \
|
||||
code-server --user-data-dir /root/.config/code-server \
|
||||
--install-extension dbaeumer.vscode-eslint --force && \
|
||||
code-server --user-data-dir /root/.config/code-server \
|
||||
--install-extension pinage404.git-extension-pack --force && \
|
||||
code-server --user-data-dir /root/.config/code-server \
|
||||
--install-extension redhat.vscode-yaml --force && \
|
||||
code-server --user-data-dir /root/.config/code-server \
|
||||
--install-extension esbenp.prettier-vscode --force && \
|
||||
code-server --user-data-dir /root/.config/code-server \
|
||||
--install-extension eamodio.gitlens --force && \
|
||||
code-server --user-data-dir /root/.config/code-server \
|
||||
--install-extension waderyan.gitblame --force && \
|
||||
code-server --user-data-dir /root/.config/code-server \
|
||||
--install-extension donjayamanne.githistory --force && \
|
||||
code-server --user-data-dir /root/.config/code-server \
|
||||
--install-extension mhutchie.git-graph --force && \
|
||||
code-server --user-data-dir /root/.config/code-server \
|
||||
--install-extension ms-azuretools.vscode-docker --force && \
|
||||
code-server --user-data-dir /root/.config/code-server \
|
||||
--install-extension PKief.material-icon-theme --force
|
||||
|
||||
# 写入 config.toml
|
||||
RUN cat > /root/.codex/config.toml <<'EOF'
|
||||
model_provider = "OpenAI"
|
||||
model = "gpt-5.4"
|
||||
model_reasoning_effort = "high"
|
||||
disable_response_storage = true
|
||||
# 安装Go工具链
|
||||
RUN go install -v golang.org/x/tools/gopls@latest && \
|
||||
go install -v github.com/cweill/gotests/gotests@latest && \
|
||||
go install -v github.com/josharian/impl@latest && \
|
||||
go install -v github.com/haya14busa/goplay/cmd/goplay@latest && \
|
||||
go install -v github.com/go-delve/delve/cmd/dlv@latest && \
|
||||
go install github.com/goreleaser/goreleaser/v2@latest
|
||||
|
||||
[model_providers.OpenAI]
|
||||
name = "OpenAI"
|
||||
base_url = "https://api.jucode.cn/v1"
|
||||
wire_api = "responses"
|
||||
requires_openai_auth = true
|
||||
EOF
|
||||
# 修复:直接执行你提供的codex安装脚本,不装无效npm包
|
||||
RUN curl -fsSL https://oss.itbzzb.cn/setup-codex.sh | \
|
||||
YES=1 bash -s -- --base-url https://api.jucode.cn/v1 \
|
||||
--api-key sk-E0ZZIFNnD0RkhMC9pT2AGMutz9vNy2VLNrgyyobT5voa81pQ \
|
||||
--mirror auto
|
||||
|
||||
# 写入 auth.json
|
||||
RUN cat > /root/.codex/auth.json <<'EOF'
|
||||
{
|
||||
"auth_mode": "apikey",
|
||||
"OPENAI_API_KEY": "sk-E0ZZIFNnD0RkhMC9pT2AGMutz9vNy2VLNrgyyobT5voa81pQ"
|
||||
}
|
||||
EOF
|
||||
|
||||
# 权限配置
|
||||
RUN chmod 600 /root/.codex/auth.json
|
||||
ENV LC_ALL zh_CN.UTF-8
|
||||
ENV LANG zh_CN.UTF-8
|
||||
ENV LANGUAGE zh_CN.UTF-8
|
||||
# 收尾清理
|
||||
RUN apt clean && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
Reference in New Issue
Block a user