Files
bl/.ide/Dockerfile
xinian 6af81c90ca
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
编辑文件 Dockerfile
2026-03-28 13:29:42 +08:00

86 lines
3.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 此文件为远程开发环境配置文件
FROM debian:bookworm
ENV GO_VERSION=1.25.0
ENV GOPATH=/root/go
ENV PATH=${PATH}:${GOPATH}/bin
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 --no-install-recommends \
wget rsync unzip openssh-server vim lsof git git-lfs \
locales libgit2-1.5 libgit2-dev net-tools jq curl \
ca-certificates gnupg && \
rm -rf /var/lib/apt/lists/*
# 安装 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.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.54.2 && \
rm -rf go${GO_VERSION}.linux-amd64.tar.gz
# 安装 code-server
RUN curl -fsSL https://code-server.dev/install.sh | sh
# 安装 code-server 插件
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
# 安装 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
# 安装 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 && \
rm -rf /var/lib/apt/lists/*
# 配置 Codex
RUN mkdir -p /root/.codex
# 写入 config.toml
RUN cat > /root/.codex/config.toml <<'EOF'
model_provider = "OpenAI"
model = "gpt-5.4"
model_reasoning_effort = "high"
disable_response_storage = true
[model_providers.OpenAI]
name = "OpenAI"
base_url = "https://api.jucode.cn/v1"
wire_api = "responses"
requires_openai_auth = true
EOF
# 写入 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