<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Swarms on Cohan Robinson</title>
        <link>https://cohan.dev/swarm/</link>
        <description>Recent content in Swarms on Cohan Robinson</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-gb</language>
        <copyright>All rights reserved</copyright>
        <lastBuildDate>Thu, 10 Apr 2025 22:17:52 +0100</lastBuildDate>
        <atom:link href="https://cohan.dev/swarm/index.xml" rel="self" type="application/rss+xml" />
        
        <item>
            <title>Swarm log 2025-04-10</title>
            <link>https://cohan.dev/swarm/2025-04-10/</link>
            <pubDate>Thu, 10 Apr 2025 22:17:52 +0100</pubDate>
            
            <guid>https://cohan.dev/swarm/2025-04-10/</guid>
            <description>&lt;p&gt;What I did with the swarm on 10 Apr 2025&lt;/p&gt;</description>
            <content type="html"><![CDATA[<p>What I did with the swarm on 10 Apr 2025</p>
<h2 id="2217">22:17</h2>
<p>Had a look at other distributed fs options. Might give Ceph a go <a href="https://geek-cookbook.funkypenguin.co.nz/docker-swarm/shared-storage-ceph/">based on this article</a> but I&rsquo;m always a bit wary I don&rsquo;t have enough resources for Ceph, haha.</p>
<p>It seems so Enterprise and I don&rsquo;t have Enterprise budget. I&rsquo;ll see how it handles anyway.</p>]]></content>
        </item>
        
        <item>
            <title>Swarm log 2025-03-24</title>
            <link>https://cohan.dev/swarm/2025-03-24/</link>
            <pubDate>Mon, 24 Mar 2025 15:11:02 +0000</pubDate>
            
            <guid>https://cohan.dev/swarm/2025-03-24/</guid>
            <description>&lt;p&gt;What I did with the swarm on 2025-03-24&lt;/p&gt;</description>
            <content type="html"><![CDATA[<p>What I did with the swarm on 2025-03-24</p>
<h2 id="1941">19:41</h2>
<h3 id="swarmfs">swarmfs</h3>
<p>I&rsquo;m using docker swarm via coolify. I want to make a sorts-itself replicated file system to store persistent data on.</p>
<p>Handling multiple read writes and stuff like that is beyond the scope of this for now. Just don&rsquo;t be silly and it won&rsquo;t break.</p>
<h4 id="garagehttpsgaragehqdeuxfleursfr"><a href="https://garagehq.deuxfleurs.fr/">Garage</a></h4>
<p>Distributed object store exposed as an s3 API.</p>
<p>Note to self: <a href="https://garagehq.deuxfleurs.fr/documentation/cookbook/real-world/">XFS formatted</a> (scroll to like the third best practise)</p>
<blockquote>
<p>We recommend using XFS for the data partition, as it has the best performance. EXT4 is not recommended as it has more strict limitations on the number of inodes, which might cause issues with Garage when large numbers of objects are stored.</p>
</blockquote>
<p>Rgr.</p>
<h4 id="juicefshttpsjuicefscomdocscommunityintroduction"><a href="https://juicefs.com/docs/community/introduction/">JuiceFS</a></h4>
<p>Turn the s3 object storage into a POSIX (is that right?) file system and mount it for use on the parent node and from there services and containers</p>
<p>Two options here, give JuiceFS a mount like /swarmfs:/swarmfs and bosh it&rsquo;s available on the host.</p>
<p>Option two: <a href="https://github.com/juicedata/docker-volume-juicefs">as a volume driver</a></p>
<p>Either way needs a redis server. Ideally clustered but I&rsquo;ll just do the one nodule for now to get a proof of concept working.</p>
<h3 id="goal">Goal</h3>
<p>I want it so that when I docker swarm join a new worker node to the cluster, give it a moment, and it&rsquo;ll be running the garage+juicefs services ready to boot any service on the swarm.</p>
<p>Crazy wild day for traffic? Just start pumping out <a href="https://fly.io/docs/machines/?ref=cohan.dev">Fly Machines</a> or something like docker swarm is going out of style.</p>]]></content>
        </item>
        
    </channel>
</rss>
