-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile.workspace
More file actions
35 lines (29 loc) · 1.17 KB
/
Copy pathDockerfile.workspace
File metadata and controls
35 lines (29 loc) · 1.17 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
# Argus Workspace - fat dev container for safe code execution
# The daemon container execs commands into this container via docker exec
FROM debian:bookworm-slim
# Install core dev tools
RUN apt-get update && apt-get install -y \
# Build essentials
build-essential git curl wget \
# Python
python3 python3-pip python3-venv \
# Node.js (via nodesource)
ca-certificates gnupg \
&& rm -rf /var/lib/apt/lists/*
# Install Node.js 20 LTS
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*
# Install Rust (rustup)
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
# Install Go
RUN curl -fsSL https://go.dev/dl/go1.22.0.linux-amd64.tar.gz | tar -C /usr/local -xzf -
ENV PATH="/usr/local/go/bin:${PATH}"
# Create workspace directory (shared volume mount point)
RUN mkdir -p /workspace && chmod 777 /workspace
WORKDIR /workspace
# Exec server — receives commands from argus-daemon via HTTP on internal Docker network
COPY workspace_exec_server.py /workspace_exec_server.py
EXPOSE 9001
CMD ["python3", "/workspace_exec_server.py"]