the universal sandbox runtime for agents and humans. pocketenv.io
sandbox openclaw agent claude-code vercel-sandbox deno-sandbox cloudflare-sandbox atproto sprites daytona
7
fork

Configure Feed

Select the types of activity you want to include in your feed.

enable compat_dir s3fs option

+14 -3
+14 -3
apps/cf-sandbox/src/providers/cloudflare/index.ts
··· 92 92 async mount(path: string, prefix?: string): Promise<void> { 93 93 try { 94 94 await this.mkdir(path); 95 + 95 96 const passwdFile = `/tmp/.passwd-s3fs-${crypto.randomUUID()}`; 96 - await this.writeFile(passwdFile, `${env.R2_ACCESS_KEY_ID}:${env.R2_SECRET_ACCESS_KEY}`); 97 + 98 + await this.writeFile( 99 + passwdFile, 100 + `${env.R2_ACCESS_KEY_ID}:${env.R2_SECRET_ACCESS_KEY}`, 101 + ); 102 + 97 103 await this.sh`chmod 0600 '${passwdFile}'`; 98 - const bucketPath = prefix ? `${env.VOLUME_BUCKET}:${prefix}` : env.VOLUME_BUCKET; 99 - await this.sh`s3fs '${bucketPath}' '${path}' -o 'passwd_file=${passwdFile},nomixupload,url=https://${env.ACCOUNT_ID}.r2.cloudflarestorage.com'`; 104 + 105 + const bucketPath = prefix 106 + ? `${env.VOLUME_BUCKET}:${prefix}` 107 + : env.VOLUME_BUCKET; 108 + 109 + await this 110 + .sh`s3fs '${bucketPath}' '${path}' -o 'passwd_file=${passwdFile},nomixupload,compat_dir,url=https://${env.ACCOUNT_ID}.r2.cloudflarestorage.com'`; 100 111 } catch (e) { 101 112 console.log(e); 102 113 }