<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Getting Started on OpenClaw Deploy</title><link>http://tardigrde.github.io/openclaw-deploy/getting-started/</link><description>Recent content in Getting Started on OpenClaw Deploy</description><generator>Hugo</generator><language>en</language><atom:link href="http://tardigrde.github.io/openclaw-deploy/getting-started/index.xml" rel="self" type="application/rss+xml"/><item><title>Installation</title><link>http://tardigrde.github.io/openclaw-deploy/getting-started/installation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tardigrde.github.io/openclaw-deploy/getting-started/installation/</guid><description>&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Terraform&lt;/strong&gt; &amp;gt;= 1.5 (&lt;a href="https://developer.hashicorp.com/terraform/install"&gt;install&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ansible&lt;/strong&gt; (&lt;a href="https://docs.ansible.com/projects/ansible/latest/installation_guide/intro_installation.html"&gt;install&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;age&lt;/strong&gt; and &lt;strong&gt;sops&lt;/strong&gt; — required for secret encryption (&lt;code&gt;make secrets-encrypt&lt;/code&gt;). Install via your package manager or &lt;a href="https://github.com/FiloSottile/age/releases"&gt;age releases&lt;/a&gt; / &lt;a href="https://github.com/getsops/sops/releases"&gt;sops releases&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;jq&lt;/strong&gt; — required for &lt;code&gt;make validate&lt;/code&gt;. Install via your package manager.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hetzner Cloud account&lt;/strong&gt; with API token (&lt;a href="https://console.hetzner.cloud/"&gt;console&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSH key&lt;/strong&gt; uploaded to Hetzner Cloud. Default path: &lt;code&gt;~/.ssh/id_rsa&lt;/code&gt;. Override with &lt;code&gt;SSH_KEY&lt;/code&gt; env var.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;(Optional)&lt;/em&gt; &lt;strong&gt;Remote Terraform state&lt;/strong&gt; — the default is local (no setup needed). For GCS or other remote backends, see &lt;a href="http://tardigrde.github.io/openclaw-deploy/operations/remote-state/"&gt;Remote State Backend&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="1-clone"&gt;1. Clone&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/tardigrde/openclaw-deploy.git
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd openclaw-deploy
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="2-configure-infrastructure-secrets"&gt;2. Configure infrastructure secrets&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp secrets/inputs.example.sh secrets/inputs.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vim secrets/inputs.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Required: &lt;code&gt;HCLOUD_TOKEN&lt;/code&gt;, &lt;code&gt;TF_VAR_ssh_key_fingerprint&lt;/code&gt; (from &lt;a href="https://console.hetzner.cloud/"&gt;Hetzner Console&lt;/a&gt; → Security → SSH Keys). See &lt;a href="http://tardigrde.github.io/openclaw-deploy/configuration/secrets/"&gt;Secrets Reference&lt;/a&gt; for the full variable reference and Tailscale-specific notes.&lt;/p&gt;</description></item><item><title>Deployment &amp; Bootstrap</title><link>http://tardigrde.github.io/openclaw-deploy/getting-started/bootstrap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://tardigrde.github.io/openclaw-deploy/getting-started/bootstrap/</guid><description>&lt;p&gt;Continues from &lt;a href="http://tardigrde.github.io/openclaw-deploy/getting-started/installation/"&gt;Installation&lt;/a&gt;. Run &lt;code&gt;source secrets/inputs.sh&lt;/code&gt; before any make target that touches the VPS.&lt;/p&gt;
&lt;h2 id="5-provision-the-vps"&gt;5. Provision the VPS&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;source secrets/inputs.sh
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make init
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make plan
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make apply
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="6-configure-container-secrets"&gt;6. Configure container secrets&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp secrets/.env.example secrets/.env
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vim secrets/.env
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Required: &lt;code&gt;OPENCLAW_GATEWAY_TOKEN&lt;/code&gt;, &lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt; (or leave empty for subscription auth), &lt;code&gt;TELEGRAM_BOT_TOKEN&lt;/code&gt;. See &lt;a href="http://tardigrde.github.io/openclaw-deploy/configuration/secrets/"&gt;Secrets Reference&lt;/a&gt; for the full variable reference.&lt;/p&gt;</description></item></channel></rss>