{
  "schema_version": 1,
  "type": "app",
  "slug": "hydrogen-workspace",
  "title": "Hydrogen Workspace Image",
  "brief": "Slim Ubuntu 24.04 Docker image for Hydrogen Desktop — 1.82 GB (77% smaller than the cloud image). Public on ghcr.io, no auth needed.",
  "version": "1.0.0",
  "tags": [],
  "license": "MIT",
  "sample_prompts": [
    {
      "label": "Pull the hydrogen workspace image",
      "prompt": "docker pull ghcr.io/adom-inc/hydrogen-workspace:latest"
    },
    {
      "prompt": "Build the HD Docker image locally"
    },
    {
      "prompt": "Check hydrogen workspace image size"
    },
    {
      "prompt": "Push a new version of the workspace image"
    },
    {
      "prompt": "What's included in the hydrogen workspace image?"
    }
  ],
  "install": {
    "binary_name": "hydrogen-workspace",
    "install_dir": "",
    "install_hint": "",
    "version_cmd": ""
  },
  "readme": "# hydrogen-workspace\n\nThe official slim Docker image for [Hydrogen Desktop](https://github.com/adom-inc/hydrogen-desktop). Built on Ubuntu 24.04 to be binary-compatible with Adom cloud containers while being 77% smaller.\n\n## Quick Start\n\n```bash\ndocker pull ghcr.io/adom-inc/hydrogen-workspace:latest\ndocker run -d -p 8080:8080 --name hd ghcr.io/adom-inc/hydrogen-workspace:latest\n# Open http://localhost:8080 for code-server\n```\n\n## Image Stats\n\n| Metric | Value |\n|--------|-------|\n| Registry | `ghcr.io/adom-inc/hydrogen-workspace` |\n| Base OS | Ubuntu 24.04 (matches Adom cloud) |\n| Uncompressed | 1.82 GB |\n| Compressed pull | ~390 MB |\n| Visibility | Public (no auth needed) |\n| Architectures | linux/amd64 |\n\n## What's Included\n\nThe image ships the minimal runtime needed to bootstrap a full Adom workspace:\n\n- **code-server** 4.112.0 — VS Code in the browser on port 8080\n- **Node.js** 18 + npm 9\n- **Python** 3.12\n- **git** + **gh** (GitHub CLI)\n- **build-essential** + cmake + pkg-config + libssl-dev\n- **Utilities**: curl, wget, jq, unzip, zip, tar, openssh-client\n- **User**: `adom` (UID 1001) with passwordless sudo\n- **Locale**: en_US.UTF-8\n\n## What's NOT Included\n\nThese are installed at runtime by `gallia bootstrap`, keeping the base image lean:\n\n- Rust/cargo (via rustup)\n- Bun\n- KiCad\n- ARM toolchain (gcc-arm-none-eabi)\n- Adom CLI tools (adom-desktop, adom-wiki, etc.)\n- MCP servers\n\nThis means the image stays small and stable — tooling updates don't require image rebuilds.\n\n## Why This Exists\n\nThe original Adom cloud image (`registry.adom.inc/user-containers/default-vscode:latest`) is 7.85 GB because it includes KiCad (4.1 GB) and the ARM toolchain (2.9 GB). For Hydrogen Desktop users who don't need those, this slim image gives them:\n\n- 4x faster first-time pull\n- 77% less disk usage\n- Identical binary compatibility with cloud containers\n- Public registry (no Adom credentials needed)\n\n## Building From Source\n\n```bash\ngit clone https://github.com/adom-inc/hydrogen-desktop.git\ncd hydrogen-desktop\ndocker build -t ghcr.io/adom-inc/hydrogen-workspace:latest docker/\n```\n\n## CI/CD\n\nThe image auto-builds and pushes to ghcr.io on every push to `main` that touches `docker/`. Tags applied:\n\n- `latest` — always points to the newest build\n- `<git-sha>` — exact commit reference\n- `<YYYYMMDD>` — date-based tag for rollback\n\nWorkflow: `.github/workflows/docker-image.yml`\n\n## Dockerfile\n\n```dockerfile\nFROM ubuntu:24.04\n\nENV DEBIAN_FRONTEND=noninteractive\nARG CODE_SERVER_VERSION=4.112.0\n\nRUN apt-get update && apt-get install -y --no-install-recommends \\\n    ca-certificates curl wget git jq unzip zip tar \\\n    gnupg openssh-client sudo locales \\\n    build-essential cmake pkg-config libssl-dev \\\n    nodejs npm python3 python3-pip \\\n    && curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \\\n       | gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg \\\n    && echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" \\\n       > /etc/apt/sources.list.d/github-cli.list \\\n    && apt-get update && apt-get install -y --no-install-recommends gh \\\n    && curl -fsSL \"https://github.com/coder/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server_${CODE_SERVER_VERSION}_$(dpkg --print-architecture).deb\" \\\n       -o /tmp/code-server.deb \\\n    && dpkg -i /tmp/code-server.deb \\\n    && sed -i 's/# en_US.UTF-8/en_US.UTF-8/' /etc/locale.gen && locale-gen \\\n    && rm -f /tmp/code-server.deb \\\n    && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*\n\nENV LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8\n\nRUN groupadd -g 1001 adom \\\n    && useradd -m -u 1001 -g 1001 -s /bin/bash adom \\\n    && echo \"adom ALL=(ALL) NOPASSWD:ALL\" >> /etc/sudoers.d/adom \\\n    && chmod 0440 /etc/sudoers.d/adom\n\nRUN mkdir -p /home/adom/project && chown adom:adom /home/adom/project\n\nUSER adom\nWORKDIR /home/adom\nEXPOSE 8080 8765 8766\n\nCMD [\"code-server\", \"--bind-addr\", \"0.0.0.0:8080\", \"--auth\", \"none\", \"--disable-telemetry\", \"/home/adom/project\"]\n```\n\n## Ports\n\n| Port | Service |\n|------|---------|\n| 8080 | code-server (VS Code) |\n| 8765 | Reserved for Hydrogen relay |\n| 8766 | Reserved for adom-desktop relay |\n\n## Related\n\n- [Hydrogen Desktop](https://github.com/adom-inc/hydrogen-desktop) — the Tauri app that wraps this image\n- `gallia bootstrap` — runtime toolchain installer\n- Adom cloud containers — use the same Ubuntu 24.04 base\n",
  "author": {
    "name": "Kyle Bergstedt",
    "email": "kyle@adom.inc"
  },
  "visibility": {
    "public": true
  },
  "hero": null,
  "discovery_triggers": [],
  "discovery_pitch": null,
  "metadata": {},
  "created_at": "2026-05-28T05:28:49.345Z",
  "updated_at": "2026-05-28T05:28:49.345Z",
  "skills": []
}