<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>ServerExpress — Notes from the rack</title>
    <link>https://server.express/blog</link>
    <description>Straight answers about hosting, servers and networks, written by the people who run ours.</description>
    <language>en-gb</language>
    <atom:link href="https://server.express/rss.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Wed, 12 Aug 2026 09:00:00 GMT</lastBuildDate>
    <item>
      <title>Shared hosting or a VPS? How to tell which one you need</title>
      <link>https://server.express/blog/shared-hosting-or-vps</link>
      <guid isPermaLink="true">https://server.express/blog/shared-hosting-or-vps</guid>
      <description>The honest version: most websites don't need a VPS, and most applications shouldn't be on shared hosting. Here's where the line actually falls.</description>
      <pubDate>Wed, 12 Aug 2026 09:00:00 GMT</pubDate>
      <category>Hosting</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>What is a VPS? A plain answer, then the detail</title>
      <link>https://server.express/blog/what-is-a-vps</link>
      <guid isPermaLink="true">https://server.express/blog/what-is-a-vps</guid>
      <description>A VPS is a private slice of a physical server with its own OS and root access. Here's how the virtualisation works, what you control, and how to size one.</description>
      <pubDate>Thu, 05 Nov 2026 09:00:00 GMT</pubDate>
      <category>VPS</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>What is colocation? Your hardware, someone else's building</title>
      <link>https://server.express/blog/what-is-colocation</link>
      <guid isPermaLink="true">https://server.express/blog/what-is-colocation</guid>
      <description>Colocation means you own the servers and rent the rack space, power, cooling and network around them. What a U is, what remote hands does, and the break-even.</description>
      <pubDate>Thu, 05 Nov 2026 09:00:00 GMT</pubDate>
      <category>Colocation</category>
      <dc:creator>Tim Hartland</dc:creator>
    </item>
    <item>
      <title>Why is my website slow? A layered way to find out</title>
      <link>https://server.express/blog/website-slow-how-to-diagnose</link>
      <guid isPermaLink="true">https://server.express/blog/website-slow-how-to-diagnose</guid>
      <description>Why is my website slow? Work through DNS, network, server, application and browser in order, measuring each layer, and you'll find the answer in twenty minutes.</description>
      <pubDate>Tue, 03 Nov 2026 09:00:00 GMT</pubDate>
      <category>Hosting</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>What is a dedicated server? Bare metal, explained</title>
      <link>https://server.express/blog/what-is-a-dedicated-server</link>
      <guid isPermaLink="true">https://server.express/blog/what-is-a-dedicated-server</guid>
      <description>A dedicated server is one physical machine rented to one customer, with nothing virtualised. What unmanaged means, how IPMI works, and when it beats a VPS.</description>
      <pubDate>Tue, 03 Nov 2026 09:00:00 GMT</pubDate>
      <category>Hardware</category>
      <dc:creator>Tim Hartland</dc:creator>
    </item>
    <item>
      <title>High load average on Linux: what the number really means</title>
      <link>https://server.express/blog/high-load-average-linux</link>
      <guid isPermaLink="true">https://server.express/blog/high-load-average-linux</guid>
      <description>Load average isn't CPU percentage, which is why everyone misreads it. Here's what high load average on Linux measures, and how to find what's causing yours.</description>
      <pubDate>Thu, 29 Oct 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>RAID levels explained: 0, 1, 5, 6 and 10 in practice</title>
      <link>https://server.express/blog/raid-levels-explained-for-servers</link>
      <guid isPermaLink="true">https://server.express/blog/raid-levels-explained-for-servers</guid>
      <description>RAID levels explained for real servers — usable capacity, fault tolerance and write penalty per level, the rebuild-window problem, and why RAID is not a backup.</description>
      <pubDate>Thu, 29 Oct 2026 09:00:00 GMT</pubDate>
      <category>Hardware</category>
      <dc:creator>Tim Hartland</dc:creator>
    </item>
    <item>
      <title>NVMe vs SSD vs HDD: picking server storage properly</title>
      <link>https://server.express/blog/nvme-vs-ssd-vs-hdd-for-servers</link>
      <guid isPermaLink="true">https://server.express/blog/nvme-vs-ssd-vs-hdd-for-servers</guid>
      <description>NVMe vs SSD vs HDD explained by IOPS, throughput and latency — why p99 write latency decides your database, and when spinning disks still win.</description>
      <pubDate>Tue, 27 Oct 2026 09:00:00 GMT</pubDate>
      <category>Hardware</category>
      <dc:creator>Tim Hartland</dc:creator>
    </item>
    <item>
      <title>When to move from a VPS to a dedicated server</title>
      <link>https://server.express/blog/when-to-move-from-vps-to-dedicated-server</link>
      <guid isPermaLink="true">https://server.express/blog/when-to-move-from-vps-to-dedicated-server</guid>
      <description>The real signals that you've outgrown a VPS — sustained CPU, IOPS ceilings, per-core licensing — and the honest counter-case for staying put.</description>
      <pubDate>Tue, 27 Oct 2026 09:00:00 GMT</pubDate>
      <category>Hardware</category>
      <dc:creator>Tim Hartland</dc:creator>
    </item>
    <item>
      <title>IPv6 for server admins: a practical setup guide</title>
      <link>https://server.express/blog/ipv6-for-server-admins</link>
      <guid isPermaLink="true">https://server.express/blog/ipv6-for-server-admins</guid>
      <description>A working IPv6 setup for your server: why you get a /48, SLAAC vs static, firewalling v6 properly, reverse DNS and the Docker traps. With real commands.</description>
      <pubDate>Thu, 22 Oct 2026 09:00:00 GMT</pubDate>
      <category>Network</category>
      <dc:creator>Chris Maywood</dc:creator>
    </item>
    <item>
      <title>Reverse DNS and PTR records, explained</title>
      <link>https://server.express/blog/reverse-dns-ptr-records-explained</link>
      <guid isPermaLink="true">https://server.express/blog/reverse-dns-ptr-records-explained</guid>
      <description>What a reverse DNS PTR record is, why mail servers refuse you without one, how forward-confirmed rDNS works, and how delegation works for a /24 and an IPv6 /48.</description>
      <pubDate>Thu, 22 Oct 2026 09:00:00 GMT</pubDate>
      <category>Network</category>
      <dc:creator>Chris Maywood</dc:creator>
    </item>
    <item>
      <title>How to choose a web host, from someone who runs one</title>
      <link>https://server.express/blog/how-to-choose-a-web-host</link>
      <guid isPermaLink="true">https://server.express/blog/how-to-choose-a-web-host</guid>
      <description>How to choose a web host: the six questions that predict whether you will still be happy in two years — renewals, migrations, restores, support, exit.</description>
      <pubDate>Tue, 20 Oct 2026 09:00:00 GMT</pubDate>
      <category>Hosting</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>What does 99.9% uptime actually mean?</title>
      <link>https://server.express/blog/uptime-sla-what-the-numbers-mean</link>
      <guid isPermaLink="true">https://server.express/blog/uptime-sla-what-the-numbers-mean</guid>
      <description>What does 99.9% uptime mean in real minutes? A conversion table, what an SLA credit is really worth, and the exclusions in every SLA you will sign.</description>
      <pubDate>Tue, 20 Oct 2026 09:00:00 GMT</pubDate>
      <category>Business</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>AMD EPYC vs Intel Xeon: which one for your workload?</title>
      <link>https://server.express/blog/amd-epyc-vs-intel-xeon-for-hosting</link>
      <guid isPermaLink="true">https://server.express/blog/amd-epyc-vs-intel-xeon-for-hosting</guid>
      <description>AMD EPYC vs Intel Xeon for hosting, argued on memory channels, NUMA, PCIe lanes and power per useful core — not on spec-sheet core counts.</description>
      <pubDate>Thu, 15 Oct 2026 09:00:00 GMT</pubDate>
      <category>Hardware</category>
      <dc:creator>Tim Hartland</dc:creator>
    </item>
    <item>
      <title>Data centre power redundancy: N, N+1 and 2N explained</title>
      <link>https://server.express/blog/data-centre-power-redundancy-explained</link>
      <guid isPermaLink="true">https://server.express/blog/data-centre-power-redundancy-explained</guid>
      <description>What data centre power redundancy really means — N, N+1, 2N, A+B feeds — what a single-corded server does to it, and how to test the whole chain honestly.</description>
      <pubDate>Thu, 15 Oct 2026 09:00:00 GMT</pubDate>
      <category>Colocation</category>
      <dc:creator>Tim Hartland</dc:creator>
    </item>
    <item>
      <title>The website migration checklist I actually use</title>
      <link>https://server.express/blog/hosting-migration-checklist</link>
      <guid isPermaLink="true">https://server.express/blog/hosting-migration-checklist</guid>
      <description>A complete website migration checklist — DNS inventory, TTL, email and MX, SSL, cron and a rollback plan — from the person who reads the tickets.</description>
      <pubDate>Tue, 13 Oct 2026 09:00:00 GMT</pubDate>
      <category>Hosting</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>Server colocation costs: what you actually pay for</title>
      <link>https://server.express/blog/server-colocation-costs-explained</link>
      <guid isPermaLink="true">https://server.express/blog/server-colocation-costs-explained</guid>
      <description>A line-by-line breakdown of colocation costs — rack units, power commit vs metered, cross-connects, transit and remote hands — with a worked half-rack example.</description>
      <pubDate>Tue, 13 Oct 2026 09:00:00 GMT</pubDate>
      <category>Colocation</category>
      <dc:creator>Tim Hartland</dc:creator>
    </item>
    <item>
      <title>The types of DDoS attacks, and what stops each one</title>
      <link>https://server.express/blog/ddos-attack-types-explained</link>
      <guid isPermaLink="true">https://server.express/blog/ddos-attack-types-explained</guid>
      <description>The types of DDoS attacks explained by what they exhaust: bandwidth, connection tables or your application. Plus which defence actually works against each.</description>
      <pubDate>Thu, 08 Oct 2026 09:00:00 GMT</pubDate>
      <category>Security</category>
      <dc:creator>Chris Maywood</dc:creator>
    </item>
    <item>
      <title>The hidden costs of cheap hosting</title>
      <link>https://server.express/blog/hidden-costs-of-cheap-hosting</link>
      <guid isPermaLink="true">https://server.express/blog/hidden-costs-of-cheap-hosting</guid>
      <description>The hidden costs of cheap hosting, added up: renewal cliffs, paid backups and migrations, per-site SSL, overage — with a three-year total cost table.</description>
      <pubDate>Thu, 08 Oct 2026 09:00:00 GMT</pubDate>
      <category>Business</category>
      <dc:creator>Tim Hartland</dc:creator>
    </item>
    <item>
      <title>BGP explained for hosting customers</title>
      <link>https://server.express/blog/bgp-explained-for-hosting-customers</link>
      <guid isPermaLink="true">https://server.express/blog/bgp-explained-for-hosting-customers</guid>
      <description>BGP explained without the textbook: what an AS is, how routes spread, why traffic to a neighbour country goes via Frankfurt, and what running an AS buys you.</description>
      <pubDate>Tue, 06 Oct 2026 09:00:00 GMT</pubDate>
      <category>Network</category>
      <dc:creator>Chris Maywood</dc:creator>
    </item>
    <item>
      <title>How to self-host Ghost: a complete setup guide</title>
      <link>https://server.express/blog/self-host-ghost-blog</link>
      <guid isPermaLink="true">https://server.express/blog/self-host-ghost-blog</guid>
      <description>Self-host Ghost on a VPS with Docker, MySQL and working email. Full compose file, the url setting that breaks everything, newsletters, themes and backups.</description>
      <pubDate>Tue, 06 Oct 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>Does server location affect website speed?</title>
      <link>https://server.express/blog/website-speed-and-server-location</link>
      <guid isPermaLink="true">https://server.express/blog/website-speed-and-server-location</guid>
      <description>Does server location affect website speed? Yes — but only for round trips. Here's the latency maths, when a CDN erases the problem, and when it genuinely can't.</description>
      <pubDate>Thu, 01 Oct 2026 09:00:00 GMT</pubDate>
      <category>Hosting</category>
      <dc:creator>Chris Maywood</dc:creator>
    </item>
    <item>
      <title>WordPress hosting requirements, honestly</title>
      <link>https://server.express/blog/wordpress-hosting-requirements</link>
      <guid isPermaLink="true">https://server.express/blog/wordpress-hosting-requirements</guid>
      <description>The real WordPress hosting requirements — PHP version, memory limit, opcache, object cache, database sizing — plus how to tell if it is the host or the plugins.</description>
      <pubDate>Thu, 01 Oct 2026 09:00:00 GMT</pubDate>
      <category>Hosting</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>How to read a traceroute (and when to ignore it)</title>
      <link>https://server.express/blog/how-to-read-a-traceroute</link>
      <guid isPermaLink="true">https://server.express/blog/how-to-read-a-traceroute</guid>
      <description>How to read a traceroute properly: why middle hops lie, what ICMP rate limiting looks like, and what to send support instead of &quot;your network is slow&quot;.</description>
      <pubDate>Tue, 29 Sep 2026 09:00:00 GMT</pubDate>
      <category>Network</category>
      <dc:creator>Chris Maywood</dc:creator>
    </item>
    <item>
      <title>Self-host uptime monitoring with Uptime Kuma</title>
      <link>https://server.express/blog/self-host-uptime-kuma-monitoring</link>
      <guid isPermaLink="true">https://server.express/blog/self-host-uptime-kuma-monitoring</guid>
      <description>Set up self-hosted uptime monitoring with Uptime Kuma and Docker: notifications that reach you, sane check intervals, status pages, and where to put the monitor.</description>
      <pubDate>Tue, 29 Sep 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>Self-host a Git server with Gitea</title>
      <link>https://server.express/blog/self-host-gitea-git-server</link>
      <guid isPermaLink="true">https://server.express/blog/self-host-gitea-git-server</guid>
      <description>Run your own Git server with Gitea and Docker: compose file, SSH on a second port, CI runners, storage sizing, and pulling your repos across from GitHub.</description>
      <pubDate>Thu, 24 Sep 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>SSH connection refused: what it means and how to fix it</title>
      <link>https://server.express/blog/ssh-connection-refused-fix</link>
      <guid isPermaLink="true">https://server.express/blog/ssh-connection-refused-fix</guid>
      <description>SSH connection refused, timed out and permission denied are three different failures with three different causes. Here's how to tell them apart and fix each.</description>
      <pubDate>Thu, 24 Sep 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>How to secure a new Linux server in the first hour</title>
      <link>https://server.express/blog/securing-a-new-linux-server</link>
      <guid isPermaLink="true">https://server.express/blog/securing-a-new-linux-server</guid>
      <description>The eight steps that actually secure a new Linux server: SSH keys, a non-root user, firewall defaults, auto updates. Why most guides give you forty.</description>
      <pubDate>Tue, 22 Sep 2026 09:00:00 GMT</pubDate>
      <category>Security</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>What is SSH, and how do you actually use it?</title>
      <link>https://server.express/blog/what-is-ssh-and-how-to-use-it</link>
      <guid isPermaLink="true">https://server.express/blog/what-is-ssh-and-how-to-use-it</guid>
      <description>SSH is the encrypted way you log into a server's command line. Keys beat passwords, here's how to make one on any OS, plus the four errors everyone hits.</description>
      <pubDate>Tue, 22 Sep 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>502 Bad Gateway in nginx: how to find the real cause</title>
      <link>https://server.express/blog/502-bad-gateway-nginx-fix</link>
      <guid isPermaLink="true">https://server.express/blog/502-bad-gateway-nginx-fix</guid>
      <description>A 502 bad gateway in nginx means your upstream failed, not nginx. Here's how to read the error log and fix the five causes that account for nearly all of them.</description>
      <pubDate>Thu, 17 Sep 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>Self-host Grafana and Prometheus on a VPS</title>
      <link>https://server.express/blog/self-host-grafana-and-prometheus</link>
      <guid isPermaLink="true">https://server.express/blog/self-host-grafana-and-prometheus</guid>
      <description>A working Grafana and Prometheus stack in Docker: node_exporter, scrape config, retention and what it costs in disk, a first dashboard, and alerts that don't cry wolf.</description>
      <pubDate>Thu, 17 Sep 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>Linux out of memory: reading the OOM killer's mind</title>
      <link>https://server.express/blog/linux-server-out-of-memory-oom</link>
      <guid isPermaLink="true">https://server.express/blog/linux-server-out-of-memory-oom</guid>
      <description>Something died and dmesg says &quot;Killed process&quot;. Here's how to find what the Linux OOM killer took, why free -m looks worse than it is, and how to stop it.</description>
      <pubDate>Tue, 15 Sep 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>Windows VPS hosting: what to know before you buy</title>
      <link>https://server.express/blog/windows-vps-hosting-guide</link>
      <guid isPermaLink="true">https://server.express/blog/windows-vps-hosting-guide</guid>
      <description>A practical guide to Windows VPS hosting — SPLA vs your own licence, why 2 GB of RAM isn't enough, hardening RDP properly, and when Windows beats Linux.</description>
      <pubDate>Tue, 15 Sep 2026 09:00:00 GMT</pubDate>
      <category>VPS</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>How many Chrome instances fit on a 9950X</title>
      <link>https://server.express/blog/how-many-chrome-instances-fit-on-a-9950x</link>
      <guid isPermaLink="true">https://server.express/blog/how-many-chrome-instances-fit-on-a-9950x</guid>
      <description>Measuring Chrome density properly: why resident memory double-counts, the flags that change the answer, the knee where page loads fall apart, and the rig it ran on.</description>
      <pubDate>Mon, 14 Sep 2026 09:00:00 GMT</pubDate>
      <category>Hardware</category>
      <dc:creator>Tim Hartland</dc:creator>
    </item>
    <item>
      <title>What you actually get for a cheap VPS</title>
      <link>https://server.express/blog/cheap-vps-what-you-actually-get</link>
      <guid isPermaLink="true">https://server.express/blog/cheap-vps-what-you-actually-get</guid>
      <description>A cheap VPS can be honest or it can be hollow. Here's the arithmetic behind a £5 plan, what gets quietly cut to hit that price, and what should never be cut.</description>
      <pubDate>Thu, 10 Sep 2026 09:00:00 GMT</pubDate>
      <category>VPS</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>VPS vs shared hosting vs dedicated server</title>
      <link>https://server.express/blog/vps-vs-shared-hosting-vs-dedicated</link>
      <guid isPermaLink="true">https://server.express/blog/vps-vs-shared-hosting-vs-dedicated</guid>
      <description>A straight comparison of VPS vs shared hosting vs dedicated server across cost, control, isolation and scaling — and the honest signals that you've outgrown each one.</description>
      <pubDate>Thu, 10 Sep 2026 09:00:00 GMT</pubDate>
      <category>Hosting</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>How much RAM does a VPS need?</title>
      <link>https://server.express/blog/how-much-ram-does-a-vps-need</link>
      <guid isPermaLink="true">https://server.express/blog/how-much-ram-does-a-vps-need</guid>
      <description>Real memory footprints for WordPress, Postgres, Node, Docker, Minecraft and GitLab — plus why your VPS showing 90% RAM used is almost certainly fine.</description>
      <pubDate>Tue, 08 Sep 2026 09:00:00 GMT</pubDate>
      <category>VPS</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>KVM vs OpenVZ vs LXC: what you're really sharing</title>
      <link>https://server.express/blog/kvm-vs-openvz-vs-lxc</link>
      <guid isPermaLink="true">https://server.express/blog/kvm-vs-openvz-vs-lxc</guid>
      <description>KVM vs OpenVZ vs LXC, explained by what each one shares with the neighbours — the kernel, the page cache, and why free -m lies to you inside a container.</description>
      <pubDate>Tue, 08 Sep 2026 09:00:00 GMT</pubDate>
      <category>VPS</category>
      <dc:creator>Chris Maywood</dc:creator>
    </item>
    <item>
      <title>Dedicated vCPU vs shared vCPU: how to tell</title>
      <link>https://server.express/blog/dedicated-vcpu-vs-shared-vcpu</link>
      <guid isPermaLink="true">https://server.express/blog/dedicated-vcpu-vs-shared-vcpu</guid>
      <description>Dedicated vCPU vs shared vCPU, and how to prove which one you bought — steal time, CPU credits, noisy neighbours, and the words on a spec sheet that give it away.</description>
      <pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate>
      <category>VPS</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>Self-host Paperless-ngx for your documents</title>
      <link>https://server.express/blog/self-host-paperless-ngx-documents</link>
      <guid isPermaLink="true">https://server.express/blog/self-host-paperless-ngx-documents</guid>
      <description>Run Paperless-ngx on a VPS with Docker: compose file, OCR language packs, the consume folder and scanner workflows, tagging rules, and backups you can restore.</description>
      <pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>Linux disk full: what to delete, and what to leave alone</title>
      <link>https://server.express/blog/disk-full-on-server-what-to-delete</link>
      <guid isPermaLink="true">https://server.express/blog/disk-full-on-server-what-to-delete</guid>
      <description>Your Linux disk is full and df and du disagree. Here's how to find the space, what's safe to delete, and the lsof trick that recovers it when du shows nothing.</description>
      <pubDate>Tue, 01 Sep 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>How to self-host Plausible Analytics</title>
      <link>https://server.express/blog/self-host-plausible-analytics</link>
      <guid isPermaLink="true">https://server.express/blog/self-host-plausible-analytics</guid>
      <description>Self-host Plausible analytics with Docker, ClickHouse and Postgres. Full compose file, proxying the script through your own domain, retention and the privacy position.</description>
      <pubDate>Tue, 01 Sep 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>How to self-host n8n on a VPS</title>
      <link>https://server.express/blog/self-host-n8n-on-a-vps</link>
      <guid isPermaLink="true">https://server.express/blog/self-host-n8n-on-a-vps</guid>
      <description>Self-host n8n with Docker Compose, Postgres and automatic HTTPS — including the WEBHOOK_URL setting that silently breaks every webhook you build.</description>
      <pubDate>Thu, 27 Aug 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>Self-host Vaultwarden: your own password manager</title>
      <link>https://server.express/blog/self-host-vaultwarden-password-manager</link>
      <guid isPermaLink="true">https://server.express/blog/self-host-vaultwarden-password-manager</guid>
      <description>How to self-host Vaultwarden with Docker Compose — TLS the clients will actually accept, a hashed admin token, signups locked down, and a backup you can restore.</description>
      <pubDate>Thu, 27 Aug 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>Caddy vs nginx: which reverse proxy should you run?</title>
      <link>https://server.express/blog/caddy-vs-nginx-reverse-proxy</link>
      <guid isPermaLink="true">https://server.express/blog/caddy-vs-nginx-reverse-proxy</guid>
      <description>Caddy vs Nginx as a reverse proxy — automatic TLS against certbot, the same site configured both ways, and an honest answer on which one is actually faster.</description>
      <pubDate>Tue, 25 Aug 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>How to self-host Nextcloud properly</title>
      <link>https://server.express/blog/self-host-nextcloud-guide</link>
      <guid isPermaLink="true">https://server.express/blog/self-host-nextcloud-guide</guid>
      <description>Self-host Nextcloud with Docker Compose, Postgres and Redis — the PHP limits everyone hits, the cron job everyone skips, and honest advice on sizing the server.</description>
      <pubDate>Tue, 25 Aug 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Hannah Davies</dc:creator>
    </item>
    <item>
      <title>A VPS backup strategy that actually works</title>
      <link>https://server.express/blog/backup-strategy-for-a-vps</link>
      <guid isPermaLink="true">https://server.express/blog/backup-strategy-for-a-vps</guid>
      <description>A practical VPS backup strategy for one small server: 3-2-1 without a second site, snapshots vs dumps vs file backups, restic worked through, and how to test a restore.</description>
      <pubDate>Thu, 20 Aug 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>A Docker Compose tutorial for self-hosting</title>
      <link>https://server.express/blog/docker-compose-for-self-hosting-beginners</link>
      <guid isPermaLink="true">https://server.express/blog/docker-compose-for-self-hosting-beginners</guid>
      <description>A practical docker compose tutorial for people self-hosting apps on a VPS: services, volumes, networks, .env files, healthchecks, and how to read the logs when nothing starts.</description>
      <pubDate>Thu, 20 Aug 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>How to self-host Immich on a VPS</title>
      <link>https://server.express/blog/how-to-self-host-immich</link>
      <guid isPermaLink="true">https://server.express/blog/how-to-self-host-immich</guid>
      <description>Google Photos wants £8 a month and your photos held hostage. Here's how to run your own library on a VPS instead — one-click, or by hand with every command.</description>
      <pubDate>Sun, 16 Aug 2026 09:00:00 GMT</pubDate>
      <category>Guides</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>How to move your site to a new host without downtime</title>
      <link>https://server.express/blog/move-your-site-without-downtime</link>
      <guid isPermaLink="true">https://server.express/blog/move-your-site-without-downtime</guid>
      <description>A migration is mostly waiting for DNS. Here's the order of operations that keeps your site up while you do it.</description>
      <pubDate>Wed, 05 Aug 2026 09:00:00 GMT</pubDate>
      <category>Hosting</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>What &quot;unmetered&quot; actually means</title>
      <link>https://server.express/blog/what-unmetered-actually-means</link>
      <guid isPermaLink="true">https://server.express/blog/what-unmetered-actually-means</guid>
      <description>Unmetered, unlimited and fair use are three different promises. Only one of them survives contact with a busy month.</description>
      <pubDate>Thu, 30 Jul 2026 09:00:00 GMT</pubDate>
      <category>Network</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>DDoS mitigation, in plain English</title>
      <link>https://server.express/blog/ddos-mitigation-in-plain-english</link>
      <guid isPermaLink="true">https://server.express/blog/ddos-mitigation-in-plain-english</guid>
      <description>What an attack actually does, why &quot;we'll null-route you&quot; is not protection, and what to ask a host before you need the answer.</description>
      <pubDate>Thu, 18 Jun 2026 09:00:00 GMT</pubDate>
      <category>Security</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
    <item>
      <title>What to look for in a premium colocation provider</title>
      <link>https://server.express/blog/what-to-look-for-in-a-premium-colocation-provider</link>
      <guid isPermaLink="true">https://server.express/blog/what-to-look-for-in-a-premium-colocation-provider</guid>
      <description>Power, network, remote hands, transparency — the signals that separate a premium colocation provider from a cheap cage rental.</description>
      <pubDate>Wed, 27 May 2026 09:00:00 GMT</pubDate>
      <category>Colocation</category>
      <dc:creator>Gositha Ranadewa</dc:creator>
    </item>
  </channel>
</rss>
