{"id":13502319,"url":"https://github.com/alerta/alerta","last_synced_at":"2026-04-02T16:28:03.595Z","repository":{"id":2871647,"uuid":"3877327","full_name":"alerta/alerta","owner":"alerta","description":"Alerta monitoring system","archived":false,"fork":false,"pushed_at":"2026-03-28T00:47:11.000Z","size":11493,"stargazers_count":2506,"open_issues_count":16,"forks_count":368,"subscribers_count":73,"default_branch":"master","last_synced_at":"2026-03-28T04:15:31.735Z","etag":null,"topics":["alerta","api-server","mongodb","monitoring","postgres"],"latest_commit_sha":null,"homepage":"https://alerta.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alerta.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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":"satterly"}},"created_at":"2012-03-30T14:19:34.000Z","updated_at":"2026-03-28T00:47:16.000Z","dependencies_parsed_at":"2023-12-19T14:23:28.836Z","dependency_job_id":"92e6014b-3392-420b-959a-16459f7bb3f9","html_url":"https://github.com/alerta/alerta","commit_stats":{"total_commits":3208,"total_committers":99,"mean_commits":32.4040404040404,"dds":0.3871571072319202,"last_synced_commit":"b7111d23ae9aefb5064ef107976f62e3836217b6"},"previous_names":["guardian/alerta"],"tags_count":113,"template":false,"template_full_name":null,"purl":"pkg:github/alerta/alerta","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alerta%2Falerta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alerta%2Falerta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alerta%2Falerta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alerta%2Falerta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alerta","download_url":"https://codeload.github.com/alerta/alerta/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alerta%2Falerta/sbom","scorecard":{"id":179387,"data":{"date":"2025-08-11","repo":{"name":"github.com/alerta/alerta","commit":"b7111d23ae9aefb5064ef107976f62e3836217b6"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.6,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Code-Review","score":2,"reason":"Found 2/10 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/analysis.yml:28","Info: jobLevel 'contents' permission set to 'read': .github/workflows/analysis.yml:29","Warn: no topLevel permission defined: .github/workflows/analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/deploy.yml:1","Warn: no topLevel permission defined: .github/workflows/docker.yml:1","Warn: no topLevel permission defined: .github/workflows/lint.yml:1","Warn: no topLevel permission defined: .github/workflows/performance.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/analysis.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/analysis.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/analysis.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/analysis.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/deploy.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/deploy.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/deploy.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/deploy.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/docker.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/lint.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/lint.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/performance.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/performance.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:102: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:124: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:141: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:161: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:163: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:180: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:208: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:219: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/tests.yml:244: update your workflow using https://app.stepsecurity.io/secureworkflow/alerta/alerta/tests.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating python:3.9-slim-buster to python:3.9-slim-buster@sha256:320a7a4250aba4249f458872adecf92eea88dc6abd2d76dc5c0f01cac9b53990","Warn: pipCommand not pinned by hash: Dockerfile:41-44","Warn: pipCommand not pinned by hash: Dockerfile:41-44","Warn: pipCommand not pinned by hash: Dockerfile:41-44","Warn: pipCommand not pinned by hash: Dockerfile:41-44","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:28","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/lint.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:39","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:40","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:41","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:42","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:43","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:74","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:82","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:93","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:130","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:131","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:132","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:133","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:134","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:169","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:170","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:171","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:172","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:173","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:226","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:227","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:228","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:229","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:230","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:231","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:43","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:44","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:45","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:46","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:47","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:91","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:92","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:93","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:94","Warn: pipCommand not pinned by hash: .github/workflows/tests.yml:95","Info:   0 out of  22 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of  41 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/docker.yml:13"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/alerta/.github/SECURITY.md:1","Info: Found linked content: github.com/alerta/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/alerta/.github/SECURITY.md:1","Info: Found text in security policy: github.com/alerta/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":1,"reason":"9 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2025-49 / GHSA-5rjg-fvgr-3xxf","Warn: Project is vulnerable to: GHSA-79v4-65xg-pq4g","Warn: Project is vulnerable to: GHSA-43qf-4rqw-9q2g","Warn: Project is vulnerable to: GHSA-7rxf-gvfg-47g4","Warn: Project is vulnerable to: GHSA-8vgw-p6qm-5gr7","Warn: Project is vulnerable to: GHSA-m87m-mmvp-v9qm","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-f9vj-2wh5-fj8j","Warn: Project is vulnerable to: GHSA-q34m-jh98-gwm2"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 9 commits out of 23 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T18:30:46.245Z","repository_id":2871647,"created_at":"2025-08-16T18:30:46.245Z","updated_at":"2025-08-16T18:30:46.245Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31309901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["alerta","api-server","mongodb","monitoring","postgres"],"created_at":"2024-07-31T22:02:09.922Z","updated_at":"2026-04-02T16:28:03.575Z","avatar_url":"https://github.com/alerta.png","language":"Python","readme":"Alerta Release 9.1\n==================\n\n[![Actions Status](https://github.com/alerta/alerta/workflows/CI%20Tests/badge.svg)](https://github.com/alerta/alerta/actions)\n[![Slack chat](https://img.shields.io/badge/chat-on%20slack-blue?logo=slack)](https://slack.alerta.dev)\n[![Coverage Status](https://coveralls.io/repos/github/alerta/alerta/badge.svg?branch=master)](https://coveralls.io/github/alerta/alerta?branch=master)\n[![Docker Pulls](https://img.shields.io/docker/pulls/alerta/alerta-web.svg)](https://hub.docker.com/r/alerta/alerta-web)\n\nThe Alerta monitoring tool was developed with the following aims in mind:\n\n*   distributed and de-coupled so that it is **SCALABLE**\n*   minimal **CONFIGURATION** that easily accepts alerts from any source\n*   quick at-a-glance **VISUALISATION** with drill-down to detail\n\n![webui](/docs/images/alerta-webui-v7.jpg?raw=true)\n\n----\n\nRequirements\n------------\n\nRelease 9 only supports Python 3.9 or higher.\n\nThe only mandatory dependency is MongoDB or PostgreSQL. Everything else is optional.\n\n- Postgres version 13 or better\n- MongoDB version 6.0 or better\n\nInstallation\n------------\n\nTo install MongoDB on Debian/Ubuntu run:\n\n    $ sudo apt-get install -y mongodb-org\n    $ mongod\n\nTo install MongoDB on CentOS/RHEL run:\n\n    $ sudo yum install -y mongodb\n    $ mongod\n\nTo install the Alerta server and client run:\n\n    $ pip install alerta-server alerta\n    $ alertad run\n\nTo install the web console run:\n\n    $ wget https://github.com/alerta/alerta-webui/releases/latest/download/alerta-webui.tar.gz\n    $ tar zxvf alerta-webui.tar.gz\n    $ cd dist\n    $ python3 -m http.server 8000\n\n    \u003e\u003e browse to http://localhost:8000\n\n### Docker\nAlerta and MongoDB can also run using Docker containers, see [alerta/docker-alerta](https://github.com/alerta/docker-alerta).\n\nConfiguration\n-------------\n\nTo configure the ``alertad`` server override the default settings in ``/etc/alertad.conf``\nor using ``ALERTA_SVR_CONF_FILE`` environment variable::\n\n    $ ALERTA_SVR_CONF_FILE=~/.alertad.conf\n    $ echo \"DEBUG=True\" \u003e $ALERTA_SVR_CONF_FILE\n\nDocumentation\n-------------\n\nMore information on configuration and other aspects of alerta can be found\nat \u003chttp://docs.alerta.io\u003e\n\nDevelopment\n-----------\n\nTo run in development mode, listening on port 5000:\n\n    $ export FLASK_APP=alerta FLASK_DEBUG=1\n    $ pip install -e .\n    $ flask run\n\nTo run in development mode, listening on port 8080, using Postgres and\nreporting errors to [Sentry](https://sentry.io):\n\n    $ export FLASK_APP=alerta FLASK_DEBUG=1\n    $ export DATABASE_URL=postgres://localhost:5432/alerta5\n    $ export SENTRY_DSN=https://8b56098250544fb78b9578d8af2a7e13:fa9d628da9c4459c922293db72a3203f@sentry.io/153768\n    $ pip install -e .[postgres]\n    $ flask run --debugger --port 8080 --with-threads --reload\n\nTroubleshooting\n---------------\n\nEnable debug log output by setting `DEBUG=True` in the API server\nconfiguration:\n\n```\nDEBUG=True\n\nLOG_HANDLERS = ['console','file']\nLOG_FORMAT = 'verbose'\nLOG_FILE = '$HOME/alertad.log'\n```\n\nIt can also be helpful to check the web browser developer console for\nJavaScript logging, network problems and API error responses.\n\nTests\n-----\n\nTo run the *all* the tests there must be a local Postgres\nand MongoDB database running. Then run:\n\n    $ TOXENV=ALL make test\n\nTo just run the Postgres or MongoDB tests run:\n\n    $ TOXENV=postgres make test\n    $ TOXENV=mongodb make test\n\nTo run a single test run something like:\n\n    $ TOXENV=\"mongodb -- tests/test_search.py::QueryParserTestCase::test_boolean_operators\" make test\n    $ TOXENV=\"postgres -- tests/test_queryparser.py::PostgresQueryTestCase::test_boolean_operators\" make test\n\nCloud Deployment\n----------------\n\nAlerta can be deployed to the cloud easily using Heroku \u003chttps://github.com/alerta/heroku-api-alerta\u003e,\nAWS EC2 \u003chttps://github.com/alerta/alerta-cloudformation\u003e, or Google Cloud Platform\n\u003chttps://github.com/alerta/gcloud-api-alerta\u003e\n\nLicense\n-------\n\n    Alerta monitoring system and console\n    Copyright 2012-2023 Nick Satterly\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n        http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n","funding_links":["https://github.com/sponsors/satterly"],"categories":["Observability \u0026 Monitoring","Python","monitoring","postgres","Bonus #4 - Self-Hosted Sysadmin","Observability","DevOps Utilities"],"sub_categories":["Notable Mentions"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falerta%2Falerta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falerta%2Falerta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falerta%2Falerta/lists"}