<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/atom.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:fh="http://purl.org/syndication/history/1.0">
  <title>Posts tagged: dataops Archive</title>
  <id>https://pype.dev/tags/dataops/archive/atom.xml</id>
  <updated>2026-05-07T06:33:03Z</updated>
  <subtitle>All posts with the tag &#34;dataops&#34;</subtitle>
  <link href="https://pype.dev/tags/dataops/" rel="alternate" type="text/html"></link>
  <link href="https://pype.dev/tags/dataops/archive/atom.xml" rel="self" type="application/atom+xml"></link>
  <link href="https://pype.dev/tags/dataops/atom.xml" rel="current" type="application/atom+xml"></link>
  <author>
    <name>Nic Payne</name>
  </author>
  <generator uri="https://github.com/WaylonWalker/markata-go">markata-go</generator>
  <fh:complete></fh:complete>
  <entry>
    <title>DataOps</title>
    <id>https://pype.dev/dataops/</id>
    <updated>2026-05-07T06:33:03Z</updated>
    <published>2026-05-07T06:33:03Z</published>
    <link href="https://pype.dev/dataops/" rel="alternate" type="text/html"></link>
    <summary type="text">old: using-restic-to-backup-my-home-directory</summary>
    <content type="html">&lt;p&gt;old: &lt;a href=&#34;/using-restic-to-backup-my-home-directory/&#34; class=&#34;wikilink&#34; data-title=&#34;Using restic to backup my home directory&#34; data-description=&#34;I need to backup my personal $HOME to my NAS cause there&amp;#39;s a lot in there, and mostly my git projects with .env files all over. Plus some docker data&#34; data-date=&#34;2025-07-16&#34; data-preview=&#34;I need to backup my personal $HOME to my NAS cause there&amp;#39;s a lot in there, and mostly my git projects with .env files all over. Plus some docker data&#34;&gt;Using restic to backup my home directory&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;NOTE: zfs-ops is now in my &lt;a href=&#34;/forgejo/&#34; class=&#34;glossary-term&#34; title=&#34;self-hosted code forge - codeberg - fork of gittea&#34; data-hover-title=&#34;forgejo&#34;&gt;forgejo&lt;/a&gt; instance. ghost, ghost-vault, and my desktop clone from forgejo&#xA;NOTE: zfs-ops and homelab-mono/dataops are separate, they could be combined&lt;/p&gt;&#xA;&lt;h2 id=&#34;things-to-backup&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Things to Backup&lt;/span&gt; &lt;a href=&#34;#things-to-backup&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Desktop&#xA;&lt;ul&gt;&#xA;&lt;li&gt;projects + workspaces&#xA;sans .venv and other stuff&lt;/li&gt;&#xA;&lt;li&gt;home directory&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Server&#xA;&lt;ul&gt;&#xA;&lt;li&gt;zfs datasets in tank (nas, &lt;a href=&#34;/docker/&#34; class=&#34;glossary-term&#34; title=&#34;docker - container runtime&#34; data-hover-title=&#34;docker&#34;&gt;docker&lt;/a&gt;, etc.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;aurora-desktop-disk-layout&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;Aurora (Desktop) Disk Layout&lt;/span&gt; &lt;a href=&#34;#aurora-desktop-disk-layout&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&lt;thead&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Device&lt;/th&gt;&#xA;&lt;th&gt;Size&lt;/th&gt;&#xA;&lt;th&gt;Pool&lt;/th&gt;&#xA;&lt;th&gt;Datasets&lt;/th&gt;&#xA;&lt;th&gt;Mounts&lt;/th&gt;&#xA;&lt;th&gt;Role&lt;/th&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/thead&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Samsung 970 EVO NVMe&lt;/td&gt;&#xA;&lt;td&gt;500 GB&lt;/td&gt;&#xA;&lt;td&gt;—&lt;/td&gt;&#xA;&lt;td&gt;—&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;/&lt;/code&gt;, &lt;code&gt;/home&lt;/code&gt;, &lt;code&gt;/boot&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Boot + OS&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Samsung 870 EVO SATA&lt;/td&gt;&#xA;&lt;td&gt;1 TB&lt;/td&gt;&#xA;&lt;td&gt;—&lt;/td&gt;&#xA;&lt;td&gt;—&lt;/td&gt;&#xA;&lt;td&gt;—&lt;/td&gt;&#xA;&lt;td&gt;VMs / scratch / future&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Crucial BX500 SATA&lt;/td&gt;&#xA;&lt;td&gt;2 TB&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;docker-storage-zfs&lt;/code&gt; 🡒 &lt;code&gt;orbit&lt;/code&gt; (planned)&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;volumes/&lt;/code&gt;, &lt;code&gt;projects/&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;/var/docker-storage-zfs&lt;/code&gt;, &lt;code&gt;~/projects&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;Primary — Docker volumes + projects&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;td&gt;Seagate IronWolf HDD&lt;/td&gt;&#xA;&lt;td&gt;4 TB&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;depot&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;&lt;code&gt;sanoid/&lt;/code&gt;, &lt;code&gt;restic/&lt;/code&gt;, &lt;code&gt;nvme-rsync/&lt;/code&gt;&lt;/td&gt;&#xA;&lt;td&gt;—&lt;/td&gt;&#xA;&lt;td&gt;Backup target&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;how&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;How&lt;/span&gt; &lt;a href=&#34;#how&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Desktop&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Will use 2TB disk, renaming docker-storage-zfs to orbin for kicks, I knew I&amp;rsquo;d regret naming it docker-storage-zfs anyways from &lt;a href=&#34;/desktop-crash-2026/&#34; class=&#34;wikilink&#34; data-title=&#34;Desktop Crash 2026&#34; data-description=&#34;Desktop crashed days ago, apparently my primary drive has been going bad for a while and eventually it just died.&#34; data-date=&#34;2026-04-22&#34; data-preview=&#34;Desktop crashed days ago, apparently my primary drive has been going bad for a while and eventually it just died.&#34;&gt;Desktop Crash 2026&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;projects&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;zfs dataset mounted to ~/projects&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; will need to ignore it in the $HOME backup solution&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;docker-volumes&lt;/code&gt; will just be named &lt;code&gt;volumes&lt;/code&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;mounted to &lt;code&gt;/var/docker-storage-zfs/&lt;/code&gt;, might change mountpoint, only relevant to my compose files&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;$HOME&lt;/code&gt; directory is NOT zfs&#xA;&lt;ul&gt;&#xA;&lt;li&gt;rsync to a zfs dataset on an external SSD, same one that projects is on but the difference is that projects is mounted from there and the home directory is just backed up to it.&lt;/li&gt;&#xA;&lt;li&gt;from there backup to NAS just like projects&amp;hellip; so no matter what we&amp;rsquo;ll go from the 2 or 4 TB disk in my desktop to ghost:/tank/&amp;hellip; and then tank replicates to to the harbor zpool, and that&amp;rsquo;s all local in my house across 2 machines (desktop and NAS, NAS has tank and harbor)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Local backup to 4TB disk on device, pool will be &lt;code&gt;depot&lt;/code&gt; and I can setup &lt;code&gt;depot&lt;/code&gt; -&amp;gt; &lt;code&gt;tank&lt;/code&gt; if I find it relevant&amp;hellip;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the redundancy to my NAS would give me only redundancy, maybe for off-site set something up from &lt;code&gt;depot&lt;/code&gt; -&amp;gt; &lt;code&gt;ghost-vault:/tank&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; ?? $HOME&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; ?? projects&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; ??docker volumes&#xA;&lt;ul&gt;&#xA;&lt;li&gt;specific volumes maybe?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Server&#xA;&lt;ul&gt;&#xA;&lt;li&gt;tank -&amp;gt; harbor is local redundancy&lt;/li&gt;&#xA;&lt;li&gt;sanoid sends configured zfs datasets from tank -&amp;gt; ghost-vault&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;todos&#34;&gt;&lt;span class=&#34;heading-wear-glyph&#34;&gt;TODOs&lt;/span&gt; &lt;a href=&#34;#todos&#34; class=&#34;heading-anchor&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; rename &lt;code&gt;docker-storage-zfs&lt;/code&gt; to &lt;code&gt;orbit&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; create &lt;code&gt;projects&lt;/code&gt; zfs dataset in &lt;code&gt;orbit&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; setup zfs dataset for home directory backup on &lt;code&gt;orbit&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; set mountpoint for projects&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; set mountpoint for docker volumes dataset&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; restart the ai stack containers after validating compose file volume path is correct&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the &amp;ldquo;&amp;hellip;/volume/&amp;rdquo; part will probably be wrong&lt;/li&gt;&#xA;&lt;li&gt;just kept the mountpoint as /var/docker-storage-zfs/&lt;em&gt;for orbit/volumes/&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; setup appropriate backup (rsync, restic, etc.) for home directory to &lt;code&gt;orbit&lt;/code&gt;&amp;rsquo;s backup dataset&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; setup sanoid snapshot schedule in zfs-ops&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; setup syncoid script/systemd for &lt;code&gt;orbit&lt;/code&gt; to &lt;code&gt;depot&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; recover the rest of my projects from emergency or home-restore&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; remove orbit/emergency&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; remove orgit/home-restore&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; remove orbit/volumes/mcphub&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; remove orbit/volumes/tdarr maybe?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content>
    <author>
      <name>Nic Payne</name>
      <uri>https://pype.dev</uri>
    </author>
  </entry>
</feed>