{"id":13586897,"url":"https://github.com/alerta/docker-alerta","last_synced_at":"2025-05-16T09:02:48.593Z","repository":{"id":13601238,"uuid":"16294161","full_name":"alerta/docker-alerta","owner":"alerta","description":"Run alerta in a docker container","archived":false,"fork":false,"pushed_at":"2024-11-18T05:10:43.000Z","size":415,"stargazers_count":160,"open_issues_count":18,"forks_count":137,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-12T04:48:33.572Z","etag":null,"topics":["alerta","docker","monitoring"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/alerta/alerta-web","language":"Ruby","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/alerta.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"satterly"}},"created_at":"2014-01-27T21:53:59.000Z","updated_at":"2025-01-12T09:00:11.000Z","dependencies_parsed_at":"2024-05-06T06:23:34.740Z","dependency_job_id":"addf48ff-1578-4762-a559-9dc3b9d09c48","html_url":"https://github.com/alerta/docker-alerta","commit_stats":null,"previous_names":[],"tags_count":85,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alerta%2Fdocker-alerta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alerta%2Fdocker-alerta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alerta%2Fdocker-alerta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alerta%2Fdocker-alerta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alerta","download_url":"https://codeload.github.com/alerta/docker-alerta/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501548,"owners_count":22081526,"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":["alerta","docker","monitoring"],"created_at":"2024-08-01T15:05:53.414Z","updated_at":"2025-05-16T09:02:48.559Z","avatar_url":"https://github.com/alerta.png","language":"Ruby","funding_links":["https://github.com/sponsors/satterly"],"categories":["Ruby","Shell"],"sub_categories":[],"readme":"What is Alerta?\n===============\n\nThe alerta monitoring system is a tool used to consolidate and\nde-duplicate alerts from multiple sources for quick ‘at-a-glance’\nvisualisation. With just one system you can monitor alerts from\nmany other monitoring tools on a single screen.\n\nHow to use this image\n=====================\n\nTo use this image run either a `mongo` or `postgres` container first:\n\n    $ docker run --name alerta-db -d mongo\n\nThen link to the database container when running the `alerta-web` container:\n\n    $ export DATABASE_URL=mongodb://db:27017/monitoring\n    $ docker run --name alerta-web -e DATABASE_URL=$DATABASE_URL --link alerta-db:db \\\n    -d -p \u003cport\u003e:8080 alerta/alerta-web\n\nThe API endpoint is at:\n\n    http://\u003cdocker\u003e:\u003cport\u003e/api\n\nBrowse to the alerta console at:\n\n    http://\u003cdocker\u003e:\u003cport\u003e/\n\nEnvironment Variables\n---------------------\n\nThe following environment variables are supported for configuring\nthe `alerta-web` container specifically for Docker deployments:\n\n`ADMIN_PASSWORD`\n    - sets the password of all admins. Should be changed at first login. default: alerta\n\n`ADMIN_KEY`\n    - sets an admin API key.\n\n`ADMIN_KEY_MAXAGE`\n    - sets the duration of the admin key (seconds) default: 10 years\n\n`HEARTBEAT_SEVERITY`\n    - severity used to create alerts for stale heartbeats\n\nThe following environment variables are supported by the Alerta\nAPI to ease deployment more generally:\n\n`DEBUG`\n    - debug mode for increased logging. equivalent of setting `LOG_LEVEL=debug` (eg. `DEBUG=1`)\n\n`LOG_LEVEL`\n    - log level of Alerta application and nginx (default:`warn`)\n\n`SUPERVISORD_LOG_LEVEL`\n    - log level of supervisord, must be `debug` or lower to see appliation logs (default:`debug`)\n\n`SECRET_KEY`\n    - a unique, randomly generated sequence of ASCII characters.\n\n`DATABASE_URL`\n    - database connection URI string. Only MongoDB and Postgres allowed.\n\n`DATABASE_NAME`\n    - used to override database name in `DATABASE_URL`.\n\n`AUTH_REQUIRED`\n    - require users to authenticate when using web UI or `alerta` CLI.\n\n`AUTH_PROVIDER`\n    - authentication provider eg. basic, ldap, openid, saml2, keycloak\n\n`ADMIN_USERS`\n    - comma-separated list of logins that will be created with \"admin\" role.\n\n`CUSTOMER_VIEWS`\n    - enable alert views partitioned by customer. (default:``False``)\n\n`OAUTH2_CLIENT_ID`\n    - client ID required by OAuth2 provider\n\n`OAUTH2_CLIENT_SECRET`\n    - client secret required by OAuth2 provider\n\n`ALLOWED_EMAIL_DOMAINS`\n    - list of authorised email domains when using Google\n\n`GITHUB_URL`\n    - GitHub Enteprise URL for privately run GitHub server\n\n`ALLOWED_GITHUB_ORGS`\n    - list of authorised GitHub organisations when using GitHub\n\n`GITLAB_URL`\n    - GitLab website URL for public or privately run GitLab server\n\n`ALLOWED_GITLAB_GROUPS`\n    - list of authorised GitLab groups when using GitLab\n\n`KEYCLOAK_URL`\n    - Keycloak URL\n\n`KEYCLOAK_REALM`\n    - Keycloak realm\n\n`ALLOWED_KEYCLOAK_ROLES`\n    - Keycloak roles\n\n`CORS_ORIGINS`\n    - list of URL origins that can access the API\n\n`MAIL_FROM`\n    - valid email address from which verification emails are sent\n\n`SMTP_PASSWORD`\n    - password for ``MAIL_FROM`` email account\n\n`PLUGINS`\n    - list of plugins to enable.\n\n`NGINX_WORKER_PROCESSES`\n    - number of worker processes (default:`1`)\n\n`NGINX_WORKER_CONNECTIONS`\n    - maximum number of simultaneous connections that can be opened by a worker process (default:`1024`)\n\n`UWSGI_PROCESSES`\n    - number of processes for uWSGI (default:`5`)\n\n`UWSGI_LISTEN`\n    - max number of concurrent connections (default:`100`)\n\n`UWSGI_BUFFER_SIZE`\n    - size of the unix socket buffer (default:`8192`)\n\n`UWSGI_MAX_WORKER_LIFETIME`\n    - reload worker after this many seconds (default:`30`)\n\n`UWSGI_WORKER_LIFETIME_DELTA`\n    - time in seconds to stagger UWSGI worker respawns (default:`3`)\n\nConfiguration Files\n-------------------\n\nTo set configuration settings not supported by environment variables use\nconfiguration files instead. For example:\n\n    $ docker run -v $PWD/config/alertad.conf:/app/alertad.conf \\\n      -v $PWD/config/config.json:/web/config.json \\\n      -p \u003cport\u003e:8080 alerta/alerta-web\n\nFor a full list of server configuration options see https://docs.alerta.io.\n\nPlugins\n-------\n\nAll built-in and contributed plugins are installed at image build time. Only\nplugins listed in `PLUGINS` environment variabled will be enabled.\n\nIn the example below, of all the plugins installed only those listed will\nbe enabled at container start time:\n\n    PLUGINS=remote_ip,reject,heartbeat,blackout,slack,prometheus\n\nCustom plugins should be installed as an additional image layer.\n\nAuthentication\n--------------\n\nTo make it easy to get going with Alerta on docker quickly, the default image\nwill use Basic Auth for user logins and login will be optional.\n\nTo allow users to login using Google OAuth, go to the [Google Developer Console][1]\nand create a new client ID for a web application. Then set the `CLIENT_ID`\nand `CLIENT_SECRET` environment variables on the command line as follows:\n\n    $ export CLIENT_ID=379647311730-6tfdcopl5fodke08el52nnoj3x8mpl3.apps.googleusercontent.com\n    $ export CLIENT_SECRET=UpJxs02c_bx9GlI3X8MPL3-p\n\nNow pass in the defined environment variables to the `docker run` command:\n\n    $ docker run --name alerta-web  -e AUTH_PROVIDER=google -e CLIENT_ID=$CLIENT_ID \\\n    -e CLIENT_SECRET=$CLIENT_SECRET -d -p \u003cport\u003e:8080 alerta/alerta-web\n\nThis will allow users to login but will only make it optional. To enforce\nusers to login you must also set the `AUTH_REQUIRED` environment variable to\n`True` when starting the docker image:\n\n    $ docker run --name alerta-web -e AUTH_REQUIRED=True -e ...\n\nTo restrict logins to a certain email domain set the `ALLOWED_EMAIL_DOMAIN`\nenvironment variable as follows:\n\n    $ docker run --name alerta-web -e ALLOWED_EMAIL_DOMAIN=example.com ...\n\nGitHub and GitLab can also be used as the OAuth2 providers by setting the\n`AUTH_PROVIDER` environment variable to `github` and `gitlab` respectively. For\nmore information on using GitHub, GitHub Enterprise or GitLab as th OAuth2\nprovider see https://docs.alerta.io\n\nDocker Compose\n--------------\n\nUse `docker-compose` to create and start Alerta and Postgres with\none command:\n\n    $ docker-compose up\n\n**Example Docker Compose File**\n\n```yaml\nversion: '2.1'\nservices:\n  web:\n    image: alerta/alerta-web\n    ports:\n      - \"8080:8080\"\n    depends_on:\n      - db\n    environment:\n      - DEBUG=1  # remove this line to turn DEBUG off\n      - DATABASE_URL=postgres://postgres:postgres@db:5432/monitoring\n      - AUTH_REQUIRED=True\n      - ADMIN_USERS=admin@alerta.io,devops@alerta.io #default password: alerta\n      - ADMIN_KEY=demo-key\n      - PLUGINS=reject,blackout,normalise,enhance\n    restart: always\n  db:\n    image: postgres\n    volumes:\n      - ./pg-data:/var/lib/postgresql/data\n    environment:\n      POSTGRES_DB: monitoring\n      POSTGRES_USER: postgres\n      POSTGRES_PASSWORD: postgres\n    restart: always\n```\n\nCommand-line Tool\n-----------------\n\nA command-line tool for alerta is available. To install it run:\n\n    $ pip install alerta\n\nConfiguration file `$HOME/.alerta.conf`:\n\n    [DEFAULT]\n    endpoint = http://\u003cdocker\u003e:\u003cport\u003e/api\n\nIf authentication is enabled (ie. `AUTH_REQUIRED` is `True`), then create\na new API key in the Alerta console and add the key to the configuration\nfile. For example:\n\n    [DEFAULT]\n    endpoint = ...\n    key = 4nHAAslsGjLQ9P0QxmAlKIapLTSDfEfMDSy8BT+0\n\nFurther Reading\n---------------\n\nMore information about Alerta can be found at http://docs.alerta.io\n\nLicense\n-------\n\nCopyright (c) 2014-2020 Nick Satterly. Available under the MIT License.\n\n[1]: \u003chttps://console.developers.google.com\u003e \"Google Developer Console\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falerta%2Fdocker-alerta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falerta%2Fdocker-alerta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falerta%2Fdocker-alerta/lists"}