{"id":42154706,"url":"https://github.com/certanet/netwatch","last_synced_at":"2026-01-26T19:04:17.722Z","repository":{"id":219647631,"uuid":"125766223","full_name":"certanet/NetWatch","owner":"certanet","description":"A cross-platform tool for viewing  and automatically remediating network device configuration compliance","archived":false,"fork":false,"pushed_at":"2021-02-19T18:16:31.000Z","size":877,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-01-28T22:39:08.018Z","etag":null,"topics":["configuration-management","flask","netmiko","netwatch","network-automation"],"latest_commit_sha":null,"homepage":"","language":"Python","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/certanet.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.MD","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-03-18T20:47:51.000Z","updated_at":"2024-01-28T22:39:10.449Z","dependencies_parsed_at":"2024-01-28T22:49:13.170Z","dependency_job_id":null,"html_url":"https://github.com/certanet/NetWatch","commit_stats":null,"previous_names":["certanet/netwatch"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/certanet/NetWatch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/certanet%2FNetWatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/certanet%2FNetWatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/certanet%2FNetWatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/certanet%2FNetWatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/certanet","download_url":"https://codeload.github.com/certanet/NetWatch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/certanet%2FNetWatch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28785172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T13:55:28.044Z","status":"ssl_error","status_checked_at":"2026-01-26T13:55:26.068Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["configuration-management","flask","netmiko","netwatch","network-automation"],"created_at":"2026-01-26T19:00:57.805Z","updated_at":"2026-01-26T19:04:17.688Z","avatar_url":"https://github.com/certanet.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![NetWatch](/netwatch/static/img/logo-blk.png?raw=true \"NetWatch Logo\")\r\n\r\nNetWatch is a cross-platform tool for viewing and automatically remediating network device configuration compliance.\r\n\r\n# Screenshots\r\n![Screenshot](/screenshot.png?raw=true)\r\n\r\n\r\n# Getting Started\r\n### Windows\r\n1. Create a virtual env to separate NetWatch dependencies from system packages:\r\n`python -m venv venv`\r\n2. Enter the virtual env:\r\n`venv\\Scripts\\activate.bat`\r\n3. Install the packages required to run NetWatch:\r\n`pip install -r requirements.txt`\r\n4. Create a secret key (see Configuration below)\r\n\r\n### Ubuntu\r\n\r\n\r\n# Installation\r\nAnsible: TBC\r\nDocker: TBC\r\nVagrant: TBC\r\n\r\n\r\n\r\n# Configuration\r\nThere's two methods that allow you to set the required configuration to get you up and running with NetWatch; environment variables and the config file. Currently the only setting that's required is a SECRET_KEY.\r\n\r\nSECRET_KEY plays an important role in regards to security. It is used by the underlying web framework for NetWatch (Flask) and also to encrypt various secrets within the app (such as passwords for your nodes). Therefore you should pick a very secure secret and NOT share it anywhere (except maybe your password manager!). If you backup/restore NetWatch to another server, ensure you use the same secret so you can decrypt your credentials.\r\n\r\n**Note**: environment variables take precedence over a config file if both are created.\r\n### Environment Variables\r\nWhen setting env vars all should be prepended with NETWATCH_.\r\nSo instead of SECRET_KEY you must set NETWATCH_SECRET_KEY\r\n\r\nTo set the SECRET_KEY on Windows use:\r\n`set NETWATCH_SECRET_KEY=your-very-secure-secret`  \r\nTo set the SECRET_KEY on Ubuntu use:\r\n`export NETWATCH_SECRET_KEY=your-very-secure-secret`\r\n\r\n### Config File\r\nconfig.py is a settings file that lets NetWatch load your configuration, think of it as a .ini file. The file should be created in the data directory.  \r\n**Note**: all settings keys in the config file should be entered in UPPERCASE\r\n\r\n\r\n# Database\r\nNetWatch uses a database to store ongoing activities. By default this is SQLite, but can be changed to a local or remote PostgreSQL instance.\r\n\r\n### PostgreSQL\r\nTo start using a psql database enter the following configuration settings:\r\n- DB_NAME\r\n- DB_USER\r\n- DB_PASS\r\n- DB_HOST\r\n- DB_PORT \r\n\r\n\r\n\r\n# Application Stack\r\n\r\nNetWatch has been tested on Windows 10 and Ubuntu 16.04 with Python 3.5, but should work on newer versions.\r\nThe recommended/tested technology stack for NetWatch is...\r\n\r\n| Service        | Technology        |\r\n|----------------|-------------------|\r\n| HTTP Server    | Nginx             |\r\n| WSGI Interface | Gunicorn          |\r\n| Application    | Python/Flask      |\r\n| Database       | SQLite/PostgreSQL |\r\n| Device Access  | Netmiko           |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcertanet%2Fnetwatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcertanet%2Fnetwatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcertanet%2Fnetwatch/lists"}