mirror of
https://github.com/RuoJi6/ARTEX.git
synced 2026-10-27 17:03:49 +08:00
ARTEX — AI 自主渗透测试系统(Go 后端 + Next.js 前端,单二进制内嵌)。 Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
31 lines
1.3 KiB
Docker
31 lines
1.3 KiB
Docker
# syntax=docker/dockerfile:1
|
||
#
|
||
# 运行镜像(不在镜像里编译):只装常用工具,放入**预编译好的 Linux 单二进制**。
|
||
# 二进制由 CI 的 binaries job 交叉编译(纯 Go、无 QEMU),按目标架构放在
|
||
# 构建上下文的 dist/<TARGETARCH>/artex。这样多架构构建时 arm64 只需模拟 apt 层,
|
||
# 不再模拟 Next/Go 编译,速度快得多。
|
||
#
|
||
# 本地手动构建镜像时,先自行准备二进制:
|
||
# cd web && npm run build:static && cd ..
|
||
# cp -r web/out server/webui/dist
|
||
# CGO_ENABLED=0 GOARCH=amd64 go build -tags embedui -o dist/amd64/artex ./cmd/artex
|
||
# docker build -t artex:local .
|
||
FROM python:3.12-slim-bookworm
|
||
ARG TARGETARCH
|
||
# 常用工具:ripgrep / curl / vim / npm,加一批 recon 常备件(按需增删)
|
||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||
ca-certificates ripgrep curl wget vim git jq unzip \
|
||
nodejs npm \
|
||
dnsutils iputils-ping netcat-openbsd whois nmap \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
WORKDIR /app
|
||
# 预编译好的对应架构二进制(dist/amd64/artex 或 dist/arm64/artex)
|
||
COPY dist/${TARGETARCH}/artex /app/artex
|
||
RUN chmod +x /app/artex
|
||
COPY skills/ /app/skills/
|
||
# data/(SQLite + jwt.key)持久化点
|
||
VOLUME ["/app/data"]
|
||
EXPOSE 8787 8788
|
||
ENTRYPOINT ["/app/artex"]
|
||
CMD ["-addr", ":8787", "-proxy", ":8788"]
|