{"id":23637027,"url":"https://github.com/ansibleguy/sw_zoneminder","last_synced_at":"2025-09-01T12:37:34.412Z","repository":{"id":53920666,"uuid":"491197918","full_name":"ansibleguy/sw_zoneminder","owner":"ansibleguy","description":"Ansible Role to provision Zoneminder IP-CAM Servers","archived":false,"fork":false,"pushed_at":"2025-02-15T12:33:09.000Z","size":103,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"latest","last_synced_at":"2025-04-09T21:05:09.973Z","etag":null,"topics":["ansible","ansible-role","iac","infrastructure-as-code","ipcam","ipcamera","surveillance","zoneminder"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ansibleguy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":null},"created_at":"2022-05-11T16:51:09.000Z","updated_at":"2025-02-15T12:33:13.000Z","dependencies_parsed_at":"2023-02-15T17:16:08.832Z","dependency_job_id":"136c7d4f-3590-4f75-97c2-6078c5134e6e","html_url":"https://github.com/ansibleguy/sw_zoneminder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ansibleguy/sw_zoneminder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansibleguy%2Fsw_zoneminder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansibleguy%2Fsw_zoneminder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansibleguy%2Fsw_zoneminder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansibleguy%2Fsw_zoneminder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ansibleguy","download_url":"https://codeload.github.com/ansibleguy/sw_zoneminder/tar.gz/refs/heads/latest","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansibleguy%2Fsw_zoneminder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273123852,"owners_count":25049900,"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","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","ansible-role","iac","infrastructure-as-code","ipcam","ipcamera","surveillance","zoneminder"],"created_at":"2024-12-28T06:17:29.577Z","updated_at":"2025-09-01T12:37:34.363Z","avatar_url":"https://github.com/ansibleguy.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![ZoneMinder](https://zoneminder.com/images/care.png)](https://zoneminder.com/)\n\n# Ansible Role - ZoneMinder\nAnsible Role to deploy a ZoneMinder IP-CAM server.\n\nRead into the [official documentation](https://zoneminder.readthedocs.io/en/stable/userguide/gettingstarted.html) on how to add ip-cams and so on.\n\n[![Lint](https://github.com/ansibleguy/sw_zoneminder/actions/workflows/lint.yml/badge.svg)](https://github.com/ansibleguy/sw_zoneminder/actions/workflows/lint.yml)\n[![Ansible Galaxy](https://badges.ansibleguy.net/galaxy.badge.svg)](https://galaxy.ansible.com/ui/standalone/roles/ansibleguy/sw_zoneminder)\n\n**Molecule Integration-Tests**:\n\n* Status: [![Molecule Test Status](https://badges.ansibleguy.net/sw_zoneminder.molecule.svg)](https://github.com/ansibleguy/_meta_cicd/blob/latest/templates/usr/local/bin/cicd/molecule.sh.j2) |\n[![Functional-Tests](https://github.com/ansibleguy/sw_zoneminder/actions/workflows/integration_test_result.yml/badge.svg)](https://github.com/ansibleguy/sw_zoneminder/actions/workflows/integration_test_result.yml)\n* Logs: [API](https://ci.ansibleguy.net/api/job/ansible-test-molecule-sw_zoneminder/logs?token=2b7bba30-9a37-4b57-be8a-99e23016ce70\u0026lines=1000) | [Short](https://badges.ansibleguy.net/log/molecule_sw_zoneminder_test_short.log) | [Full](https://badges.ansibleguy.net/log/molecule_sw_zoneminder_test.log)\n\nInternal CI: [Tester Role](https://github.com/ansibleguy/_meta_cicd) | [Jobs API](https://github.com/O-X-L/github-self-hosted-jobs-systemd)\n\n**Tested:**\n* Debian 11\n* Debian 12\n\n----\n\n## Install\n\n```bash\n# latest\nansible-galaxy role install git+https://github.com/ansibleguy/sw_zoneminder\n\n# from galaxy\nansible-galaxy install ansibleguy.sw_zoneminder\n\n# or to custom role-path\nansible-galaxy install ansibleguy.sw_zoneminder --roles-path ./roles\n\n# install dependencies\nansible-galaxy install -r requirements.yml\n```\n\n----\n\n## Advertisement\n\n* Need **professional support** using Ansible or ZoneMinder? Contact us:\n\n  E-Mail: [contact@oxl.at](mailto:contact@oxl.at)\n\n  Tel: [+43 3115 40 900 0](tel:+433115409000)\n\n  Web: [EN](https://www.o-x-l.com) | [DE](https://www.oxl.at)\n\n  Language: German or English\n\n* You want a simple **Ansible GUI**?\n\n  Check-out this [Ansible WebUI](https://github.com/ansibleguy/webui)\n\n----\n\n## Usage\n\n### Config\n\nDefine the zoneminder dictionary as needed.\n\nExample for a zoneminder server:\n```yaml\nzoneminder:\n  timezone: 'Europe/Vienna'\n  tools: true  # install useful admin-tools\n  \n  apache:\n    domain: 'zoneminder.template.ansibleguy.net'\n    aliases: ['zm.template.ansibleguy.net']\n\n    ssl:\n      mode: 'letsencrypt'  # or selfsigned/ca/snakeoil\n      #  if you use 'selfsigned' or 'ca':\n      #    cert:\n      #      cn: 'ZoneMinder Server'\n      #      org: 'AnsibleGuy'\n      #      email: 'zoneminder@template.ansibleguy.net'\n    letsencrypt:\n      email: 'zoneminder@template.ansibleguy.net'\n  \n  \n```\n\nBare minimum example:\n```yaml\nzoneminder:\n  apache:\n    domain: 'zoneminder.template.ansibleguy.net' \n```\n\nYou might want to use 'ansible-vault' to encrypt your passwords:\n```bash\nansible-vault encrypt_string\n```\n\n### Execution\n\nRun the playbook:\n```bash\nansible-playbook -K -D -i inventory/hosts.yml playbook.yml --ask-vault-pass\n```\n\nThere are also some useful **tags** available:\n* config\n\n----\n\n## Functionality\n\n* **Package installation**\n  * ZoneMinder Server\n    * Base package and dependencies\n    * Apache2 =\u003e using [THIS Role](https://github.com/ansibleguy/infra_apache)\n    * MariaDB =\u003e using [THIS Role](https://github.com/ansibleguy/infra_mariadb)\n\n\n* **Configuration**\n  * Default opt-ins:\n    * Database setup\n    * Webserver setup\n\n  * Default opt-outs:\n    * Admin-tools\n\n  * Default config:\n    * Logging to syslog\n    * Self-Signed certificate\n\n----\n\n## Info\n\n* **Note:** this role currently only supports debian-based systems\n\n\n* **Note:** Most of the role's functionality can be opted in or out.\n\n  For all available options - see the default-config located in [the main defaults-file](https://github.com/ansibleguy/sw_zoneminder/blob/latest/defaults/main/1_main.yml)!\n\n\n* **Warning:** You should AT LEAST [set a login password after the installation finished](https://zoneminder.readthedocs.io/en/stable/userguide/gettingstarted.html#enabling-authentication).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansibleguy%2Fsw_zoneminder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fansibleguy%2Fsw_zoneminder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansibleguy%2Fsw_zoneminder/lists"}