the-internet-vagabond-dot-com/2020/07/19/syncthing-part-1.html
2025-01-09 13:43:40 -06:00

255 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<title>The Internet Vagabond :: Brief Exploration of Syncthing</title>
<link type="application/atom+xml" rel="alternate" href="https://www.theinternetvagabond.com/feed.xml" title="The Internet Vagabond" />
<meta name="description"
content="Rants of a wandering techy, in search of truth, knowledge, and a decent ping." />
<meta name="author" content="Bill Niblock" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="canonical" href="https://www.theinternetvagabond.com/2020/07/19/syncthing-part-1.html" />
<link rel="stylesheet" type="text/css"
href="https://www.theinternetvagabond.com/src/styles/corrupt_layout.css" />
<link rel="stylesheet" type="text/css"
href="https://www.theinternetvagabond.com/src/styles/corrupt_typog.css" />
<link rel="icon" type="image/x-icon"
href="https://www.theinternetvagabond.com/src/images/favicon.ico" />
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
crossorigin="anonymous">
<script data-goatcounter="https://theinternetvagabond.goatcounter.com/count"
async src="https://www.theinternetvagabond.com/src/scripts/goatcounter.js"></script>
</head>
<body>
<div class="cor_page">
<header>
<a href="/">
<div>
<span class="first">T</span>he
<span class="first">I</span>nternet
<span class="first">V</span>agabond
</div>
</a>
</header>
<main>
<article>
<h1 id="a-brief-exploration-of-syncthing">A Brief Exploration of Syncthing</h1>
<p>Syncthing is an incredible tool. Many days past I stumbled upon it as an
alternative to Dropbox. Its different from Dropbox, or similar services,
though, in a number of ways. For one, Syncthing is a peer-to-peer
synchronization program, whereas Dropbox is a centralized file storage and
synchronization service. When you setup and use Syncthing, the files only ever
live on whichever peers you setup. This is different from Dropbox, or similar
services, where files live on their servers. Theres more to it, and for all the
details, the <a href="https://syncthing.net/">Syncthing</a> website provides plentiful
information.</p>
<p>In this post, I want to discuss how to setup Syncthing, and some use-cases for
it. In future posts, I want to explore setting up custom relay servers, and
perhaps some more use-cases as well.</p>
<h2 id="setup">Setup</h2>
<p>Install the appropriate package for your operating system. Syncthing is
available on just about every OS out there. Syncthing already has <a href="https://docs.syncthing.net/intro/getting-started.html">thorough
installation
documentation</a>, so I
wont re-write whats already available. I will discuss how I setup my Syncthing
instead.</p>
<p>On my desktop, running Arch Linux, I installed the necessary package:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ sudo pacman -S syncthing
</code></pre></div></div>
<p>When I was running Gnome, I also installed <code class="language-plaintext highlighter-rouge">syncthing-gtk</code> to provide a tray
icon. After my switch to KDE Plasma, the Syncthing application displays a tray
icon by default, and so I removed the now unnecessary package. When I had a
Windows partition, I also installed <code class="language-plaintext highlighter-rouge">SyncTrazor</code> for a tray icon.</p>
<p>The second device of choice is my Android phone, where I installed the Syncthing
app (helpfully available on F-Droid too!).</p>
<p>With packages installed on both devices, I then followed the guide. All things
considered, it was a very easy process.</p>
<h2 id="use-case-music">Use-Case: Music</h2>
<p>One of the most immediate uses I had for Syncthing was music. I finally decided
to drop all streaming services, and start buying my music. As a result, I
suddenly had a growing music library available on my desktop. This was the
primary reason I decided to try Syncthing: to get music files from my desktop
onto my phone. After setup, syncing was a breeze. The new problem became space:
I have quite a bit of music now, and I dont necessarily want all of it on my
phone. Conveniently, Syncthing allows for creating a <code class="language-plaintext highlighter-rouge">.stignore</code> file, which
tells Syncthing which files to exclude from synchronizing. The
<a href="https://docs.syncthing.net/users/ignoring.html">documentation</a> provides a great
breakdown of available options. One challenge is that the <code class="language-plaintext highlighter-rouge">.stignore</code> file is
<strong>not</strong> synchronized. To get around this, I setup my ignore file to include a
second file, which <em>does</em> get synchronized. That file lists every directory and
subdirectory in my music folder, and then ends with <code class="language-plaintext highlighter-rouge">**/*</code>. For any directory or
subdirectory (generally artist and album, respectively) that I want to sync, I
place a <code class="language-plaintext highlighter-rouge">!</code> before it. The eventual plan is to automatically update the file
whenever new music is added to the directory. When I get around to that, Ill
almost certainly post about it.</p>
<h2 id="use-case-notes--to-do">Use-Case: Notes / To-Do</h2>
<p>Not long after music, I started looking around for a good to-do / note-taking
app for my phone. I wanted an application that was simple, without bells and
whistles. I tried a few before settling on
<a href="https://gsantner.net/project/markor.html">Markor</a>. This app is wonderful.
Everything I want, with almost nothing I dont. Its open-source, actively
developed, available on F-Droid; it works on local files, and <em>thats it</em>. I
started using it to track my gym workouts, make grocery lists, or track
suggestions for media. As long as I was on wi-fi, those files were waiting for
me on my desktop. Very convenient, simple, and effective.</p>
<h2 id="use-case-pictures">Use-Case: Pictures</h2>
<p>Another straight-forward use case: synchronizing pictures. As I continue to
“de-Google” my life, I needed a replacement for Google Photos. I have a Flickr,
but Im not certain that Ill hang onto it. For now, I just need a simple way to
synchronize pictures between my phone and my desktop, and Syncthing provides
that.</p>
<h1 id="100-days">100 Days</h1>
<p>Im writing this post as part of
<a href="https://100daystooffload.com">#100DaysToOffload</a>, an initiative to inspire
writing habits. Perhaps you could do the same.</p>
<h1 id="sources">Sources</h1>
<ul>
<li><a href="https://syncthing.net/">Syncthing</a></li>
<li><a href="https://github.com/canton7/SyncTrayzor">SyncTrayzor</a></li>
<li><a href="https://gsantner.net/project/markor.html">Markor</a></li>
</ul>
<div class="author_info">
Bill Niblock
<a href="https://unlicense.org/"
aria-label="Code dedicated to the public domain under Unlicense">
<span class="fa fa-cc-pd" aria-hidden="true"
title="Code dedicated to the public domain under Unlicense"</span>
</a>
<a href="https://creativecommons.org/publicdomain/zero/1.0/"
aria-label="Published to the public domain under CC0">
<span class="fa fa-cc-zero" aria-hidden="true"
title="Content dedicated to the public domain under CC0"</span>
</a>
2020-07-19
<br />
[
<a href="/topics/technology">technology</a>
]
</div>
</article>
</main>
<footer>
<nav>
<div><a href="/">home</a></div>
<div><a href="/topics/all">all</a></div>
<div><a href="/topics/gaming">gaming</a></div>
<div><a href="/topics/life">life</a></div>
<div><a href="/topics/philosophy">philosophy</a></div>
<div><a href="/topics/technology">technology</a></div>
<div><a href="/topics/writing">writing</a></div>
</nav>
<hr />
<div><a href="https://www.theinternetvagabond.com/now">Life In Progress</a></div>
<hr />
<section class="h-card">
<section class="footer_about" id="about">
<div>The Site</div>
<div>
<a href="https://www.theinternetvagabond.com/feed.xml"
aria-label="RSS feed for the site">
<span class="fa fa-rss" aria-hidden="true"
title="RSS Feed"</span>
</a> |
<a href="https://theinternetvagabond.goatcounter.com/"
aria-label="GoatCounter statistics for the site">
<span class="fa fa-bar-chart" aria-hidden="true"
title="GoatCounter Statistics"</span>
</a> |
<a href="https://codeberg.org/VagabondAzulien/the-internet-vagabond-dot-com"
aria-label="Source code repository for the site">
<span class="fa fa-code" aria-hidden="true"
title="Site Source Code"</span>
</a>
</div>
<a class="u-url u-uid" href="https://theinternetvagabond.com"></a>
<p>
This site is a small slice of internet real-estate that I use for
occasional writing. Nothing I say is visionary or profound. I
focus on technology, gaming, and philosophy. All opinions my
own.
</p>
<div>The Vagabond</div>
<div>
<a rel="me"
href="mailto:bill@theinternetvagabond.com"
aria-label="Email Bill at The Internet Vagabond dot com">
<span class="fa fa-envelope-o" aria-hidden="true"
title="Email bill at theinternetvagabond.com"</span>
</a> |
<a class="u-url" rel="me"
href="https://matrix.to/#/@vagabondazulien:matrix.org"
aria-label="Speak with me on Matrix">
<span class="fa fa-matrix-org" aria-hidden="true"
title="Speak with me on Matrix"</span>
</a> |
<a class="u-url" rel="me"
href="https://mastodon.social/@azulien"
aria-label="Find me on the Fediverse">
<span class="fa fa-mastodon" aria-hidden="true"
title="Find me on the Fediverse"</span>
</a> |
<a class="u-url" rel="me" href="https://www.twitch.tv/vagabondazulien/profile"
aria-label="Link to my Twitch channel">
<span class="fa fa-twitch " aria-hidden="true"
title="My Twitch channel"</span>
</a>
</div>
<p>
My name is <span class="p-name">Bill Niblock</span>. <span
class="p-note">I'm a computer scientist by education, a technologist
by trade, a gamer by hobby, and a philosopher by accident. I
live in <span class="p-locality">Buffalo</span>, <span class="p-region">
New York</span>, <span class="p-country-name">USA</span>.<br />
<br />
My PGP Key is <span class="u-key" id="key">CCE7 3682 331B 5614 9FAB
7383 7359 80B2 6381 C91E</span>.
</p>
</section>
<section style="display: none;">
<span class="p-category">Gaming</span>
<span class="p-category">Technology</span>
<span class="p-category">Philosophy</span>
<span class="p-category">Open Source Software</span>
<span class="p-category">Self-Hosting</span>
<span class="p-category">Coffee</span>
<span class="u-email">bill@theinternetvagabond.com</span>
</section>
</section>
</footer>
</div>
</body>
</html>