{"repo":"vifreefly/procsd","free":true,"listed":false,"github":"https://github.com/vifreefly/procsd","clone":"git clone https://github.com/vifreefly/procsd.git","description":"Manage your application processes in production similar to Heroku CLI with Procfile and Systemd","language":"Ruby","stars":190,"topics":["systemd","heroku-cli","production","deployment","capistrano","foreman","procfile","vps","digitalocean","linux"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"Procsd I really like how simple it is to manage application processes in production on Heroku with Procfile. How easily you can access application logs with the heroku logs command. Just type heroku create and you're good to go. Can we have something similar on a cheap Ubuntu VPS from DigitalOcean? Yes we can, all we need is a systemd wrapper that exports application processes from Procfile to system services, and controls them/checks status/accesses logs using simple commands. These days most Linux distributions (including Ubuntu) have systemd as their default system processes manager. That's why it is a good idea to use systemd for managing application processes in production (for simple cases). Getting started Install procsd first: $ gem install procsd . Required Ruby version is = 3.2.0 . Let's say you have following application's Procfile: and you want to have one instance of the web process and two instances of the worker process. Create a procsd.yml config file inside the application directory: The only required option in procsd.yml is app (application name). Also you can provide custom Systemd directory path ( systemd dir option, default is /etc/systemd/system ) Configuration is done. Create an application (export to Systemd) To disable and remove application from Systemd there is command $ procsd destroy . You can provide additional options for create command: --user - name of the user, default is current $USER env variable --dir - application's working directory, def","default_branch":null,"files":null,"tree":[],"storefront":"/r/vifreefly","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/vifreefly/procsd/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}