Skip to content

Commit 1f9dc9d

Browse files
committed
Add ZFS-FUSE setup instructions for browser development
Document how to set up ZFS-FUSE in Claude Code's browser-based environment where kernel ZFS modules are unavailable. Instructions cover downloading Debian packages and creating a file-backed pool for testing ZFS metadata operations.
1 parent 4df2616 commit 1f9dc9d

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

CLAUDE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
88
1.1. **Entry Points** (`cmd/`)
99
2. **Frontend code** (`ui/`)
1010

11+
## Development Environment
12+
For ZFS-FUSE setup in Claude Code browser environment, see CONTRIBUTING.md ("ZFS-FUSE for Claude Code" section).
13+
1114
## Build/Test/Lint Commands
1215
- Build all components: `cd engine && make build`
1316
- Lint code: `cd engine && make run-lint`

CONTRIBUTING.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,28 @@ Components have a separate version, denoted by either:
313313
```
314314
- Install `golangci-lint`: https://github.com/golangci/golangci-lint#install
315315

316+
#### ZFS-FUSE for Claude Code (browser environment)
317+
When developing in Claude Code's browser-based environment (gVisor sandbox), kernel ZFS modules are unavailable. Use ZFS-FUSE instead:
318+
319+
```bash
320+
# Download packages from Debian (network to Ubuntu repos may be restricted)
321+
mkdir -p /tmp/zfs-install && cd /tmp/zfs-install
322+
curl -sLO "https://deb.debian.org/debian/pool/main/z/zfs-fuse/zfs-fuse_0.7.0-33_amd64.deb"
323+
curl -sLO "https://deb.debian.org/debian/pool/main/f/fuse3/fuse3_3.17.2-3_amd64.deb"
324+
curl -sLO "https://deb.debian.org/debian/pool/main/f/fuse3/libfuse3-4_3.17.2-3_amd64.deb"
325+
curl -sLO "https://deb.debian.org/debian/pool/main/liba/libaio/libaio1t64_0.3.113-8+b1_amd64.deb"
326+
327+
# Install packages
328+
sudo dpkg -i libaio1t64_*.deb libfuse3-4_*.deb fuse3_*.deb zfs-fuse_*.deb
329+
330+
# Start daemon and create a file-backed pool
331+
sudo zfs-fuse -n &
332+
truncate -s 500M /tmp/zfs-disk.img
333+
sudo zpool create -f testpool /tmp/zfs-disk.img
334+
```
335+
336+
Note: Pool/snapshot/clone operations work, but FUSE mounting may fail due to gVisor limitations. This is sufficient for testing ZFS metadata operations.
337+
316338
<!-- TODO: Linux specific requirements? MacOS specific? -->
317339
318340

0 commit comments

Comments
 (0)