Setting Up CI/CD with GitHub Actions Self-Hosted Runner (And Everything That Broke Along the Way)
I finally did it. After weeks of manually SSHing into my production server, pulling Docker images, and restarting containers like it’s 2015, I set up a proper CI/CD pipeline for my hobby project. The goal was simple: push to main, and everything deploys automatically. The journey? Not so simple. Here’s everything I learned. The Setup My project Sudden is a monorepo with: Backend: Spring Boot application Frontend: React application Infrastructure: MongoDB, Redis, all orchestrated with Docker Compose Deployment: Single production server running everything Before this, my deployment process looked like: ...