FROM rust:1-alpine AS builder RUN cargo install --locked aichat \ && cargo install --locked argc FROM alpine:3.21 RUN apk add --no-cache \ bash ca-certificates curl git jq \ ripgrep fd \ unzip zip xz \ less nano vim tmux \ openssh-client-default \ python3 py3-pip py3-virtualenv \ nodejs npm \ build-base pkgconf cmake \ lynx tree \ pandoc-cli \ texlive texmf-dist-latexextra texmf-dist-langgerman \ poppler-utils \ tzdata RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash -s -- -y COPY --from=builder /usr/local/cargo/bin/aichat /usr/local/bin/aichat COPY --from=builder /usr/local/cargo/bin/argc /usr/local/bin/argc RUN addgroup -g 1000 dev \ && adduser -u 1000 -G dev -s /bin/bash -D dev \ && addgroup dev wheel \ && mkdir -p /work /projects /home/dev/.config \ && chown -R dev:dev /work /projects /home/dev USER dev ENV AICHAT_FUNCTIONS_DIR=/opt/llm-functions WORKDIR /work CMD ["bash"]