New article mastodon-s3-acl-upload-failures.md: a BucketOwnerEnforced S3 bucket plus a stale S3_PERMISSION/S3_ACL in .env.production makes every Mastodon upload fail with AccessControlListNotSupported, silently. Covers symptoms (incl. why a missing object returns 403 not 404), diagnosis, the fix (S3_PERMISSION= empty, public read via bucket policy), recovery, a synthetic-write health check, and Ansible enforcement. Extend mastodon-prune-profiles-trap.md: add a "Bulk restore at scale" procedure (list existing keys, null missing DB refs, enqueue RedownloadAvatar/HeaderWorker), a "storage-level deletion without DB de-ref" section, and a stronger recommendation to disable automated profile pruning (and scheduled accounts refresh --all) entirely. Link both from SUMMARY.md and the selfhosting index. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.3 KiB
2.3 KiB
| created | updated |
|---|---|
| 2026-04-13T10:15 | 2026-05-31 |
🏠 Self-Hosting & Homelab
Guides for running your own services at home, including Docker, reverse proxies, DNS, storage, monitoring, and security.
Docker & Containers
Reverse Proxies
DNS & Networking
Storage & Backup
Monitoring
Services
- Mastodon Instance Tuning
- Mastodon Post-Install Hardening (Permissions + Account)
- Mastodon DB Maintenance
- Mastodon Federation
- Mastodon
--prune-profilesTrap - Mastodon on S3 — Silent Upload Failures
- Ghost SMTP via Mailgun
- Updating n8n Docker
- Claude Code Remote Control
Security
- Linux Server Hardening Checklist
- Standardizing unattended-upgrades with Ansible
- Fail2ban Custom Jail: Apache 404 Scanner Detection
- Fail2ban Custom Jail: Apache PHP Webshell Probe Detection
- Fail2ban Custom Jail: WordPress Login Brute Force
- SELinux: Fixing Fail2ban grep execmem Denial
- UFW Firewall Management