FROM rust:latest RUN rustup target add x86_64-unknown-linux-musl RUN apt update && apt install -y musl-tools musl-dev curl RUN update-ca-certificates ADD src/aichat/entrypoint.sh /entrypoint.sh RUN chmod 755 entrypoint.sh RUN useradd -ms /bin/bash aichat USER aichat WORKDIR /home/aichat RUN git clone --branch v0.29.0 --depth 1 https://github.com/sigoden/aichat WORKDIR /home/aichat/aichat RUN cargo build --release --target=x86_64-unknown-linux-musl USER root RUN cp /home/aichat/aichat/target/x86_64-unknown-linux-musl/release/aichat /usr/bin/aichat USER aichat RUN mkdir -p /home/aichat/.config/aichat ADD src/aichat/config.yaml /home/aichat/.config/aichat/config.yaml ADD src/aichat/roles /home/aichat/.config/aichat/roles ENTRYPOINT ["/entrypoint.sh"]