<?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>Server on nocalla.com</title><link>https://blog.nocalla.com/tags/server/</link><description>Recent content in Server on nocalla.com</description><generator>Hugo</generator><language>en-ie</language><lastBuildDate>Thu, 23 Apr 2026 09:42:36 +0100</lastBuildDate><atom:link href="https://blog.nocalla.com/tags/server/index.xml" rel="self" type="application/rss+xml"/><item><title>Transfer from Dreamhost</title><link>https://blog.nocalla.com/2026/04/22/transfer-from-dreamhost/</link><pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate><guid>https://blog.nocalla.com/2026/04/22/transfer-from-dreamhost/</guid><description>&lt;h1 id="rationale"&gt;Rationale&lt;/h1&gt;
&lt;p&gt;This blog previously existed on Dreamhost as a Wordpress site within a shared server hosting plan. This was useful for hosting this blog, but meant that I couldn&amp;rsquo;t do anything else with the website. Since I am trying to reduce reliance on US-based technology services, migrating this was a high value target as it would be a double-whammy:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;change web host from US-based servers&lt;/li&gt;
&lt;li&gt;open up a web server to host cloud service replacements&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="procedure"&gt;Procedure&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;Export Wordpress data from Dreamhost.&lt;/li&gt;
&lt;li&gt;Run Wordpress to Markdown conversion program (&lt;a href="https://github.com/lonekorean/wordpress-export-to-markdown"&gt;wordpress-export-to-markdown&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Move converted files into Blog folder within Obsidian.&lt;/li&gt;
&lt;li&gt;Clean up Obsidian files, update frontmatter and remove export artefacts.&lt;/li&gt;
&lt;li&gt;Set up server with Hetzner.&lt;/li&gt;
&lt;li&gt;Server: Do usual admin (user setup, etc)&lt;/li&gt;
&lt;li&gt;Server: Set up file structure for subdomains.&lt;/li&gt;
&lt;li&gt;Hetzner: Create DNS zone records&lt;/li&gt;
&lt;li&gt;Server: Set up Caddy reverse proxy to handle subdomains&lt;/li&gt;
&lt;li&gt;Set up automated pipeline for converting Obsidian markdown files to blog posts using Hugo (more detail in the linked post!).&lt;/li&gt;
&lt;li&gt;Deploy static output from Hugo to server at &amp;ldquo;blog&amp;rdquo; subdomain.&lt;/li&gt;
&lt;li&gt;Change registrar nameservers for domain to point at Hetzner nameservers.&lt;/li&gt;
&lt;li&gt;Cancel Dreamhost hosting plan.&lt;/li&gt;
&lt;li&gt;Update domain name registrar to a local one instead of using Dreamhost.&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="discussion"&gt;Discussion&lt;/h1&gt;
&lt;p&gt;To be honest, I put this job off for a long time because it seemed overwhelming. I only managed by using Claude to draw up a runbook for the whole process, which definitely kept me organised. I ran into issues because of this runbook, so it wasn&amp;rsquo;t perfect, but it definitely brought me through the process in a digestible way.&lt;/p&gt;</description></item></channel></rss>