diff options
Diffstat (limited to 'Dockerfile')
| -rw-r--r-- | Dockerfile | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6c55613 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,38 @@ +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"] |
