<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Elijah Udom | Infrastructure &amp; Cloud Engineer (elijahu)</title><link>https://elijahu.me/portfolio/tags/ec2/</link><description>Infrastructure &amp; Cloud Engineering portfolio by Elijah Udom (elijahu) — AWS, Kubernetes, eBPF Security, AI/ML Infrastructure, and Platform Engineering projects.</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sun, 23 Feb 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://elijahu.me/portfolio/tags/ec2/index.xml" rel="self" type="application/rss+xml"/><item><title>Self-Hosting Gitea on AWS: Architecture, Configuration, and the 502s I Debugged</title><link>https://elijahu.me/portfolio/projects/gitea-ec2-guide/</link><pubDate>Sun, 23 Feb 2025 00:00:00 +0000</pubDate><guid>https://elijahu.me/portfolio/projects/gitea-ec2-guide/</guid><description>&amp;ldquo;GitHub is fine until you&amp;rsquo;re rate-limited at 11 PM pushing a large repo before a deadline. That&amp;rsquo;s when you decide to build your own.&amp;rdquo;
This is a full breakdown of running Gitea on AWS EC2 — not a happy-path tutorial, but the actual build including every error I hit and how I resolved it. Architecture, configuration, the 502 debugging session, backup automation, and what three months of running this in production looks like.</description></item><item><title>NGINX on AWS EC2: Configuration, Permissions, and Debugging 403s</title><link>https://elijahu.me/portfolio/projects/nginx/</link><pubDate>Tue, 28 Jan 2025 00:00:00 +0000</pubDate><guid>https://elijahu.me/portfolio/projects/nginx/</guid><description>&amp;ldquo;403 errors on a freshly configured Nginx server are almost never about the file. They&amp;rsquo;re about the path to the file.&amp;rdquo;
This is a configuration and troubleshooting reference for running Nginx on Ubuntu 22.04 on AWS EC2 — covering the full setup, the security group configuration that catches people out, and the complete 403 debugging chain. Written from a real configuration session where the permission issues took longer than they should have.</description></item></channel></rss>