2026-02-08 20:09:38 +00:00
|
|
|
# Development Dockerfile for local cross-compilation
|
|
|
|
|
# Lighter version of Dockerfile.cross for development workflows
|
|
|
|
|
|
|
|
|
|
ARG RUST_VERSION={{rust_version}}
|
|
|
|
|
ARG NODE_VERSION={{node_version}}
|
|
|
|
|
|
|
|
|
|
FROM node:${NODE_VERSION}-slim
|
|
|
|
|
|
|
|
|
|
# Install minimal system dependencies
|
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
|
|
|
curl \
|
|
|
|
|
build-essential \
|
|
|
|
|
pkg-config \
|
|
|
|
|
libssl-dev \
|
|
|
|
|
musl-tools \
|
|
|
|
|
git \
|
|
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
|
|
|
|
# Install Rust with minimal targets
|
|
|
|
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain ${RUST_VERSION}
|
|
|
|
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
|
|
|
|
|
|
|
|
|
# Add primary cross-compilation target
|
|
|
|
|
RUN rustup target add x86_64-unknown-linux-gnu
|
|
|
|
|
|
|
|
|
|
# Install essential Rust tools for Rustelo
|
|
|
|
|
RUN cargo install just --version {{just_version}}
|
|
|
|
|
|
|
|
|
|
WORKDIR /workspace
|
|
|
|
|
|
|
|
|
|
# Install Node.js package manager
|
|
|
|
|
RUN npm install -g pnpm@{{pnpm_version}}
|
|
|
|
|
|
|
|
|
|
# Environment setup for development
|
|
|
|
|
ENV CARGO_HOME=/root/.cargo
|
|
|
|
|
ENV CARGO_TARGET_DIR=/workspace/target
|
|
|
|
|
ENV NODE_ENV=development
|
|
|
|
|
ENV RUSTELO_MODE=dev-cross
|
|
|
|
|
|
|
|
|
|
# Expose common development ports
|
|
|
|
|
EXPOSE 3030 8080 8000
|
|
|
|
|
|
|
|
|
|
# Default to interactive shell for development
|
2026-02-08 20:37:49 +00:00
|
|
|
CMD ["/bin/bash"]
|