{"id":16060800,"url":"https://github.com/geerlingguy/ansible-role-supervisor","last_synced_at":"2025-04-04T14:06:41.862Z","repository":{"id":21542557,"uuid":"93223325","full_name":"geerlingguy/ansible-role-supervisor","owner":"geerlingguy","description":"Ansible Role - Supervisor","archived":false,"fork":false,"pushed_at":"2025-02-07T16:08:54.000Z","size":58,"stargazers_count":99,"open_issues_count":1,"forks_count":82,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-28T13:09:06.134Z","etag":null,"topics":["ansible","docker","galaxy","init","process","role","supervisor","supervisord","system"],"latest_commit_sha":null,"homepage":"https://galaxy.ansible.com/geerlingguy/supervisor/","language":"Shell","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/geerlingguy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"geerlingguy","patreon":"geerlingguy"}},"created_at":"2017-06-03T04:27:24.000Z","updated_at":"2025-02-07T16:07:52.000Z","dependencies_parsed_at":"2024-01-25T05:23:10.345Z","dependency_job_id":"9ce17e85-4232-4284-934e-7fa7a09be285","html_url":"https://github.com/geerlingguy/ansible-role-supervisor","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geerlingguy%2Fansible-role-supervisor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geerlingguy%2Fansible-role-supervisor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geerlingguy%2Fansible-role-supervisor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geerlingguy%2Fansible-role-supervisor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geerlingguy","download_url":"https://codeload.github.com/geerlingguy/ansible-role-supervisor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247190250,"owners_count":20898702,"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":["ansible","docker","galaxy","init","process","role","supervisor","supervisord","system"],"created_at":"2024-10-09T04:06:35.118Z","updated_at":"2025-04-04T14:06:41.843Z","avatar_url":"https://github.com/geerlingguy.png","language":"Shell","funding_links":["https://github.com/sponsors/geerlingguy","https://patreon.com/geerlingguy"],"categories":[],"sub_categories":[],"readme":"# Ansible Role: Supervisor\n\n[![CI](https://github.com/geerlingguy/ansible-role-supervisor/actions/workflows/ci.yml/badge.svg)](https://github.com/geerlingguy/ansible-role-supervisor/actions/workflows/ci.yml)\n\nAn Ansible Role that installs [Supervisor](http://supervisord.org/) on Linux.\n\n## Requirements\n\nPython `pip` should be installed. If it is not already installed, you can use the `geerlingguy.pip` Ansible role to install Pip prior to running this role.\n\n## Role Variables\n\nAvailable variables are listed below, along with default values (see `defaults/main.yml`):\n\n    supervisor_version: ''\n\nInstall a specific version of Supervisor by setting it here. See [available Supervisor versions](https://pypi.python.org/pypi/supervisor) on Pypi. If no version is set, it will install the latest stable version of Supervisor when the role is run.\n\n    supervisor_started: true\n    supervisor_enabled: true\n\nChoose whether to use an init script or systemd unit configuration to start Supervisor when it's installed and/or after a system boot.\n\n    supervisor_config_path: /etc/supervisor\n\nThe path where Supervisor configuration should be stored.\n\n    supervisor_programs:\n      - name: 'foo'\n        command: /bin/cat\n        state: present\n    \n      - name: 'apache'\n        command: apache2ctl -DFOREGROUND\n        state: present\n        configuration: |\n          autostart=true\n          autorestart=true\n          startretries=1\n          startsecs=1\n          redirect_stderr=true\n          stderr_logfile=/var/log/apache-err.log\n          stdout_logfile=/var/log/apache-out.log\n          user=root\n          killasgroup=true\n          stopasgroup=true\n\n`supervisor_programs` is an empty list by default; you can define a list of `program`s to be managed by Supervisor. If you set `state` to `present`, then a configuration file for the program (named `[program-name-here].conf`) will be added to the `conf.d` path included by the global Supervisor configuration. You can also manage program-level configuration on your own, outside this role, if you need more flexibility.\n\n    supervisor_nodaemon: false\n\nSet to `true` if you need to run Supervisor in the foreground.\n\n    supervisor_log_dir: /var/log/supervisor\n\nThe location where Supervisor logs will be stored.\n\n    supervisor_user: root\n    supervisor_password: 'my_secret_password'\n\nThe user under which `supervisord` will be run, and the password to be used when connecting to Supervisor's HTTP server (either for `supervisorctl` access, or when viewing the administrative UI).\n\n    supervisor_unix_http_server_password_protect: true\n    supervisor_inet_http_server_password_protect: true\n\nPassword protection can be turned off for Unix HTTP and Inet HTTP by setting these variables to `false`, This would disable password protection for `supervisorctl` as well.\n\n    supervisor_unix_http_server_enable: true\n    supervisor_unix_http_server_socket_path: /var/run/supervisor.sock\n\nWhether to enable the UNIX socket-based HTTP server, and the socket file to use if enabled.\n\n\u003e **Note**: By default, this role enables an HTTP server over a UNIX socket that can be accessed locally using the `_user` and `_password` defined earlier. Make sure you set a secure `supervisor_password` to prevent unauthorized access! (Or, if you don't need to HTTP server nor need to use `supervisorctl`, you should disable the UNIX http server by setting this variable to `false`).\n\n    supervisor_inet_http_server_enable: false\n    supervisor_inet_http_server_port: '*:9001'\n\nWhether to enable the TCP-based HTTP server, and the interface and port on which the server should listen if enabled.\n\n## Dependencies\n\nNone.\n\n## Example Playbook\n\n    - hosts: all\n      roles:\n        - geerlingguy.pip\n        - geerlingguy.supervisor\n\nIf you need to use `supervisorctl`, you can either use [Ansible's built-in `supervisorctl` module](https://docs.ansible.com/ansible/latest/collections/community/general/supervisorctl_module.html) for management, or run it like so (accounting for the variable path to the configuration directory):\n\n    supervisorctl -c /etc/supervisor/supervisord.conf -u root -p [password] status all\n\n## License\n\nMIT / BSD\n\n## Author Information\n\nThis role was created in 2017 by [Jeff Geerling](https://www.jeffgeerling.com/), author of [Ansible for DevOps](https://www.ansiblefordevops.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeerlingguy%2Fansible-role-supervisor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeerlingguy%2Fansible-role-supervisor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeerlingguy%2Fansible-role-supervisor/lists"}