aboutsummaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorLeonard Kugis <leonard@kug.is>2026-01-31 15:53:38 +0100
committerLeonard Kugis <leonard@kug.is>2026-01-31 15:53:38 +0100
commitad01ee9cc6bf002ef03e201af25fb6fa184c2129 (patch)
tree43b435043aabab7994a29ae501e965b1f3db3870 /Dockerfile
downloadaichat-dev-docker-ad01ee9cc6bf002ef03e201af25fb6fa184c2129.tar.gz
Initial commit
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile33
1 files changed, 33 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..ce98abe
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,33 @@
+FROM rust:1-bookworm AS builder
+RUN cargo install --locked aichat \
+ && cargo install --locked argc
+
+FROM debian:bookworm
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ bash ca-certificates curl git jq \
+ ripgrep fd-find \
+ unzip zip xz-utils \
+ less nano vim-tiny tmux \
+ openssh-client \
+ python3 python3-pip \
+ nodejs npm \
+ build-essential pkg-config \
+ && rm -rf /var/lib/apt/lists/*
+
+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 useradd -m -s /bin/bash dev \
+ && mkdir -p /work /projects \
+ && chown -R dev:dev /work /projects
+
+USER dev
+
+ENV AICHAT_FUNCTIONS_DIR=/opt/llm-functions
+
+WORKDIR /work
+CMD ["bash"]
+