mirror of
https://github.com/outbackdingo/optimclaw.git
synced 2026-08-25 23:10:11 +00:00
Add Dockerfile.test as reusable infrastructure for spinning up local test instances with libsql (no PostgreSQL dependency). Defaults to port 3003 to avoid conflict with dev server. Add local-test workspace skill that teaches the agent how to build, run, and test against local Docker containers using Chrome MCP browser automation tools. Covers LLM backend configuration, multi-instance testing, cleanup, and troubleshooting.
58 lines
1.5 KiB
Docker
58 lines
1.5 KiB
Docker
# Lightweight test Dockerfile for IronClaw web gateway testing.
|
|
#
|
|
# Build:
|
|
# docker build --platform linux/amd64 -f Dockerfile.test -t ironclaw-test .
|
|
#
|
|
# Run (each on a different port):
|
|
# docker run --rm -p 3003:3003 ironclaw-test
|
|
# docker run --rm -p 3004:3003 ironclaw-test
|
|
# docker run --rm -p 3005:3003 ironclaw-test
|
|
|
|
# Stage 1: Build (libsql only — no PostgreSQL dependency)
|
|
FROM rust:1.92-slim-bookworm AS builder
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
pkg-config libssl-dev cmake gcc g++ \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& rustup target add wasm32-wasip2 \
|
|
&& cargo install wasm-tools
|
|
|
|
WORKDIR /app
|
|
|
|
COPY Cargo.toml Cargo.lock ./
|
|
COPY build.rs build.rs
|
|
COPY src/ src/
|
|
COPY tests/ tests/
|
|
COPY migrations/ migrations/
|
|
COPY registry/ registry/
|
|
COPY channels-src/ channels-src/
|
|
COPY wit/ wit/
|
|
|
|
RUN cargo build --release --no-default-features --features libsql --bin ironclaw
|
|
|
|
# Stage 2: Runtime
|
|
FROM debian:bookworm-slim
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates libssl3 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=builder /app/target/release/ironclaw /usr/local/bin/ironclaw
|
|
|
|
RUN useradd -m -u 1000 -s /bin/bash ironclaw
|
|
USER ironclaw
|
|
WORKDIR /home/ironclaw
|
|
|
|
EXPOSE 3003
|
|
|
|
ENV RUST_LOG=ironclaw=info \
|
|
GATEWAY_ENABLED=true \
|
|
GATEWAY_HOST=0.0.0.0 \
|
|
GATEWAY_PORT=3003 \
|
|
GATEWAY_AUTH_TOKEN=test \
|
|
DATABASE_BACKEND=libsql \
|
|
LIBSQL_PATH=/home/ironclaw/test.db \
|
|
SANDBOX_ENABLED=false
|
|
|
|
ENTRYPOINT ["ironclaw", "--no-onboard"]
|