Skip to content

Commit 1caa302

Browse files
drewstoneclaude
andauthored
feat: add web3 blockchain and AI/ML infrastructure devcontainers (#12)
Adds comprehensive infrastructure images for AI agents building applications: **Blockchain Infrastructure:** - EVM L2s: Arbitrum, Optimism, Linea, Gnosis, Soneium, Monad - L1s/Specialized: Solana, NEAR, TON, Starknet/Cairo - Cross-chain: Hyperlane (with validator/relayer), LiFi, Polymer - DeFi: Hyperliquid (with hl-visor node), Tempo, Gelato - Tooling: Chainlink, OpenZeppelin, ZKSync (with foundry-zksync) **AI/ML Infrastructure:** - Frameworks: PyTorch, TensorFlow, Hugging Face (GPU + CPU variants) - LLM Tools: vLLM, Ollama, LangChain, LlamaIndex - Vector DBs: Qdrant, ChromaDB, pgvector, Milvus, Weaviate - Data: Redis, Kafka, Elasticsearch, ClickHouse, MinIO - MLOps: Jupyter, MLflow, DVC, Weights & Biases **DevOps:** - Kubernetes (kubectl, helm, k9s, kind) - Terraform, Pulumi **New Intermediate Layers:** - Foundry (extends Rust with forge/cast/anvil) - CUDA (NVIDIA GPU base) - Scientific Python (numpy, pandas, scipy stack) **CI/CD Improvements:** - Multi-platform builds (amd64 + arm64) for Mac compatibility - CUDA images remain amd64-only (NVIDIA limitation) - QEMU emulation for cross-platform builds 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 4ffc1e5 commit 1caa302

56 files changed

Lines changed: 1561 additions & 46 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/docker-publish.yml

Lines changed: 321 additions & 15 deletions
Large diffs are not rendered by default.

config.json

Lines changed: 601 additions & 8 deletions
Large diffs are not rendered by default.

infra/arbitrum.Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM foundry:latest
2+
3+
USER root
4+
RUN npm install -g @arbitrum/sdk ethers viem hardhat @nomicfoundation/hardhat-toolbox
5+
USER project
6+
7+
LABEL description="arbitrum infrastructure layer"

infra/chainlink.Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM foundry:latest
2+
3+
USER root
4+
RUN npm install -g @chainlink/contracts @chainlink/functions-toolkit @chainlink/local ethers viem hardhat @nomicfoundation/hardhat-toolbox
5+
USER project
6+
7+
LABEL description="chainlink infrastructure layer"

infra/chromadb.Dockerfile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
FROM scientific-python:latest
2+
3+
USER root
4+
RUN pip3 install --no-cache-dir --break-system-packages chromadb sentence-transformers && \
5+
python3 -c 'import chromadb; print(f"ChromaDB {chromadb.__version__}")'
6+
7+
USER project
8+
9+
USER root
10+
RUN npm install -g chromadb chromadb-default-embed
11+
USER project
12+
13+
LABEL description="chromadb infrastructure layer"

infra/clickhouse.Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
FROM base-system:latest
2+
3+
USER root
4+
RUN curl -fsSL https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key | gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg && \
5+
echo 'deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb stable main' | tee /etc/apt/sources.list.d/clickhouse.list && \
6+
apt-get update && apt-get install -y clickhouse-server clickhouse-client && rm -rf /var/lib/apt/lists/* && \
7+
pip3 install --no-cache-dir clickhouse-connect clickhouse-driver && \
8+
clickhouse-client --version
9+
10+
USER project
11+
12+
USER root
13+
RUN npm install -g @clickhouse/client
14+
USER project
15+
16+
LABEL description="clickhouse infrastructure layer"

infra/elasticsearch.Dockerfile

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
FROM base-system:latest
2+
3+
USER root
4+
RUN apt-get update && \
5+
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
6+
default-jdk && \
7+
rm -rf /var/lib/apt/lists/*
8+
9+
USER project
10+
11+
USER root
12+
RUN curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg && \
13+
echo 'deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main' | tee /etc/apt/sources.list.d/elastic-8.x.list && \
14+
apt-get update && apt-get install -y elasticsearch && rm -rf /var/lib/apt/lists/* && \
15+
pip3 install --no-cache-dir elasticsearch && \
16+
echo 'Elasticsearch installed (run with: systemctl start elasticsearch)'
17+
18+
USER project
19+
20+
USER root
21+
RUN npm install -g @elastic/elasticsearch elasticsearch
22+
USER project
23+
24+
LABEL description="elasticsearch infrastructure layer"

infra/ethereum.Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
FROM base-system:latest
1+
FROM foundry:latest
22

33
USER root
4-
RUN npm install -g ethers viem @wagmi/core
4+
RUN npm install -g ethers viem @wagmi/core hardhat @nomicfoundation/hardhat-toolbox
55
USER project
66

77
LABEL description="ethereum infrastructure layer"

infra/foundry.Dockerfile

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
1-
FROM rust:latest
2-
3-
ENV PATH=/root/.foundry/bin:/usr/local/cargo/bin:$PATH
1+
FROM foundry:latest
42

53
USER root
6-
RUN curl -L https://foundry.paradigm.xyz | bash && \
7-
if [ -f /root/.foundry/bin/foundryup ]; then /root/.foundry/bin/foundryup; else echo 'Foundry not installed'; fi
8-
4+
RUN npm install -g ethers viem hardhat @nomicfoundation/hardhat-toolbox @nomicfoundation/hardhat-foundry
95
USER project
106

117
LABEL description="foundry infrastructure layer"

infra/gelato.Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM foundry:latest
2+
3+
USER root
4+
RUN npm install -g @gelatonetwork/automate-sdk @gelatonetwork/relay-sdk @gelatonetwork/web3-functions-sdk ethers viem hardhat
5+
USER project
6+
7+
LABEL description="gelato infrastructure layer"

0 commit comments

Comments
 (0)