<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>PingFleet Community</title>
  <subtitle>Tutorials and explainers on running your own infrastructure.</subtitle>
  <link href="https://pingfleet.net/community/feed.xml" rel="self"/>
  <link href="https://pingfleet.net/community/"/>
  <id>https://pingfleet.net/community/</id>
  <updated>2026-09-20T00:00:00Z</updated>
  <entry>
    <title>Alert before the disk fills, not after the database dies</title>
    <link href="https://pingfleet.net/community/disk-alert-before-it-fills/"/>
    <id>https://pingfleet.net/community/disk-alert-before-it-fills/</id>
    <updated>2026-09-20T00:00:00Z</updated>
    <category term="Tutorials"/>
    <summary>At 23% used the disk had four hours left</summary>
  </entry>
  <entry>
    <title>Revoke an SSH key from ten servers without Ansible</title>
    <link href="https://pingfleet.net/community/revoke-ssh-key-everywhere/"/>
    <id>https://pingfleet.net/community/revoke-ssh-key-everywhere/</id>
    <updated>2026-09-20T00:00:00Z</updated>
    <category term="Tutorials"/>
    <summary>grep -v exits 1 when it removes every line from a file</summary>
  </entry>
  <entry>
    <title>SSH drops when idle and ServerAliveInterval does not help</title>
    <link href="https://pingfleet.net/community/ssh-drops-after-thirty-seconds/"/>
    <id>https://pingfleet.net/community/ssh-drops-after-thirty-seconds/</id>
    <updated>2026-09-20T00:00:00Z</updated>
    <category term="Tutorials"/>
    <summary>ClientAliveInterval 30 did not drop a single idle session</summary>
  </entry>
  <entry>
    <title>Prove your MongoDB backup by restoring it every night</title>
    <link href="https://pingfleet.net/community/mongodump-restore-proven/"/>
    <id>https://pingfleet.net/community/mongodump-restore-proven/</id>
    <updated>2026-09-06T00:00:00Z</updated>
    <category term="Tutorials"/>
    <summary>mongodump exits 0 on a database that does not exist</summary>
  </entry>
  <entry>
    <title>Set up an SSH jump host so private servers stay private</title>
    <link href="https://pingfleet.net/community/ssh-jump-host/"/>
    <id>https://pingfleet.net/community/ssh-jump-host/</id>
    <updated>2026-09-06T00:00:00Z</updated>
    <category term="Tutorials"/>
    <summary>ssh -i key -J bastion silently ignores -i on the jump</summary>
  </entry>
  <entry>
    <title>systemd says active and nothing is listening on the port</title>
    <link href="https://pingfleet.net/community/systemd-active-nothing-listening/"/>
    <id>https://pingfleet.net/community/systemd-active-nothing-listening/</id>
    <updated>2026-09-06T00:00:00Z</updated>
    <category term="Tutorials"/>
    <summary>Three of four units said active with nothing listening</summary>
  </entry>
  <entry>
    <title>Build a dead-man switch so silent cron failures alert you</title>
    <link href="https://pingfleet.net/community/cron-that-tells-you-it-stopped/"/>
    <id>https://pingfleet.net/community/cron-that-tells-you-it-stopped/</id>
    <updated>2026-08-26T00:00:00Z</updated>
    <category term="Tutorials"/>
    <summary>A removed crontab entry produces zero log lines</summary>
  </entry>
  <entry>
    <title>LXC vs VM on Proxmox, and where the two really differ</title>
    <link href="https://pingfleet.net/community/lxc-or-vm-measured/"/>
    <id>https://pingfleet.net/community/lxc-or-vm-measured/</id>
    <updated>2026-08-26T00:00:00Z</updated>
    <category term="How it works"/>
    <summary>An idle LXC holds 85 MiB; the VM beside it, 347</summary>
  </entry>
  <entry>
    <title>Fix Nginx 502 when the upstream is already listening</title>
    <link href="https://pingfleet.net/community/nginx-502-upstream-running/"/>
    <id>https://pingfleet.net/community/nginx-502-upstream-running/</id>
    <updated>2026-08-26T00:00:00Z</updated>
    <category term="Tutorials"/>
    <summary>Four 502s and one 504, each a different log line</summary>
  </entry>
</feed>
