Files
opencode/Dockerfile

48 lines
1.5 KiB
Docker
Raw Normal View History

2026-03-27 17:26:11 -04:00
FROM node:24
RUN apt-get update && apt-get upgrade -y && \
2026-03-31 08:53:26 -04:00
apt-get install -y --no-install-recommends \
2026-04-01 09:32:48 -04:00
podman \
uidmap \
slirp4netns \
fuse-overlayfs \
dbus-user-session \
containernetworking-plugins \
netavark \
aardvark-dns \
iptables \
ca-certificates && \
2026-03-27 17:26:11 -04:00
rm -rf /var/lib/apt/lists/*
2026-03-30 14:00:39 -04:00
RUN set -eux; \
userdel -r node; \
groupadd -g 1000 opencode; \
2026-03-31 08:53:26 -04:00
useradd -m -u 1000 -g 1000 -s /usr/bin/bash opencode; \
awk -F: '!seen[$1":"$2":"$3]++' /etc/subuid > /etc/subuid.tmp; \
mv /etc/subuid.tmp /etc/subuid; \
awk -F: '!seen[$1":"$2":"$3]++' /etc/subgid > /etc/subgid.tmp; \
mv /etc/subgid.tmp /etc/subgid; \
mkdir -p /home/opencode/.config/containers /home/opencode/.local/share/containers; \
printf '%s\n' '[storage]' 'driver = "vfs"' > /home/opencode/.config/containers/storage.conf; \
printf '%s\n' '[engine]' 'cgroup_manager = "cgroupfs"' 'events_logger = "file"' > /home/opencode/.config/containers/containers.conf; \
chown -R 1000:1000 /home/opencode/.config /home/opencode/.local; \
2026-03-30 17:01:40 -04:00
npm update -g && \
2026-03-29 18:50:58 -04:00
npm install -g opencode-ai n2-soul@9.0.8 && \
2026-04-01 09:32:48 -04:00
chown -R 1000:1000 /usr/local/lib/node_modules/n2-soul/ && \
2026-03-27 17:26:11 -04:00
npm cache clean --force
COPY --chmod=755 opencode-attach /usr/local/bin/opencode-attach
2026-03-31 08:53:26 -04:00
ENV XDG_RUNTIME_DIR=/tmp/run-user/1000
ENV _CONTAINERS_USERNS_CONFIGURED=""
RUN mkdir -p /tmp/run-user/1000 && chown -R 1000:1000 /tmp/run-user
2026-03-27 17:26:11 -04:00
USER opencode
WORKDIR /home/opencode
RUN opencode --version
2026-03-31 08:53:26 -04:00
RUN podman --version
2026-03-27 17:26:11 -04:00
ENTRYPOINT ["opencode"]