From b283f1e30555b2c8a91dc4387be98ccbd818a0cb Mon Sep 17 00:00:00 2001 From: Conan Scott Date: Fri, 27 Feb 2026 15:11:15 +1100 Subject: [PATCH] apparently I need to do this myself --- Dockerfile | 88 +++++++++++++++++++++++++++--------------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/Dockerfile b/Dockerfile index 986f5c1..fd6f5e2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,78 +5,78 @@ ENV DEBIAN_FRONTEND=noninteractive # Update and install Swiss Army Knife tools RUN apt-get update && apt-get install -y \ - curl \ - wget \ - git \ - jq \ - unzip \ - tar \ - vim \ - nano \ - python3 \ - python3-pip \ - python3-venv \ - build-essential \ - iputils-ping \ - dnsutils \ - net-tools \ - ffmpeg \ - openssh-server \ - ripgrep ncdu \ - sudo \ - && rm -rf /var/lib/apt/lists/* + curl \ + wget \ + git \ + jq \ + unzip \ + tar \ + vim \ + nano \ + python3 \ + python3-pip \ + python3-venv \ + build-essential \ + iputils-ping \ + dnsutils \ + net-tools \ + ffmpeg \ + openssh-server \ + ripgrep ncdu \ + sudo \ + && rm -rf /var/lib/apt/lists/* # Install Node.js 22 (via NodeSource) RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ - && apt-get install -y nodejs \ - && rm -rf /var/lib/apt/lists/* + && apt-get install -y nodejs \ + && rm -rf /var/lib/apt/lists/* # Install Chromium + Xvfb for headful browser support RUN apt-get update && apt-get install -y chromium xvfb \ - && rm -rf /var/lib/apt/lists/* + && rm -rf /var/lib/apt/lists/* # Install OpenClaw CLI globally RUN npm install -g openclaw@latest # Install yq (binary release for latest version) RUN wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq && \ - chmod +x /usr/bin/yq + chmod +x /usr/bin/yq RUN wget https://downloads-openshift-console.apps.lab.apilab.us/amd64/linux/oc.tar -O /tmp/oc.tar && \ - tar -xvf /tmp/oc.tar -C /usr/bin/ && \ - rm /tmp/oc.tar && chmod +x /usr/bin/oc + tar -xvf /tmp/oc.tar -C /usr/bin/ && \ + rm /tmp/oc.tar && chmod +x /usr/bin/oc # Setup SSH directory & Config for OpenShift (Random UID support) RUN mkdir -p /var/run/sshd && \ - chmod 775 /var/run/sshd + chmod 775 /var/run/sshd # Custom sshd_config for non-root usage # StrictModes no: Required for non-root / random UID environments # PidFile: Point to /tmp for guaranteed write access -RUN echo "Port 2222 -PermitRootLogin no -PasswordAuthentication no -PubkeyAuthentication yes -StrictModes no -PidFile /tmp/sshd.pid -HostKey /data/ssh/ssh_host_rsa_key -HostKey /data/ssh/ssh_host_ecdsa_key -HostKey /data/ssh/ssh_host_ed25519_key -AuthorizedKeysFile .ssh/authorized_keys -ChallengeResponseAuthentication no -UsePAM yes -Subsystem sftp /usr/lib/openssh/sftp-server" > /etc/ssh/sshd_config +RUN echo "Port 2222 \ + PermitRootLogin no \ + PasswordAuthentication no \ + PubkeyAuthentication yes \ + StrictModes no \ + PidFile /tmp/sshd.pid \ + HostKey /data/ssh/ssh_host_rsa_key \ + HostKey /data/ssh/ssh_host_ecdsa_key \ + HostKey /data/ssh/ssh_host_ed25519_key \ + AuthorizedKeysFile .ssh/authorized_keys \ + ChallengeResponseAuthentication no \ + UsePAM yes \ + Subsystem sftp /usr/lib/openssh/sftp-server" > /etc/ssh/sshd_config # Create a user 'claw' (UID 1000) with sudo access RUN useradd -m -s /bin/bash -u 1000 claw && \ - echo "claw ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \ - chmod -R g+rwX /home/claw + echo "claw ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \ + chmod -R g+rwX /home/claw # Prepare volume mount point # Mount persistent storage here VOLUME /data RUN mkdir -p /data && \ - chown claw:claw /data && \ - chmod 775 /data + chown claw:claw /data && \ + chmod 775 /data # Set working directory to the persistent volume WORKDIR /data