{"id":23856507,"url":"https://github.com/murakmii/capistrano-nginx-unit","last_synced_at":"2025-07-06T21:36:46.439Z","repository":{"id":59151863,"uuid":"128538590","full_name":"murakmii/capistrano-nginx-unit","owner":"murakmii","description":"The Capistrano 3.x task to run Ruby(Rack) application on NGINX Unit","archived":false,"fork":false,"pushed_at":"2019-05-16T01:43:49.000Z","size":29,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-01T09:32:05.633Z","etag":null,"topics":["capistrano","nginx-unit","rack","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/murakmii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-07T14:55:17.000Z","updated_at":"2021-05-14T13:14:47.000Z","dependencies_parsed_at":"2022-09-13T11:01:01.976Z","dependency_job_id":null,"html_url":"https://github.com/murakmii/capistrano-nginx-unit","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/murakmii%2Fcapistrano-nginx-unit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/murakmii%2Fcapistrano-nginx-unit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/murakmii%2Fcapistrano-nginx-unit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/murakmii%2Fcapistrano-nginx-unit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/murakmii","download_url":"https://codeload.github.com/murakmii/capistrano-nginx-unit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232139263,"owners_count":18478090,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["capistrano","nginx-unit","rack","ruby"],"created_at":"2025-01-03T01:41:30.832Z","updated_at":"2025-01-03T01:41:31.370Z","avatar_url":"https://github.com/murakmii.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# capistrano-nginx-unit\n\n## Installation\n\n```rb\n# Gemfile\ngem \"capistrano-nginx-unit\"\n```\n\n## Usage\n\nRequire in Capfile.\n\n```rb\n# Capfile\nrequire \"capistrano/nginx-unit\"\n```\n\nDefined following tasks.\n\n```\ncap nginx_unit:attach              # Attach listener and application configuration to NGINX Unit\ncap nginx_unit:attach_app          # Attach application configuration to NGINX Unit\ncap nginx_unit:attach_listener     # Attach listener configuration to NGINX Unit\ncap nginx_unit:detach              # Detach listener and application configuration from NGINX Unit\ncap nginx_unit:detach_app          # Detach application configuration from NGINX Unit\ncap nginx_unit:detach_listener     # Detach listener configuration from NGINX Unit\ncap nginx_unit:start               # Start NGINX Unit process\ncap nginx_unit:stop                # Stop NGINX Unit process\n```\n\n`nginx_unit:attach` is main task.  \nThe task [sends HTTP request to configure NGINX Unit](http://unit.nginx.org/configuration/) on server.  \nWhen NGINX Unit process received the request, launches rack application process.  \nIf you want to apply new code when deployed, please invoke `nginx_unit:attach` task after `deploy:published`.\n\n```rb\n# deploy.rb\nafter \"deploy:published\", \"nginx_unit:attach\"\n```\n\n## Options\n\n```rb\nset :nginx_unit_roles,        -\u003e { :app }\nset :nginx_unit_control_sock, -\u003e { \"/var/run/control.unit.sock\" }\nset :nginx_unit_listen,       -\u003e { \"*:3000\" }\nset :nginx_unit_listener,     -\u003e { { pass: \"applications/#{fetch(:nginx_unit_app_name)}\" } }\nset :nginx_unit_app_name,     -\u003e { fetch(:application) }\nset :nginx_unit_processes,    -\u003e { nil }\nset :nginx_unit_user,         -\u003e { nil }\nset :nginx_unit_group,        -\u003e { nil }\nset :nginx_unit_working_dir,  -\u003e { nil }\nset :nginx_unit_script,       -\u003e { \"config.ru\" }\nset :nginx_unit_environment,  -\u003e { {} }\nset :nginx_unit_limits,       -\u003e { nil }\n```\n\n - `:nginx_unit_roles`\n   \n   Roles to run tasks for NGINX Unit. Default: `:app`\n\n - `:nginx_unit_control_sock`\n\n   Path to NGINX Unit's unix domain socket path. Default: `\"/var/run/control.unit.sock\"`\n\n - `:nginx_unit_listen`\n  \n   IP Address and port where rack application listens on. Default: `\"*:3000\"`    \n   See [Listeners configuration](https://unit.nginx.org/configuration/#listeners)\n\n - `:nginx_unit_listener`\n\n   Listener configuration of rack application processes. Default: `{ pass: \"applications/#{fetch(:nginx_unit_app_name)}\" }`  \n   If you are using NGINX Unit that doesn\\`t support `pass` option, you can overwrite this configuration with `{ application: fetch(:nginx_unit_app_name) }`  \n   (However, `application` option is currently deprecated.)  \n   See [Listeners configuration](https://unit.nginx.org/configuration/#listeners)\n\n - `:nginx_unit_app_name`\n\n   Application name.  \n   See [Applications configuration](https://unit.nginx.org/configuration/#applications)\n\n - `:nginx_unit_processes`\n   \n   Number of rack application processes. Default: `1`  \n   You can also set the `Hash` that has keys `max`, `spare` and `idle_timeout`.  \n   See [Processes and Limits](https://unit.nginx.org/configuration/#processes-and-limits)\n\n - `:nginx_unit_user`, `:nginx_unit_group`\n\n   Username and group of rack application process. Default: `\"nobody\"`  \n   See [Application Object configuration](https://unit.nginx.org/configuration/#application-objects)\n\n - `:nginx_unit_working_dir`\n\n   Working directory of rack application process. Default: `RELEASE_PATH`  \n   See [Application Object configuration](https://unit.nginx.org/configuration/#application-objects)\n\n - `:nginx_unit_script`\n\n   Rack application script path. Default: `RELEASE_PATH/config.ru`  \n   See [Ruby application configuration](https://unit.nginx.org/configuration/#ruby-application)\n\n - `:nginx_unit_environment` (NGINX Unit \u003e= 1.2)\n\n   Environment variable setting. Default value is empty.  \n   This variable accepts `Hash`. e.g., `{ \"RAILS_ENV\" =\u003e \"production\" }`.\n   \n - `:nginx_unit_limits`\n   \n   Request limits of rack application processes. Default: `nil`(not specified)  \n   You can set the `Hash` that has keys `requests` and `timeout`.  \n   See [Processes and Limits](https://unit.nginx.org/configuration/#processes-and-limits)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmurakmii%2Fcapistrano-nginx-unit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmurakmii%2Fcapistrano-nginx-unit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmurakmii%2Fcapistrano-nginx-unit/lists"}