{"id":13791675,"url":"https://github.com/gmazoyer/ansible-role-netbox","last_synced_at":"2025-05-07T13:04:41.314Z","repository":{"id":44549841,"uuid":"77855614","full_name":"gmazoyer/ansible-role-netbox","owner":"gmazoyer","description":"Ansible Role: NetBox","archived":false,"fork":false,"pushed_at":"2025-02-04T00:23:13.000Z","size":295,"stargazers_count":42,"open_issues_count":3,"forks_count":26,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-07T13:04:30.092Z","etag":null,"topics":["ansible","ansible-galaxy","ansible-role","dcim","ipam","netbox","orchestration"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gmazoyer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2017-01-02T19:07:49.000Z","updated_at":"2025-02-15T12:55:15.000Z","dependencies_parsed_at":"2024-01-20T15:47:01.677Z","dependency_job_id":"d6946533-0682-417d-839c-c7e90fd5f997","html_url":"https://github.com/gmazoyer/ansible-role-netbox","commit_stats":null,"previous_names":[],"tags_count":138,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazoyer%2Fansible-role-netbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazoyer%2Fansible-role-netbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazoyer%2Fansible-role-netbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gmazoyer%2Fansible-role-netbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gmazoyer","download_url":"https://codeload.github.com/gmazoyer/ansible-role-netbox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252883226,"owners_count":21819158,"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","ansible-galaxy","ansible-role","dcim","ipam","netbox","orchestration"],"created_at":"2024-08-03T22:01:03.184Z","updated_at":"2025-05-07T13:04:41.287Z","avatar_url":"https://github.com/gmazoyer.png","language":"Jinja","funding_links":[],"categories":["Deployment"],"sub_categories":[],"readme":"[![CI](https://github.com/gmazoyer/ansible-role-netbox/workflows/CI/badge.svg?event=push)](https://github.com/gmazoyer/ansible-role-netbox/actions?query=workflow%3ACI)\n[![Ansible Galaxy](https://img.shields.io/badge/ansible--galaxy-netbox-blue.svg)](https://galaxy.ansible.com/gmazoyer/netbox)\n\n# Ansible Role: NetBox\n\nAn Ansible Role that installs on Debian/Ubuntu.\n\nThis role install all dependencies required by NetBox including the PostgreSQL\ndatabase. So it can be used to setup a NetBox appliance including everything in\nthe same machine.\n\nWeb backend and frontend setups can be disabled if you already have your own\nway to handle them.\n\n## Dependencies\n\nNone.\n\n## Roles Variables\n\nAvailable variables are listed below, along with default values:\n\nSetup for the PostgreSQL database:\n\n```\nnetbox_database: netbox\nnetbox_database_user: netbox\nnetbox_database_password: netbox\nnetbox_database_host: localhost # This will force PostgreSQL to be setup\n```\n\nWhere to get NetBox and which version:\n\n```\nnetbox_version: latest\nnetbox_git_url: https://github.com/netbox-community/netbox.git\n```\n\nBy default, it will always get the latest stable version. A specific version\ncan be enforced by using, `v3.5.1` for example.\n\nWhere to install NetBox:\n\n```\nnetbox_install_directory: /opt/netbox\n```\n\nThe username, password and email for the super user.\n\n```\nnetbox_superuser_username: admin\nnetbox_superuser_password: admin\nnetbox_superuser_email: admin@example.com\n```\n\nLDAP can be used as authentication mechanism. It must be enabled, and the whole\nLDAP configuration has to be provided in the following variables (see NetBox\n[documentation](https://netbox.readthedocs.io/en/stable/installation/6-ldap/)):\n\n```\nnetbox_setup_ldap_auth: false\nnetbox_ldap_config: \"\"\n```\n\nOther Python packages can be installed using `local_requirements.txt`, this is\nuseful to install packages such as NAPALM or plugins:\n\n```\nnetbox_local_requirements:\n  - napalm\n  …\n```\n\nThe configuration for NetBox must be given as `key: value` pairs like the\nfollowing, please note that the secret key does not need to be given as it will\nbe generated automatically:\n\n```\nnetbox_config:\n  ALLOWED_HOSTS:\n    - localhost\n    - 127.0.0.1\n  TIME_ZONE: \"Europe/Paris\"\n  …\n```\n\nThe housekeeping command is run using a systemd timer configured at 4:30AM UTC\nevery day. You can use `on_unit_active_sec: 12h` instead of `on_calendar` to\nrun the housekeeping command every 12 hours (for example).\n\n```\nnetbox_systemd_timers:\n  netbox-housekeeping:\n    enabled: true\n    command: \"{{ netbox_virtualenv_path }}/bin/python {{ netbox_install_directory }}/netbox/manage.py housekeeping\"\n    on_calendar: \"*-*-* 4:30:00 UTC\"\n```\n\nConfiguration for the backend web server and systemd:\n\n```\nnetbox_setup_systemd: false\nnetbox_gunicorn_address: 127.0.0.1\nnetbox_gunicorn_port: 8001\nnetbox_gunicorn_workers_number: 5\n```\n\nWhether or not to configure the frontend web server:\n\n```\nnetbox_setup_web_frontend: false\n```\n\nSSL/TLS configuration for the frontend web server:\n```\nnetbox_web_tls: false\nnetbox_web_tls_port: 443\n# netbox_web_tls_crt: /etc/pki/server.crt\n# netbox_web_tls_key: /etc/pki/server.key\n# netbox_web_tls_chain:\nnetbox_web_tls_redirect: false\n```\n\n## Example Playbook\n\n```\n- hosts: netboxes\n  roles:\n    - { role: gmazoyer.netbox }\n```\n\n## License\n\nThis Ansible Role is released under the terms of the GNU GPLv3. Please read\nthe `LICENSE` file for more information.\n\nPortions of this role include MIT-licensed code (see `7c400dd`) and are\ndemarcated in the header. See `LICENSE-MIT` for more information.\n\n## Author Information\n\nThis role was created in 2017 by [Guillaume Mazoyer](https://mazoyer.eu).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgmazoyer%2Fansible-role-netbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgmazoyer%2Fansible-role-netbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgmazoyer%2Fansible-role-netbox/lists"}