Monday, April 06, 2026

Clawbert

This is my scratch pad for setting up and managing openclaw on my synology NAS using docker.


compose.yaml

services:
  openclaw-gateway:
#   image: ghcr.io/openclaw/openclaw:latest
    build: .
    container_name: openclaw-gateway
    hostname: clawbert-brain
    mac_address: 02:42:ac:12:34:56
    user: "1000:1000"
    environment:
      - TZ=America/Chicago
      - HOME=/home/node
      - OPENCLAW__GATEWAY__MODE=local
      - OPENCLAW_BROWSER_WS_ENDPOINT=ws://browserless:3000/?token=XXXX
      - HA_URL=http://10.0.0.114:8123
      - HA_TOKEN=XXXX
      - OPENCLAW_MAX_ITERATIONS=30
      - OPENCLAW_TOKEN=XXXX
    volumes:
      - /volume1/docker/openclaw/config:/home/node/.openclaw
      - /volume1/docker/openclaw/workspace:/home/node/.openclaw/workspace
      - /volume1/docker/openclaw/gog:/usr/local/bin/gog:ro
      - ./clawbert_config/machine-id:/etc/machine-id:ro
      - ./clawbert_config:/home/node/.config
      - ./gogcli_config:/home/node/.config/gogcli
    ports:
      - "18789:18789"
    extra_hosts:
      - "host.docker.internal:host-gateway"
    networks:
      - openclaw-net
    command: ["node", "dist/index.js", "gateway", "--bind", "lan", "--allow-unconfigured"]
    restart: unless-stopped
    depends_on:
      - browserless

  openclaw-cli:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw-cli
    user: "1000:1000"
    restart: "no"
    entrypoint: ["node", "dist/index.js"]
    volumes:
      - /volume1/docker/openclaw/config:/home/node/.openclaw
      - /volume1/docker/openclaw/workspace:/home/node/.openclaw/workspace

  browserless:
    image: ghcr.io/browserless/chromium:latest
    container_name: openclaw-browser
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      # Optional: Protect your browser so random internet scanners can't use it
      - TOKEN=XXXX
      - CONNECTION_TIMEOUT=6000000
      - MAX_CONCURRENT_SESSIONS=10
      - MAX_QUEUE_LENGTH=5
      - DEFAULT_BLOCK_ADS=true
      - HOST=browserless
    # CRITICAL: Chrome crashes without this shared memory setting
    shm_size: "2gb"
    networks:
      - openclaw-net
    cap_add:
      - SYS_ADMIN
    security_opt:
      - seccomp:unconfined

networks:
  openclaw-net:
    driver: bridge

Dockerfile

# 1. Start with the official OpenClaw image
FROM ghcr.io/openclaw/openclaw:latest

# 2. Switch to root to install system-level tools
USER root

