
DevOps Engineer / Backend Deployment Specialist for Ruby on Rails
Upwork
Remoto
•Hace 1 semana
•Ninguna postulación
Sobre
Job Description We are running a Ruby on Rails backend with Puma as the application server and Nginx as the reverse proxy. Our current CI/CD pipeline deploys to a development server and attempts to restart Puma automatically. Recently, we’ve been running into an issue: the old Puma process/socket is not shutting down cleanly, causing a deadlock during restart. As a temporary fix, we are running Puma in the foreground via screen, but we need a long-term automated solution. We are looking for an experienced engineer who can: Diagnose and resolve process/socket deadlock issues with Puma. Configure graceful shutdown/restart of Puma during deployments. Set up or refine process management using systemd (preferred), pumactl, or a similar tool. Ensure that old pid/socket files are properly cleaned up. Review our deployment scripts/pipeline (Git-based, triggers on merge to dev) and update them to reliably restart the server. (Optional) Suggest improvements for logging, monitoring, and health checks for the Rails app in production-like environments. Skills Required Strong Linux/Unix system administration experience. Experience with Ruby on Rails deployments. Familiarity with Puma process management (pumactl, pid/state files, UNIX sockets). Knowledge of Nginx as reverse proxy. Experience with CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins, etc.). Familiarity with systemd services and graceful process management. Deliverables Fix the immediate Puma restart deadlock. Update deployment pipeline/scripts to automate graceful restarts. Document the new restart/deploy process.