diff --git a/dev/opencode/Dockerfile-opencode b/dev/opencode/Dockerfile-opencode new file mode 100644 index 0000000..7a62400 --- /dev/null +++ b/dev/opencode/Dockerfile-opencode @@ -0,0 +1,26 @@ +FROM ubuntu:26.04 +ARG UID=1000 +ARG GID=1000 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && apt-get install -y \ + git curl sudo + +RUN groupadd -g $GID -o opencode +RUN userdel -f ubuntu +RUN useradd -ms /bin/bash -u $UID -g $GID opencode + +USER opencode +RUN mkdir /home/opencode/code +RUN curl -fsSL https://opencode.ai/install | bash +WORKDIR /home/opencode + +## copy local permissions over +COPY ./opencode.json /home/opencode/.config/opencode/opencode.json +COPY ./auth.json /home/opencode/.local/share/opencode/auth.json + +USER root +RUN chown -R opencode:opencode /home/opencode/.config/ /home/opencode/.local/ + +CMD ["/bin/bash"] \ No newline at end of file diff --git a/dev/opencode/create-docker-opencode.sh b/dev/opencode/create-docker-opencode.sh new file mode 100755 index 0000000..47971c7 --- /dev/null +++ b/dev/opencode/create-docker-opencode.sh @@ -0,0 +1,11 @@ +#!/bin/bash -e + +cd $(dirname $0) + +cp $HOME/.config/opencode/opencode.json . +cp $HOME/.local/share/opencode/auth.json . + +docker build -t gwdg-opencode:last -f Dockerfile-opencode --build-arg UID=$(id -u) --build-arg GID=$(id -g) --progress plain . + +rm opencode.json auth.json + diff --git a/dev/opencode/run-docker-opencode.sh b/dev/opencode/run-docker-opencode.sh new file mode 100755 index 0000000..d014f1a --- /dev/null +++ b/dev/opencode/run-docker-opencode.sh @@ -0,0 +1,4 @@ +#!/bin/bash -e +cd $(dirname $0) + +docker run -it --rm --user $(id -u):$(id -g) -v $PWD/../../:/home/opencode/code gwdg-opencode:last