mirror of
https://github.com/andatoshiki/toshiki-notebook.git
synced 2026-06-06 09:16:45 +00:00
56 lines
17 KiB
JavaScript
56 lines
17 KiB
JavaScript
import{_ as s,c as n,o as a,R as e}from"./chunks/framework.a1bac067.js";const B=JSON.parse('{"title":"Configure rclone for R2","description":"","frontmatter":{},"headers":[],"relativePath":"development/rclone-for-r2.md","filePath":"development/rclone-for-r2.md","lastUpdated":1684907474000}'),l={name:"development/rclone-for-r2.md"},o=e(`<h1 id="configure-rclone-for-r2" tabindex="-1">Configure rclone for R2 <a class="header-anchor" href="#configure-rclone-for-r2" aria-label="Permalink to "Configure rclone for R2""></a></h1><p>Example of how to configure <code>rclone</code> to use R2.</p><p>You must <a href="https://developers.cloudflare.com/r2/data-access/s3-api/tokens/" target="_blank" rel="noreferrer">generate an Access Key</a> before getting started. All examples will utilize <code>access_key_id</code> and <code>access_key_secret</code> variables which represent the <strong>Access Key ID</strong> and <strong>Secret Access Key</strong> values you generated.</p><p>With <code>[rclone](https://rclone.org/install/)</code> installed, you may run <code>[rclone config](https://rclone.org/s3/)</code> to configure a new S3 storage provider. You will be prompted with a series of questions for the new prvider details.</p><p>If you have already configured <code>rclone</code> in the past, you may run <code>rclone config file</code> to print the location of your <code>rclone</code> configuration file:</p><div class="language-bash vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight vp-code-dark"><code><span class="line"><span style="color:#FFCB6B;">$</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rclone</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">config</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">file</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># Configuration file is stored at:</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># ~/.config/rclone/rclone.conf</span></span></code></pre><pre class="shiki one-dark-pro vp-code-light"><code><span class="line"><span style="color:#61AFEF;">$</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">rclone</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">config</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">file</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># Configuration file is stored at:</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># ~/.config/rclone/rclone.conf</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><p>Then use an editor (<code>nano</code> or <code>vim</code>, for example) to add or edit the new provider. This example assumes you are adding a new <code>r2demo</code> provider:</p><div class="language-bash vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight vp-code-dark"><code><span class="line"><span style="color:#89DDFF;">[</span><span style="color:#A6ACCD;">r2demo</span><span style="color:#89DDFF;">]</span></span>
|
||
<span class="line"><span style="color:#82AAFF;">type</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">s3</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">provider</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">Cloudflare</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">access_key_id</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">abc123</span><span style="color:#A6ACCD;"> </span><span style="color:#676E95;font-style:italic;"># Your access_key_id</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">secret_access_key</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">xyz456</span><span style="color:#A6ACCD;"> </span><span style="color:#676E95;font-style:italic;"># Your access_key_secret</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">endpoint</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://</span><span style="color:#89DDFF;"><</span><span style="color:#C3E88D;">accounti</span><span style="color:#A6ACCD;">d</span><span style="color:#89DDFF;">></span><span style="color:#C3E88D;">.r2.cloudflarestorage.com</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">acl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">private</span></span></code></pre><pre class="shiki one-dark-pro vp-code-light"><code><span class="line"><span style="color:#ABB2BF;">[r2demo]</span></span>
|
||
<span class="line"><span style="color:#56B6C2;">type</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">=</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">s3</span></span>
|
||
<span class="line"><span style="color:#61AFEF;">provider</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">=</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">Cloudflare</span></span>
|
||
<span class="line"><span style="color:#61AFEF;">access_key_id</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">=</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">abc123</span><span style="color:#ABB2BF;"> </span><span style="color:#7F848E;font-style:italic;"># Your access_key_id</span></span>
|
||
<span class="line"><span style="color:#61AFEF;">secret_access_key</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">=</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">xyz456</span><span style="color:#ABB2BF;"> </span><span style="color:#7F848E;font-style:italic;"># Your access_key_secret</span></span>
|
||
<span class="line"><span style="color:#61AFEF;">endpoint</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">=</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">https://</span><span style="color:#ABB2BF;"><</span><span style="color:#98C379;">accounti</span><span style="color:#ABB2BF;">d></span><span style="color:#98C379;">.r2.cloudflarestorage.com</span></span>
|
||
<span class="line"><span style="color:#61AFEF;">acl</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">=</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">private</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br></div></div><p>You may then use the new <code>rclone</code> provider for any of your normal workflows.</p><h2 id="list-buckets-objects" tabindex="-1">List buckets & objects <a class="header-anchor" href="#list-buckets-objects" aria-label="Permalink to "List buckets & objects""></a></h2><p>The <a href="https://rclone.org/commands/rclone_tree/" target="_blank" rel="noreferrer">rclone tree</a> command can be used to list the contents of the remote, in this case Cloudflare R2.</p><div class="language-bash vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight vp-code-dark"><code><span class="line"><span style="color:#FFCB6B;">$</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rclone</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">tree</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">r2demo:</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># ├── user-uploads</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># │ └── foobar.png</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># └── my-bucket-name</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># ├── cat.png</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># └── todos.txt</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#FFCB6B;">$</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rclone</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">tree</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">r2demo:my-bucket-name</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># ├── cat.png</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># └── todos.txt</span></span></code></pre><pre class="shiki one-dark-pro vp-code-light"><code><span class="line"><span style="color:#61AFEF;">$</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">rclone</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">tree</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">r2demo:</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># ├── user-uploads</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># │ └── foobar.png</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># └── my-bucket-name</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># ├── cat.png</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># └── todos.txt</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#61AFEF;">$</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">rclone</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">tree</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">r2demo:my-bucket-name</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># ├── cat.png</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># └── todos.txt</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br></div></div><h2 id="upload-and-retrieve-objects" tabindex="-1">Upload and retrieve objects <a class="header-anchor" href="#upload-and-retrieve-objects" aria-label="Permalink to "Upload and retrieve objects""></a></h2><p>The <a href="https://rclone.org/commands/rclone_copy/" target="_blank" rel="noreferrer">rclone copy</a> command can be used to upload objects to an R2 bucket and vice versa - this allows you to upload files up to the 5 TB maximum object size that R2 supports.</p><div class="language-bash vp-adaptive-theme line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki material-theme-palenight vp-code-dark"><code><span class="line"><span style="color:#676E95;font-style:italic;"># Upload dog.txt to the user-uploads bucket</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">$</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rclone</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">copy</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">dog.txt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">r2demo:user-uploads/dog.txt</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">$</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rclone</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">tree</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">r2demo:user-uploads</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># ├── foobar.png</span></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># └── dog.txt</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#676E95;font-style:italic;"># Download dog.txt from the user-uploads bucket</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">$</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">rclone</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">copy</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">r2demo:user-uploads/dog.txt</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">dog.txt</span></span></code></pre><pre class="shiki one-dark-pro vp-code-light"><code><span class="line"><span style="color:#7F848E;font-style:italic;"># Upload dog.txt to the user-uploads bucket</span></span>
|
||
<span class="line"><span style="color:#61AFEF;">$</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">rclone</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">copy</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">dog.txt</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">r2demo:user-uploads/dog.txt</span></span>
|
||
<span class="line"><span style="color:#61AFEF;">$</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">rclone</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">tree</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">r2demo:user-uploads</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># /</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># ├── foobar.png</span></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># └── dog.txt</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#7F848E;font-style:italic;"># Download dog.txt from the user-uploads bucket</span></span>
|
||
<span class="line"><span style="color:#61AFEF;">$</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">rclone</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">copy</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">r2demo:user-uploads/dog.txt</span><span style="color:#ABB2BF;"> </span><span style="color:#98C379;">dog.txt</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br></div></div><h2 id="generate-presigned-urls" tabindex="-1">Generate presigned URLs <a class="header-anchor" href="#generate-presigned-urls" aria-label="Permalink to "Generate presigned URLs""></a></h2><p>You can also generate presigned links which allow you to share public access to a file temporarily using the <a href="https://rclone.org/commands/rclone_link/" target="_blank" rel="noreferrer">rclone link</a> command.</p>`,17),p=[o];function t(r,c,i,y,d,C){return a(),n("div",null,p)}const b=s(l,[["render",t]]);export{B as __pageData,b as default};
|