www.duckland.org/public/post/2020/01/progress-to-self-hosting/index.html
2022-06-05 09:26:14 -05:00

522 lines
17 KiB
HTML

<!DOCTYPE html>
<html lang="en-us">
<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "BlogPosting",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https:\/\/www.duckland.org\/"
},
"articleSection" : "post",
"name" : "Progress to Self-Hosting",
"headline" : "Progress to Self-Hosting",
"description" : "Walking the path to Self-Hosting",
"inLanguage" : "en",
"author" : "",
"creator" : "",
"publisher": "",
"accountablePerson" : "",
"copyrightHolder" : "",
"copyrightYear" : "2020",
"datePublished": "2020-01-25 04:00:00 -0700 -0700",
"dateModified" : "2020-01-25 04:00:00 -0700 -0700",
"url" : "https:\/\/www.duckland.org\/post\/2020\/01\/progress-to-self-hosting\/",
"wordCount" : "715",
"image" : "https://www.duckland.org//photos/Random/clouds2.webp"",
"keywords" : [ "Blog" ]
}
</script>
<title>Progress to Self-Hosting </title>
<meta name="description" content="Random Quacking" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="all,follow">
<meta name="googlebot" content="index,follow,snippet,archive">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
<link href="https://www.duckland.org/css/style.css?v=1654439072" rel="stylesheet" id="theme-stylesheet" type='text/css' media='all'>
<link href="https://www.duckland.org/css/custom.css?v=1654439072" rel="stylesheet" type='text/css' media='all'>
<link rel="shortcut icon" href="https://www.duckland.org/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://www.duckland.org/img/favicon.ico" type="image/x-icon">
</head>
<body class="post-template-default single single-post single-format-standard ct-body singular singular-post not-front standard">
<div id="overflow-container" class="overflow-container">
<a class="skip-content" href="#main">Skip to content</a>
<header id="site-header" class="site-header" role="banner">
<div class='top-navigation'>
<div class='container'>
<div id="menu-secondary" class="menu-container menu-secondary" role="navigation">
<button id="toggle-secondary-navigation" class="toggle-secondary-navigation"><i class="fas fa-plus"></i></button>
<div class="menu">
<ul id="menu-secondary-items" class="menu-secondary-items">
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/personal">personal</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/photos">photos</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/sa">sa</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/sitenews">sitenews</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/software">software</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/space">space</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/travel">travel</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/unix">unix</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
<a href="/categories/work">work</a>
</li>
</ul>
</div>
</div>
<ul class="social-media-icons">
<li>
<a href="https://twitter.com/duckunix" data-animate-hover="pulse" class="twitter" target="_blank">
<i class="fab fa-twitter-square" title="twitter"></i>
<span class="screen-reader-text">twitter</span>
</a>
</li>
<li>
<a href="https://www.instagram.com/duckunix/" data-animate-hover="pulse" class="instagram" target="_blank">
<i class="fab fa-instagram" title="instagram"></i>
<span class="screen-reader-text">instagram</span>
</a>
</li>
<li>
<a href="mailto:duck@duckland.org" data-animate-hover="pulse" class="email">
<i class="fas fa-envelope" title="email"></i>
<span class="screen-reader-text">email</span>
</a>
</li>
<li>
<a href="https://www.linkedin.com/in/donaldharper/" data-animate-hover="pulse" class="linkedin" target="_blank">
<i class="fab fa-linkedin-in" title="linkedin"></i>
<span class="screen-reader-text">linkedin</span>
</a>
</li>
<li>
<a href="https://github.com/duckunix" data-animate-hover="pulse" class="github" target="_blank">
<i class="fab fa-github" title="github"></i>
<span class="screen-reader-text">github</span>
</a>
</li>
<li>
<a href="https://www.duckland.org/index.xml" data-animate-hover="pulse" class="rss" target="_blank">
<i class="fas fa-rss" title="rss"></i>
<span class="screen-reader-text">rss</span>
</a>
</li>
</ul></div>
</div>
<div class="container">
<div id="title-info" class="title-info">
<div id='site-title' class='site-title'>
<a href="/"> duckland.org </a>
</div>
</div>
<button id="toggle-navigation" class="toggle-navigation">
<i class="fas fa-bars"></i>
</button>
<div id="menu-primary-tracks" class="menu-primary-tracks"></div>
<div id="menu-primary" class="menu-container menu-primary" role="navigation">
<p class="site-description">Random Quacking</p>
<div class="menu">
<ul id="menu-primary-items" class="menu-primary-items">
<li class='menu-item menu-item-type-custom menu-item-object-custom '>
<a href="https://www.duckland.org/">Home</a>
</li>
<li class='menu-item menu-item-type-post_type menu-item-object-page '>
<a href="https://www.duckland.org/stories/about/">About</a>
</li>
<li class='menu-item menu-item-type-post_type menu-item-object-page '>
<a href="https://www.duckland.org/stories/privacy/">Privacy</a>
</li>
<li class='menu-item menu-item-type-post_type menu-item-object-page '>
<a href="https://www.duckland.org/photos/">Photo Galleries</a>
</li>
</ul>
</div>
</div>
</div>
</header>
<div id="main" class="main" role="main">
<div id="loop-container" class="loop-container">
<div class="post type-post status-publish format-standard has-post-thumbnail hentry category-design tag-design tag-standard-2 tag-tagalicious tag-travel entry full-without-featured odd excerpt-1">
<div class='featured-image lazy lazy-bg-image' data-background="https://www.duckland.org/photos/Random/clouds2.webp">
</div>
<div class="entry-meta">
<span class="date">25 January</span> <span> / </span>
<span class="author">
<a href="https://www.duckland.org/" title="Posts by Don Harper" rel="author">Don Harper</a>
</span>
<span class="category">
<span> / </span>
<a href="/categories/sa">SA</a>
</span>
</div>
<div class='entry-header'>
<h1 class='entry-title'> Progress to Self-Hosting</h1>
</div>
<div class="entry-container">
<div class="entry-content">
<article>
<p>So, it has been about two months since I wrote <a href="https://www.duckland.org/post/2019/11/path-to-self-hosting/">Path to Self-Hosting</a> so I figured it was time for a check-in.</p>
<p>As a refresher, here is the list of services I came up with (I will probably add more):</p>
<ul>
<li>Email, both storage and web-access</li>
<li>Document storage</li>
<li>Media (Music and Videos)</li>
<li>Source control (git).</li>
<li>Calendar</li>
<li>Contacts</li>
<li>Password management</li>
</ul>
<p>So, how am I getting on? Let&rsquo;s take a look.</p>
<h2 id="email">Email</h2>
<p>I am still using GMail as my main mailbox, but I am trying to stay away from the web interface as much as I can. A long time ago, I set up mbsync to sync my GMail down to my laptop, and I use mutt to read emails from there. There are some emails which really need a GUI version to read it (mainly marketing type things), so I have a script to open it in FireFox.</p>
<p>I have been looking into places I can move my mailbox, but I need to figure out if I want to trust a third-party like Proton Mail or my hosting provider DreamHost, or if I want to stand up a mail server on a VPS somewhere.</p>
<h2 id="document-storage">Document storage</h2>
<p>I got an email from Google which told me that the promotional period on some storage was expiring, which got me to move everything personal out of Google Drive into my NextCloud server I run at home. I have to leave some things there as I use it as a file storage for an group I help run.</p>
<p>My <a href="https://www.nextcloud.com">NextCloud</a> server has been given a bit of attention. I upgraded it to 17.0.2 and converted the SQL storage from SQLite to MariaDB. Things seem to be going well with that. I also switched the docker container image from the NextCloud one to the one provided by <a href="https://LinuxServer.io">LinuxServer.io</a>. They do a good job of packaging up images and providing a common way to manage and configure their docker images. I have switched over all my images to use theirs where I can.</p>
<p>Next steps here are to upgrade to NextCloud Hub 18, which is the latest release, and to get everybody else in the house storing their files on the NextCloud sever.</p>
<h2 id="media-music-and-videos">Media (Music and Videos)</h2>
<p>Back before there was stable and wide-spread music streaming services, I had managed to amass a large-ish music collection which I used various local clients to play. Once I decided to ditch Google Play Music, I needed a way to get play my music where ever. Enter <a href="https://airsonic.github.io/">Airsonic</a>, a music streaming server I can run under docker here at the house. For my phone, I am using an application called Dsub (<a href="https://f-droid.org/en/packages/github.daneren2005.dsub/">F-Droid</a>) which lets me cache the music on my phone so I can play it without using the phone&rsquo;s data connection.</p>
<p>My next step here is to take the playlists I made in Play Music and port them over to AirSonic. I will also need to purchase some of the songs I am missing.</p>
<h2 id="source-control-git">Source control (git).</h2>
<p>I have been running an instance of <a href="https://gitea.io/en-us/">Gitea</a> for a while. It is a great basic git repo with web-front end. I have been playing with <a href="https://gitlab.com">GitLab</a> at work and I might want to try it out. Yeah for docker making it easy!</p>
<h2 id="calendar">Calendar</h2>
<p>Calendaring will present some of a challenge as I need to be able to see and update the family&rsquo;s calendars, and everybody else is using Google. I should write a post on what I am doing, but I am basically syncing down the Google calendar stuff, and then syncing it with my NextCloud server.</p>
<p>To view and edit my calendars, I am using something called <strong>ikhal</strong> which is part of the <a href="https://github.com/pimutils/khal">khal</a> suite which is a CLI calendaring app.</p>
<p>If I need a GUI, then I use the calendaring app in NextCloud.</p>
<h2 id="contacts">Contacts</h2>
<p>I am planning on using something called <a href="https://github.com/scheibler/khard/">khard</a> which is another CLI app which will integrate with my calendar syncing solution, and my email client of choice, mutt.</p>
<h2 id="password-management">Password management</h2>
<p>I have been using a CLI tool called <a href="https://www.passwordstore.org/">pass</a> for a long time now. It stores its entries on the local disk using GPG encryption per file. It also supports git, so I have it stored in my gitea instance. I can also access it on my phone which is nice.</p>
</article>
</div>
<div class='entry-meta-bottom'>
<div class="entry-categories"><p><span>Categories</span>
<a href="/categories/sa" title="View all posts in SA">SA</a>
</p>
</div>
<div class="entry-tags"><p><span>Tags</span>
</p></div> </div>
<div class="author-meta">
<div class="author">
<img alt='Don Harper' src="https://www.gravatar.com/avatar/343531b2be7fcd30e48f5c07dcd2176f?s=100&d=identicon" class='avatar avatar-72 photo' height='72' width='72'>
<span>
Written by:<a href="https://www.duckland.org/" title="Posts by Don Harper" rel="author">Don Harper</a> </span>
</div>
<div class="bio">
<p>Don is a computer guy stumbling through life trying to raise his kids and take some pictures</p>
<a class="twitter" target="_blank"
href="https://twitter.com/duckunix">
<i class="fab fa-twitter-square"
title="twitter icon"></i>
</a>
<a class="linkedin" target="_blank"
href="https://www.linkedin.com/in/donaldharper/">
<i class="fab fa-linkedin"
title="linkedin icon"></i>
</a>
<a class="email" target="_blank"
href="mailto:duck@duckland.org">
<i class="fas fa-envelope"
title="email icon"></i>
</a>
<a class="instagram" target="_blank"
href="https://www.instagram.com/duckunix/">
<i class="fab fa-instagram"
title="instagram icon"></i>
</a>
<a class="github" target="_blank"
href="https://github.com/duckunix">
<i class="fab fa-github"
title="github icon"></i>
</a>
</div>
</div>
</div>
</div>
<section id="comments" class="comments">
</section>
</div>
</div>
<footer id="site-footer" class="site-footer" role="contentinfo">
<h1>
<a href=""> duckland.org </a>
</h1>
<p class="site-description">Random Quacking</p>
<div id="menu-footer" class="menu-container menu-footer" role="navigation">
<div class="menu">
<ul id="menu-footer-items" class="menu-footer-items">
</ul>
</div> </div>
<ul class="social-media-icons">
<li>
<a href="https://twitter.com/duckunix" class="twitter" target="_blank">
<i class="fab fa-twitter-square" title="twitter"></i>
<span class="screen-reader-text">twitter</span>
</a>
</li>
<li>
<a href="https://www.instagram.com/duckunix/" class="instagram" target="_blank">
<i class="fab fa-instagram" title="instagram"></i>
<span class="screen-reader-text">instagram</span>
</a>
</li>
<li>
<a href="mailto:duck@duckland.org" class="email">
<i class="fas fa-envelope" title="email"></i>
<span class="screen-reader-text">email</span>
</a>
</li>
<li>
<a href="https://www.linkedin.com/in/donaldharper/" class="linkedin" target="_blank">
<i class="fab fa-linkedin-in" title="linkedin"></i>
<span class="screen-reader-text">linkedin</span>
</a>
</li>
<li>
<a href="https://github.com/duckunix" class="github" target="_blank">
<i class="fab fa-github" title="github"></i>
<span class="screen-reader-text">github</span>
</a>
</li>
<li>
<a href="https://www.duckland.org/index.xml" data-animate-hover="pulse" class="rss" target="_blank">
<i class="fas fa-rss" title="rss"></i>
<span class="screen-reader-text">rss</span>
</a>
</li>
</ul> <div class="design-credit">
<p>© 2006-2021 Don Harper</p>
</div>
</footer>
</div>
<script src="https://www.duckland.org/js/jquery.min.js"></script>
<script src="https://www.duckland.org/js/jquerymigrate.js"></script>
<script src="https://www.duckland.org/js/production.min.js?v=1654439072"></script>
</body>
</html>