-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathDockerfile.dev
More file actions
98 lines (76 loc) · 3.48 KB
/
Copy pathDockerfile.dev
File metadata and controls
98 lines (76 loc) · 3.48 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# ============================================================
# Bolt — Dev Base Image
# All binaries pre-installed, MCP servers mounted as volume.
# Build once: docker build -f Dockerfile.dev -t bolt:dev .
# Then use docker-compose.dev.yml for fast iteration.
# ============================================================
FROM rust:latest AS rust-builder
RUN cargo install rustscan
# ============================================================
FROM golang:latest AS go-builder
ENV GOTOOLCHAIN=auto
RUN go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest && \
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest && \
go install github.com/projectdiscovery/httpx/cmd/httpx@latest && \
go install github.com/ffuf/ffuf/v2@latest && \
go install github.com/projectdiscovery/alterx/cmd/alterx@latest && \
go install github.com/owasp-amass/amass/v4/cmd/amass@latest && \
go install github.com/tomnomnom/assetfinder@latest && \
go install github.com/glebarez/cero@latest && \
go install github.com/sensepost/gowitness@latest && \
go install github.com/projectdiscovery/katana/cmd/katana@latest && \
go install github.com/tomnomnom/waybackurls@latest && \
go install github.com/projectdiscovery/shuffledns/cmd/shuffledns@latest && \
go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest && \
go install github.com/OJ/gobuster/v3@latest && \
go install github.com/ropnop/kerbrute@latest && \
rm -rf /go/pkg /root/.cache/go-build
# ============================================================
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
curl ca-certificates git unzip \
nmap openssl socat dnsutils \
masscan sslscan dirb \
hydra medusa hashcat john \
python3 python3-pip python3-venv \
ruby-full \
build-essential python3-dev \
&& curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*
RUN git clone --depth=1 https://github.com/blechschmidt/massdns /tmp/massdns \
&& make -C /tmp/massdns \
&& cp /tmp/massdns/bin/massdns /usr/local/bin/massdns \
&& rm -rf /tmp/massdns
COPY --from=go-builder /go/bin/ /usr/local/bin/
COPY --from=rust-builder /usr/local/cargo/bin/rustscan /usr/local/bin/rustscan
RUN curl -fsSL https://bun.sh/install | bash
ENV PATH="/root/.bun/bin:$PATH"
RUN python3 -m venv /opt/venv \
&& /opt/venv/bin/pip install --no-cache-dir arjun scoutsuite \
&& git clone --depth=1 https://github.com/commixproject/commix /opt/commix \
&& git clone --depth=1 https://github.com/defparam/smuggler /opt/smuggler \
&& git clone --depth=1 https://github.com/sqlmapproject/sqlmap /opt/sqlmap
ENV PATH="/opt/venv/bin:$PATH"
RUN gem install wpscan --no-document
# Wordlists
RUN git clone --depth 1 https://github.com/danielmiessler/SecLists.git /usr/share/seclists
# Bolt source (mcp-servers excluded — mounted as volume)
WORKDIR /app
COPY package.json bolt.config.json ./
COPY packages/core ./packages/core
COPY packages/plugins ./packages/plugins
RUN bun install --production
RUN mkdir -p /app/packages/mcp-servers /data
VOLUME ["/data"]
ENV PORT=3001
ENV HOST=0.0.0.0
ENV DATA_DIR=/data
ENV NODE_ENV=production
EXPOSE 3001
COPY docker-entrypoint.sh /entrypoint.sh
COPY docker-entrypoint.dev.sh /entrypoint.dev.sh
RUN chmod +x /entrypoint.sh /entrypoint.dev.sh
ENTRYPOINT ["/entrypoint.dev.sh"]
CMD ["bun", "run", "packages/core/src/http.ts"]