# 3. Install Playwright OS dependencies AND the Google Cloud SDK
RUN apt-get update && apt-get install -y \
    libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 \
    libcups2 libdrm2 libxkbcommon0 libxcomposite1 \
    libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2 \
    apt-transport-https ca-certificates gnupg curl \
    && curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg \
    && echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \
    && apt-get update \
    && apt-get install -y google-cloud-cli \
    && rm -rf /var/lib/apt/lists/*

# 4. Permanently install the official Google Workspace CLI
RUN npm install -g @googleworkspace/cli

RUN chown -R node:node /home/node

# 5. Drop back down to the secure node user for normal operation
USER node

Backups



Updates

docker compose -p clawbert down
docker compose -p clawbert up -d --build --pull always
docker-compose run --rm openclaw-cli doctor --fix

Monday, April 29, 2019

Feelings

God does not control what you think, what you will, what you feel---you do. Find God's Will and conform yours to it. Once you think that, do that, you will feel that.

Tuesday, January 01, 2019

Minimize Ego

It's very hard to be offended, if you no longer have any ego. I think that we truly need to minimize our ego, so that God can work through us. By the way, this post is about no one but myself. I barely know myself let alone anyone else, but I thought I would share this insight that has helped me. The destruction of our own ego, our own will so that we may be more perfectly aligned to His Will is what we are all called to do. It removes a huge burden once we know, it's not our will, but Thine that must be done. Does this mean we need to constantly be anxious about us properly following His Will? No, it does not. We need to make the best judgement we can at every moment, but we shouldn't forget this His Divine Will has foreseen everything from the beginning of time, and has laid out all for His own Will. So even if we choose a path that seems to our limited perspective to have such a bad outcome, we must remember that God Himself has foreseen this and planned accordingly and expected us to make the best possible decision we could with the limited information available to us. "God I am nothing! Let me be your faithful servant!"

Tuesday, August 21, 2018

Uncertainty

What separates us from the angels? Of course there are many things, they are only spirit, we are body and spirit. They have perfect understanding, we do not. But the most important difference is that we can change while they cannot. There is some sort of disease in society today, this is a lack of uncertainty. Uncertainty is healthy. Uncertainty is human. Without uncertainty, we cannot change. The fallen angels know this, and that is probably why there is such a perceived stigma nowadays on uncertainty. Because if you are certain, you cannot change. The certainty cements your mind. And when you make a mistake, oh yes you will make a mistake, you will not be able to correct it due to your complete certainty. You will freeze yourself as an angel, and give up one of our great human powers---that is change. Now I don't mean you must never make a decision, certainly you are faced with many many decisions every day. However, you can make a decision without being certain, and when you make a bad decision, your uncertainty will allow you to change.

Monday, July 16, 2012

I was trying to get an HP t5565 thin client to open two browser windows fullscreen with one on the primary monitor and one on the secondary monitor.

I ended up using wmctrl and had it manually move one window to the second screen.  My webpages had the word Gelcoat in the title so I could key off that to get the window id.


#!/bin/bash
WID=$( wmctrl -l | grep Gelcoat | cut -f1 -d " " | tail -n 1 )
wmctrl -ir $WID -e 0,1920,0,1920,1080
WID=$( wmctrl -l | grep Gelcoat | cut -f1 -d " " | head -n 1 )
wmctrl -ia $WID


I had to add the last two lines to bring the primary display window to the front to cover the task bar again after moving the other window to the secondary display.


I then setup this script as a 'connection' and set the priority so that it would run after the two browser window connections were started.

Monday, October 24, 2011

Empathy Lost

em·pa·thy
the intellectual identification with or vicarious experiencing of the feelings, thoughts, or attitudes of another.[1] 
Many today have lost a sense of empathy.  They seem unwilling, and even incapable, of seeing outside of their own image.  Everything in the world is treated as if it was made in their image and likeness.

Most children are not born with empathy.  In fact, when young, children behave in a manner assuming others see through their eyes, hear with their ears, feel with their hands. This is why a two-year old will stand in from of a screen that you are trying to see.  They don't even realize someone else might not be able to see.  If they can see, they assume everyone must be able to see.  The same goes for the young child who hides by hiding their eyes or head.  Since they cannot see you, they therefore assume that you cannot see them.

Eventually, we learn to see things from another's perspective.  We are able to place ourselves in their shoes, see from their eyes, feel from their hands.  However, this learning seems to have been lost.  Many grow up nowadays without any sense of empathy whatsoever.  They maintain the attitude of the two-year old.

I see this in how they treat others, I see this in their expectations of others, in their desires for others.  For example, one may hardly ever get colds, while another gets colds quite often.  To the un-empathetic, it seems that the sick one is doing something wrong.  "I don't get the cold, it must all be in the other's head." This is very, very wrong, and can lead to many injustices as well as poor decisions.  For example, I am personally not allergic to poison ivy.  However, it would be wrong for me to tell those who are allergic that it is all in their head and toss poison ivy on them. 

We can see the same thing when we make decisions for ourselves.  Since we assume that everyone is made in our image, what is good for them must also be good for us.  This leads to bad, bad decisions.  What is good for someone else, may be disastrous for me, and something that would not be good for another could be just what I need.

Empathy is important and something we should both strive to learn, and something we should teach our own children.  Empathy is part of growing up, too many today do not grow up.  Growing up is impossible without empathy.

Friday, September 30, 2011

Conspiracy

People like to talk about movies they've watched.  People like to talk about the weather.  Why is this?  It is because these are things that we do not have control over.  These are things that we cannot change.  So it is with conspiracies.  Why do people like conspiracy theories?  Because, as it is with movies, they are usually totally beyond the control of the average person.  But there is more: conspiracies are often used as excuses for not performing changes in our own lives, in our own behavior.  Conspiracies against us are the reasons we are failing, nothing we can do will change that, so there is no reason for us to change our lives.  People don't want to change their lives.  Change is hard.

I've heard more than one Christian who was overwhelmed with conspiracies.  But why do they forget: everything that happens, God allows.  I would have died a million times from disease, cars, accidents, if not for God's Will.  Why do we not trust Him to keep us safe and give us what we need to save our souls?  Some shadowy government agent should be the least of our worries.

I am often confused by the need of some people to 'get the message out'.  What is the purpose? What are you changing?  I can see specific instructions for specific situations, but the purpose of just spreading the information does not follow Christian standards.  Spreading information should have a direct purpose.  I would not go around telling people the performance of a particular contracter, without the imminent need of the person to know it.

Save your soul.  If an obsession with conspiracies is becoming an obstacle, cut it off.