Browse Source

Add id attributes to headings in the "Server Configuration" page

pull/470/head
Pēteris Caune 4 years ago
parent
commit
1419da460e
No known key found for this signature in database GPG Key ID: E28D7679E9A9EDE2
6 changed files with 128 additions and 128 deletions
  1. +4
    -4
      templates/docs/self_hosted.html
  2. +4
    -4
      templates/docs/self_hosted.md
  3. +59
    -59
      templates/docs/self_hosted_configuration.html
  4. +59
    -59
      templates/docs/self_hosted_configuration.md
  5. +1
    -1
      templates/docs/self_hosted_docker.html
  6. +1
    -1
      templates/docs/self_hosted_docker.md

+ 4
- 4
templates/docs/self_hosted.html View File

@ -1,8 +1,8 @@
<h1>Self-Hosted Healthchecks</h1>
<p>Healthchecks is open-source, and is licensed under the BSD 3-clause license.</p>
<p>Rather than using the hosted service at
<a href="https://healthchecks.io">https://healthchecks.io</a>, you have the option to host an
instance yourself.</p>
<p>As an alternative to using the hosted service at
<a href="https://healthchecks.io">https://healthchecks.io</a>, you have the option to host a
Healthchecks instance yourself.</p>
<p>The building blocks are:</p>
<ul>
<li>Python 3.6+</li>
@ -60,7 +60,7 @@ $ ./manage.py createsuperuser
</code></pre></div>
<p>With the default configuration, Healthchecks stores data in a SQLite file
<code>hc.sqlite</code> in the checkout directory (<code>~/webapps/healthchecks</code>).</p>
<code>hc.sqlite</code> in the project directory (<code>~/webapps/healthchecks/</code>).</p>
</li>
<li>
<p>Run tests:</p>


+ 4
- 4
templates/docs/self_hosted.md View File

@ -2,9 +2,9 @@
Healthchecks is open-source, and is licensed under the BSD 3-clause license.
Rather than using the hosted service at
[https://healthchecks.io](https://healthchecks.io), you have the option to host an
instance yourself.
As an alternative to using the hosted service at
[https://healthchecks.io](https://healthchecks.io), you have the option to host a
Healthchecks instance yourself.
The building blocks are:
@ -56,7 +56,7 @@ The following instructions assume you are using a Debian-based OS.
$ ./manage.py createsuperuser
With the default configuration, Healthchecks stores data in a SQLite file
`hc.sqlite` in the checkout directory (`~/webapps/healthchecks`).
`hc.sqlite` in the project directory (`~/webapps/healthchecks/`).
* Run tests:


+ 59
- 59
templates/docs/self_hosted_configuration.html View File

@ -1,7 +1,7 @@
<h1>Server Configuration</h1>
<p>Healthchecks prepares its configuration in <code>hc/settings.py</code>. It reads configuration
from environment variables. Below is a list of variables it reads and uses:</p>
<h2><code>ALLOWED_HOSTS</code></h2>
<h2 id="ALLOWED_HOSTS"><code>ALLOWED_HOSTS</code></h2>
<p>Default: <code>*</code></p>
<p>A list of strings representing the host/domain names that this site can serve.
You can specify multiple domain names by separating them with commas:</p>
@ -11,7 +11,7 @@ You can specify multiple domain names by separating them with commas:</p>
<p>Aside from the comma-separated syntax, this is a standard Django setting.
Read more about it in the
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#allowed-hosts">Django documentation</a>.</p>
<h2><code>APPRISE_ENABLED</code></h2>
<h2 id="APPRISE_ENABLED"><code>APPRISE_ENABLED</code></h2>
<p>Default: <code>False</code></p>
<p>A boolean that turns on/off the <a href="https://github.com/caronc/apprise">Apprise</a>
integration.</p>
@ -19,50 +19,50 @@ integration.</p>
<div class="highlight"><pre><span></span><code>pip install apprise
</code></pre></div>
<h2><code>DEBUG</code></h2>
<h2 id="DEBUG"><code>DEBUG</code></h2>
<p>Default: <code>True</code></p>
<p>A boolean that turns on/off debug mode.</p>
<p><em>Never run a Healthchecks instance in production with the debug mode turned on!</em></p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#debug">Django documentation</a>.</p>
<h2><code>DEFAULT_FROM_EMAIL</code></h2>
<h2 id="DEFAULT_FROM_EMAIL"><code>DEFAULT_FROM_EMAIL</code></h2>
<p>Default: <code>[email protected]</code></p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#default-from-email">Django documentation</a>.</p>
<h2><code>DB</code></h2>
<h2 id="DB"><code>DB</code></h2>
<p>Default: <code>sqlite</code></p>
<p>The database enginge to use. Possible values: <code>sqlite</code>, <code>postgres</code>, <code>mysql</code>.</p>
<h2><code>DB_CONN_MAX_AGE</code></h2>
<h2 id="DB_CONN_MAX_AGE"><code>DB_CONN_MAX_AGE</code></h2>
<p>Default: <code>0</code></p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#conn-max-age">Django documentation</a>.</p>
<h2><code>DB_HOST</code></h2>
<h2 id="DB_HOST"><code>DB_HOST</code></h2>
<p>Default: <code>""</code> (empty string)</p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#host">Django documentation</a>.</p>
<h2><code>DB_NAME</code></h2>
<p>Default: <code>hc</code> (PostgreSQL, MySQL) or <code>{project-path}/hc.sqlite</code> (SQLite)</p>
<h2 id="DB_NAME"><code>DB_NAME</code></h2>
<p>Default: <code>hc</code> (PostgreSQL, MySQL) or <code>/path/to/projectdir/hc.sqlite</code> (SQLite)</p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#name">Django documentation</a>.</p>
<h2><code>DB_PASSWORD</code></h2>
<h2 id="DB_PASSWORD"><code>DB_PASSWORD</code></h2>
<p>Default: <code>""</code> (empty string)</p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#password">Django documentation</a>.</p>
<h2><code>DB_PORT</code></h2>
<h2 id="DB_PORT"><code>DB_PORT</code></h2>
<p>Default: <code>""</code> (empty string)</p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#port">Django documentation</a>.</p>
<h2><code>DB_SSLMODE</code></h2>
<h2 id="DB_SSLMODE"><code>DB_SSLMODE</code></h2>
<p>Default: <code>prefer</code></p>
<p>PostgreSQL-specific, <a href="https://www.postgresql.org/docs/10/libpq-connect.html#LIBPQ-CONNECT-SSLMODE">details</a></p>
<h2><code>DB_TARGET_SESSION_ATTRS</code></h2>
<h2 id="DB_TARGET_SESSION_ATTRS"><code>DB_TARGET_SESSION_ATTRS</code></h2>
<p>Default: <code>read-write</code></p>
<p>PostgreSQL-specific, <a href="https://www.postgresql.org/docs/10/libpq-connect.html#LIBPQ-CONNECT-TARGET-SESSION-ATTRS">details</a></p>
<h2><code>DB_USER</code></h2>
<h2 id="DB_USER"><code>DB_USER</code></h2>
<p>Default: <code>postgres</code> (PostgreSQL) or <code>root</code> (MySQL)</p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#user">Django documentation</a>.</p>
<h2><code>DISCORD_CLIENT_ID</code></h2>
<h2 id="DISCORD_CLIENT_ID"><code>DISCORD_CLIENT_ID</code></h2>
<p>Default: <code>None</code></p>
<p>The Discord Client ID, required by the Discord integration.</p>
<p>To set up the Discord integration:</p>
@ -77,31 +77,31 @@ integration.</p>
in the <code>DISCORD_CLIENT_ID</code> and <code>DISCORD_CLIENT_SECRET</code> environment
variables.</li>
</ul>
<h2><code>DISCORD_CLIENT_SECRET</code></h2>
<h2 id="DISCORD_CLIENT_SECRET"><code>DISCORD_CLIENT_SECRET</code></h2>
<p>Default: <code>None</code></p>
<p>The Discord Client Secret, required by the Slack integration. Look it up at
<p>The Discord Client Secret, required by the Discord integration. Look it up at
<a href="https://discordapp.com/developers/applications/me">https://discordapp.com/developers/applications/me</a>.</p>
<h2><code>EMAIL_HOST</code></h2>
<h2 id="EMAIL_HOST"><code>EMAIL_HOST</code></h2>
<p>Default: <code>""</code> (empty string)</p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#email-host">Django documentation</a>.</p>
<h2><code>EMAIL_HOST_PASSWORD</code></h2>
<h2 id="EMAIL_HOST_PASSWORD"><code>EMAIL_HOST_PASSWORD</code></h2>
<p>Default: <code>""</code> (empty string)</p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#email-host-password">Django documentation</a>.</p>
<h2><code>EMAIL_HOST_USER</code></h2>
<h2 id="EMAIL_HOST_USER"><code>EMAIL_HOST_USER</code></h2>
<p>Default: <code>""</code> (empty string)</p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#email-host-user">Django documentation</a>.</p>
<h2><code>EMAIL_PORT</code></h2>
<h2 id="EMAIL_PORT"><code>EMAIL_PORT</code></h2>
<p>Default: <code>587</code></p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#email-port">Django documentation</a>.</p>
<h2><code>EMAIL_USE_TLS</code></h2>
<h2 id="EMAIL_USE_TLS"><code>EMAIL_USE_TLS</code></h2>
<p>Default: <code>True</code></p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#email-use-tls">Django documentation</a>.</p>
<h2><code>EMAIL_USE_VERIFICATION</code></h2>
<h2 id="EMAIL_USE_VERIFICATION"><code>EMAIL_USE_VERIFICATION</code></h2>
<p>Default: <code>True</code></p>
<p>A boolean that turns on/off a verification step when adding an email integration.</p>
<p>If enabled, whenever an user adds an email integration, Healthchecks emails a
@ -110,14 +110,14 @@ after user clicks the verification link.</p>
<p>If you are setting up a private healthchecks instance where
you trust your users, you can opt to disable the verification step. In that case,
set <code>EMAIL_USE_VERIFICATION</code> to <code>False</code>.</p>
<h2><code>LINENOTIFY_CLIENT_ID</code></h2>
<h2 id="LINENOTIFY_CLIENT_ID"><code>LINENOTIFY_CLIENT_ID</code></h2>
<p>Default: <code>None</code></p>
<h2><code>LINENOTIFY_CLIENT_SECRET</code></h2>
<h2 id="LINENOTIFY_CLIENT_SECRET"><code>LINENOTIFY_CLIENT_SECRET</code></h2>
<p>Default: <code>None</code></p>
<h2><code>MASTER_BADGE_LABEL</code></h2>
<h2 id="MASTER_BADGE_URL"><code>MASTER_BADGE_LABEL</code></h2>
<p>Default: same as <code>SITE_NAME</code></p>
<p>The label for the "Overall Status" status badge.</p>
<h2><code>MATRIX_ACCESS_TOKEN</code></h2>
<h2 id="MATRIX_ACCESS_TOKEN"><code>MATRIX_ACCESS_TOKEN</code></h2>
<p>Default: <code>None</code></p>
<p>The <a href="https://matrix.org/">Matrix</a> bot user's access token, required by the Matrix
integration.</p>
@ -134,22 +134,22 @@ integration.</p>
<span class="na">MATRIX_USER_ID</span><span class="o">=</span><span class="s">@mychecks:matrix.org</span>
</code></pre></div>
<h2><code>MATRIX_HOMESERVER</code></h2>
<h2 id="MATRIX_HOMESERVER"><code>MATRIX_HOMESERVER</code></h2>
<p>Default: <code>None</code></p>
<p>The Matrix bot's homeserver address, required by the Matrix integration.</p>
<h2><code>MATRIX_USER_ID</code></h2>
<h2 id="MATRIX_USER_ID"><code>MATRIX_USER_ID</code></h2>
<p>Default: <code>None</code></p>
<p>The Matrix bot's user identifier, required by the Matrix integration.</p>
<h2><code>PD_VENDOR_KEY</code></h2>
<h2 id="PD_VENDOR_KEY"><code>PD_VENDOR_KEY</code></h2>
<p>Default: <code>None</code></p>
<p><a href="https://www.pagerduty.com/">PagerDuty</a> vendor key,
required by the PagerDuty integration.</p>
<h2><code>PING_BODY_LIMIT</code></h2>
<h2 id="PING_BODY_LIMIT"><code>PING_BODY_LIMIT</code></h2>
<p>Default: <code>10000</code></p>
<p>The upper size limit in bytes for logged ping request bodies.
The default value is 10000 (10 kilobytes). You can adjust the limit or you can remove
the it altogether by setting this value to <code>None</code>.</p>
<h2><code>PING_EMAIL_DOMAIN</code></h2>
<h2 id="PING_EMAIL_DOMAIN"><code>PING_EMAIL_DOMAIN</code></h2>
<p>Default: <code>localhost</code></p>
<p>The domain to use for generating ping email addresses. Example:</p>
<div class="highlight"><pre><span></span><code><span class="na">PING_EMAIL_DOMAIN</span><span class="o">=</span><span class="s">ping.my-hc.example.org</span>
@ -157,19 +157,19 @@ the it altogether by setting this value to <code>None</code>.</p>
<p>In this example, Healthchecks would generate ping email addresses similar
to <code>[email protected]</code>.</p>
<h2><code>PING_ENDPOINT</code></h2>
<p>Default: <code>{SITE_ROOT}/ping/</code></p>
<h2 id="PING_ENDPOINT"><code>PING_ENDPOINT</code></h2>
<p>Default: <code>SITE_ROOT</code> + <code>/ping/</code></p>
<p>The base URL to use for generating ping URLs. Example:</p>
<div class="highlight"><pre><span></span><code><span class="na">PING_ENDPOINT</span><span class="o">=</span><span class="s">https://ping.my-hc.example.org</span>
</code></pre></div>
<p>In this example, Healthchecks would generate ping URLs similar
to <code>https://ping.my-hc.example.org/3f1a7317-8e96-437c-a17d-b0d550b51e86</code>.</p>
<h2><code>PUSHBULLET_CLIENT_ID</code></h2>
<h2 id="PUSHBULLET_CLIENT_ID"><code>PUSHBULLET_CLIENT_ID</code></h2>
<p>Default: <code>None</code></p>
<h2><code>PUSHBULLET_CLIENT_SECRET</code></h2>
<h2 id="PUSHBULLET_CLIENT_SECRET"><code>PUSHBULLET_CLIENT_SECRET</code></h2>
<p>Default: <code>None</code></p>
<h2><code>PUSHOVER_API_TOKEN</code></h2>
<h2 id="PUSHOVER_API_TOKEN"><code>PUSHOVER_API_TOKEN</code></h2>
<p>Default: <code>None</code></p>
<p>The <a href="https://pushover.net/">Pushover</a> API token, required by the Pushover integration.</p>
<p>To enable the Pushover integration:</p>
@ -185,20 +185,20 @@ to <code>https://ping.my-hc.example.org/3f1a7317-8e96-437c-a17d-b0d550b51e86</co
variables. The Pushover subscription URL should look similar to
<code>https://pushover.net/subscribe/yourAppName-randomAlphaNumericData</code>.</li>
</ul>
<h2><code>PUSHOVER_EMERGENCY_EXPIRATION</code></h2>
<h2 id="PUSHOVER_EMERGENCY_EXPIRATION"><code>PUSHOVER_EMERGENCY_EXPIRATION</code></h2>
<p>Default: <code>86400</code> (24 hours)</p>
<p>Specifies how many seconds an emergency Pushoover notification
will continue to be retried for.</p>
<p>More information in <a href="https://pushover.net/api#priority">Pushover API documentation</a>.</p>
<h2><code>PUSHOVER_EMERGENCY_RETRY_DELAY</code></h2>
<h2 id="PUSHOVER_EMERGENCY_RETRY_DELAY"><code>PUSHOVER_EMERGENCY_RETRY_DELAY</code></h2>
<p>Default: <code>300</code> (5 minutes)</p>
<p>Specifies how often (in seconds) the Pushover servers will send the same notification
to the user.</p>
<p>More information in <a href="https://pushover.net/api#priority">Pushover API documentation</a>.</p>
<h2><code>PUSHOVER_SUBSCRIPTION_URL</code></h2>
<h2 id="PUSHOVER_SUBSCRIPTION_URL"><code>PUSHOVER_SUBSCRIPTION_URL</code></h2>
<p>Default: <code>None</code></p>
<p>The Pushover Subscription URL, required by the Pushover integration.</p>
<h2><code>REGISTRATION_OPEN</code></h2>
<h2 id="REGISTRATION_OPEN"><code>REGISTRATION_OPEN</code></h2>
<p>Default: <code>True</code></p>
<p>A boolean that controls whether site visitors can create new accounts.
Set it to <code>False</code> if you are setting up a private Healthchecks instance, but
@ -206,7 +206,7 @@ it needs to be publicly accessible (so, for example, your cloud services
can send pings to it).</p>
<p>If you close new user registration, you can still selectively invite users
to your team account.</p>
<h2><code>REMOTE_USER_HEADER</code></h2>
<h2 id="REMOTE_USER_HEADER"><code>REMOTE_USER_HEADER</code></h2>
<p>Default: <code>None</code></p>
<p>Specifies the request header to use for external authentication.</p>
<p>Healthchecks supports external authentication by means of HTTP headers set by
@ -218,7 +218,7 @@ existing authentication system (e.g., LDAP or OAuth) via an authenticating proxy
- look up and automatically log in the user with a matching email address
- automatically create an user account if it does not exist
- disable the default authentication methods (login link to email, password)</p>
<h2><code>RP_ID</code></h2>
<h2 id="RP_ID"><code>RP_ID</code></h2>
<p>Default: <code>None</code></p>
<p>The <a href="https://www.w3.org/TR/webauthn-2/#relying-party-identifier">Relying Party identifier</a>,
required by the WebAuthn second-factor authentication feature.</p>
@ -229,12 +229,12 @@ if your site runs on <code>https://my-hc.example.org</code>, set <code>RP_ID</co
<p>Note that WebAuthn requires HTTPS, even if running on localhost. To test WebAuthn
locally with a self-signed certificate, you can use the <code>runsslserver</code> command
from the <code>django-sslserver</code> package.</p>
<h2><code>SECRET_KEY</code></h2>
<h2 id="SECRET_KEY"><code>SECRET_KEY</code></h2>
<p>Default: <code>""</code> (empty string)</p>
<p>A secret key used for cryptographic signing.</p>
<p>This is a standard Django setting, read more in
<a href="https://docs.djangoproject.com/en/3.1/ref/settings/#secret-key">Django documentation</a>.</p>
<h2><code>SHELL_ENABLED</code></h2>
<h2 id="SHELL_ENABLED"><code>SHELL_ENABLED</code></h2>
<p>Default: <code>False</code></p>
<p>A boolean that turns on/off the "Shell Commands" integration.</p>
<p>The "Shell Commands" integration runs user-defined local shell commands when checks
@ -243,7 +243,7 @@ the <code>SHELL_ENABLED</code> environment variable to <code>True</code>.</p>
<p>Note: be careful when using "Shell Commands" integration, and only enable it when
you fully trust the users of your Healthchecks instance. The commands will be executed
by the <code>manage.py sendalerts</code> process, and will run with its system permissions.</p>
<h2><code>SIGNAL_CLI_ENABLED</code></h2>
<h2 id="SIGNAL_CLI_ENABLED"><code>SIGNAL_CLI_ENABLED</code></h2>
<p>Default: <code>False</code></p>
<p>A boolean that turns on/off the <a href="https://signal.org/">Signal</a> integration.</p>
<p>Healthchecks uses <a href="https://github.com/AsamK/signal-cli">signal-cli</a> to send Signal
@ -256,15 +256,15 @@ notifications. Healthcecks interacts with signal-cli over DBus.</p>
example given in the signal-cli instructions.</li>
<li>Set the <code>SIGNAL_CLI_ENABLED</code> environment variable to <code>True</code>.</li>
</ul>
<h2><code>SITE_ROOT</code></h2>
<h2 id="SITE_ROOT"><code>SITE_ROOT</code></h2>
<p>Default: <code>http://localhost:8000</code></p>
<p>The base URL of this Healthchecks instance. Healthchecks uses <code>SITE_ROOT</code> whenever
it needs to construct absolute URLs.</p>
<h2><code>SITE_NAME</code></h2>
<h2 id="SITE_NAME"><code>SITE_NAME</code></h2>
<p>Default: <code>Mychecks</code></p>
<p>The display name of this Healthchecks instance. Healthchecks uses it throughout
web UI and documentation.</p>
<h2><code>SLACK_CLIENT_ID</code></h2>
its web UI and documentation.</p>
<h2 id="SLACK_CLIENT_ID"><code>SLACK_CLIENT_ID</code></h2>
<p>Default: <code>None</code></p>
<p>The Slack Client ID, required by the Slack integration.</p>
<p>Go to <a href="https://api.slack.com/apps/">https://api.slack.com/apps/</a>
@ -277,11 +277,11 @@ to create a <em>Slack app</em>, and look up its <em>Client ID</em> and <em>Clien
For example, if your <code>SITE_ROOT</code> is <code>https://my-hc.example.org</code> then the
Redirect URL would be <code>https://my-hc.example.org/integrations/add_slack_btn/</code>.</li>
</ul>
<h2><code>SLACK_CLIENT_SECRET</code></h2>
<h2 id="SLACK_CLIENT_SECRET"><code>SLACK_CLIENT_SECRET</code></h2>
<p>Default: <code>None</code></p>
<p>The Slack Client Secret, required by the Slack integration.
Look it up at <a href="https://api.slack.com/apps/">https://api.slack.com/apps/</a>.</p>
<h2><code>TELEGRAM_BOT_NAME</code></h2>
<h2 id="TELEGRAM_BOT_NAME"><code>TELEGRAM_BOT_NAME</code></h2>
<p>Default: <code>ExampleBot</code></p>
<p>The <a href="https://telegram.org/">Telegram</a> bot name, required by the Telegram integration.</p>
<p>To set up the Telegram integration:</p>
@ -301,23 +301,23 @@ Done, Telegram<span class="err">&#39;</span>s webhook <span class="nb">set</span
<p>For this to work, your <code>SITE_ROOT</code> must be publicy accessible and use the "https://"
scheme.</p>
<h2><code>TELEGRAM_TOKEN</code></h2>
<h2 id="TELEGRAM_TOKEN"><code>TELEGRAM_TOKEN</code></h2>
<p>Default: <code>None</code></p>
<p>The Telegram bot user's authentication token, required by the Telegram integration.</p>
<h2><code>TRELLO_APP_KEY</code></h2>
<h2 id="TRELLO_APP_KEY"><code>TRELLO_APP_KEY</code></h2>
<p>Default: <code>None</code></p>
<p>The <a href="https://trello.com/">Trello</a> app key, required by the Trello integration.</p>
<p>To set up the Trello integration, get a developer API key from
<a href="https://trello.com/app-key">https://trello.com/app-key</a> and put it in the
<code>TRELLO_APP_KEY</code> environment variable.</p>
<h2><code>TWILIO_ACCOUNT</code></h2>
<h2 id="TWILIO_ACCOUNT"><code>TWILIO_ACCOUNT</code></h2>
<p>Default: <code>None</code></p>
<h2><code>TWILIO_AUTH</code></h2>
<h2 id="TWILIO_AUTH"><code>TWILIO_AUTH</code></h2>
<p>Default: <code>None</code></p>
<h2><code>TWILIO_FROM</code></h2>
<h2 id="TWILIO_FROM"><code>TWILIO_FROM</code></h2>
<p>Default: <code>None</code></p>
<h2><code>TWILIO_USE_WHATSAPP</code></h2>
<h2 id="TWILIO_USE_WHATSAPP"><code>TWILIO_USE_WHATSAPP</code></h2>
<p>Default: <code>False</code></p>
<h2><code>USE_PAYMENTS</code></h2>
<h2 id="USE_PAYMENTS"><code>USE_PAYMENTS</code></h2>
<p>Default: <code>False</code></p>
<p>A boolean that turns on/off billing features.</p>

+ 59
- 59
templates/docs/self_hosted_configuration.md View File

@ -3,7 +3,7 @@
Healthchecks prepares its configuration in `hc/settings.py`. It reads configuration
from environment variables. Below is a list of variables it reads and uses:
## `ALLOWED_HOSTS`
## `ALLOWED_HOSTS` {: #ALLOWED_HOSTS }
Default: `*`
@ -18,7 +18,7 @@ Aside from the comma-separated syntax, this is a standard Django setting.
Read more about it in the
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#allowed-hosts).
## `APPRISE_ENABLED`
## `APPRISE_ENABLED` {: #APPRISE_ENABLED }
Default: `False`
@ -31,7 +31,7 @@ Before enabling the Apprise integration, make sure the `apprise` package is inst
pip install apprise
```
## `DEBUG`
## `DEBUG` {: #DEBUG }
Default: `True`
@ -42,74 +42,74 @@ _Never run a Healthchecks instance in production with the debug mode turned on!_
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#debug).
## `DEFAULT_FROM_EMAIL`
## `DEFAULT_FROM_EMAIL` {: #DEFAULT_FROM_EMAIL }
Default: `[email protected]`
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#default-from-email).
## `DB`
## `DB` {: #DB }
Default: `sqlite`
The database enginge to use. Possible values: `sqlite`, `postgres`, `mysql`.
## `DB_CONN_MAX_AGE`
## `DB_CONN_MAX_AGE` {: #DB_CONN_MAX_AGE }
Default: `0`
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#conn-max-age).
## `DB_HOST`
## `DB_HOST` {: #DB_HOST }
Default: `""` (empty string)
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#host).
## `DB_NAME`
## `DB_NAME` {: #DB_NAME }
Default: `hc` (PostgreSQL, MySQL) or `{project-path}/hc.sqlite` (SQLite)
Default: `hc` (PostgreSQL, MySQL) or `/path/to/projectdir/hc.sqlite` (SQLite)
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#name).
## `DB_PASSWORD`
## `DB_PASSWORD` {: #DB_PASSWORD }
Default: `""` (empty string)
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#password).
## `DB_PORT`
## `DB_PORT` {: #DB_PORT }
Default: `""` (empty string)
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#port).
## `DB_SSLMODE`
## `DB_SSLMODE` {: #DB_SSLMODE }
Default: `prefer`
PostgreSQL-specific, [details](https://www.postgresql.org/docs/10/libpq-connect.html#LIBPQ-CONNECT-SSLMODE)
## `DB_TARGET_SESSION_ATTRS`
## `DB_TARGET_SESSION_ATTRS` {: #DB_TARGET_SESSION_ATTRS }
Default: `read-write`
PostgreSQL-specific, [details](https://www.postgresql.org/docs/10/libpq-connect.html#LIBPQ-CONNECT-TARGET-SESSION-ATTRS)
## `DB_USER`
## `DB_USER` {: #DB_USER }
Default: `postgres` (PostgreSQL) or `root` (MySQL)
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#user).
## `DISCORD_CLIENT_ID`
## `DISCORD_CLIENT_ID` {: #DISCORD_CLIENT_ID }
Default: `None`
@ -127,49 +127,49 @@ To set up the Discord integration:
in the `DISCORD_CLIENT_ID` and `DISCORD_CLIENT_SECRET` environment
variables.
## `DISCORD_CLIENT_SECRET`
## `DISCORD_CLIENT_SECRET` {: #DISCORD_CLIENT_SECRET }
Default: `None`
The Discord Client Secret, required by the Slack integration. Look it up at
The Discord Client Secret, required by the Discord integration. Look it up at
[https://discordapp.com/developers/applications/me](https://discordapp.com/developers/applications/me).
## `EMAIL_HOST`
## `EMAIL_HOST` {: #EMAIL_HOST }
Default: `""` (empty string)
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#email-host).
## `EMAIL_HOST_PASSWORD`
## `EMAIL_HOST_PASSWORD` {: #EMAIL_HOST_PASSWORD }
Default: `""` (empty string)
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#email-host-password).
## `EMAIL_HOST_USER`
## `EMAIL_HOST_USER` {: #EMAIL_HOST_USER }
Default: `""` (empty string)
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#email-host-user).
## `EMAIL_PORT`
## `EMAIL_PORT` {: #EMAIL_PORT }
Default: `587`
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#email-port).
## `EMAIL_USE_TLS`
## `EMAIL_USE_TLS` {: #EMAIL_USE_TLS }
Default: `True`
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#email-use-tls).
## `EMAIL_USE_VERIFICATION`
## `EMAIL_USE_VERIFICATION` {: #EMAIL_USE_VERIFICATION }
Default: `True`
@ -183,21 +183,21 @@ If you are setting up a private healthchecks instance where
you trust your users, you can opt to disable the verification step. In that case,
set `EMAIL_USE_VERIFICATION` to `False`.
## `LINENOTIFY_CLIENT_ID`
## `LINENOTIFY_CLIENT_ID` {: #LINENOTIFY_CLIENT_ID }
Default: `None`
## `LINENOTIFY_CLIENT_SECRET`
## `LINENOTIFY_CLIENT_SECRET` {: #LINENOTIFY_CLIENT_SECRET }
Default: `None`
## `MASTER_BADGE_LABEL`
## `MASTER_BADGE_LABEL` {: #MASTER_BADGE_URL }
Default: same as `SITE_NAME`
The label for the "Overall Status" status badge.
## `MATRIX_ACCESS_TOKEN`
## `MATRIX_ACCESS_TOKEN` {: #MATRIX_ACCESS_TOKEN }
Default: `None`
@ -218,26 +218,26 @@ MATRIX_HOMESERVER=https://matrix.org
MATRIX_USER_ID=@mychecks:matrix.org
```
## `MATRIX_HOMESERVER`
## `MATRIX_HOMESERVER` {: #MATRIX_HOMESERVER }
Default: `None`
The Matrix bot's homeserver address, required by the Matrix integration.
## `MATRIX_USER_ID`
## `MATRIX_USER_ID` {: #MATRIX_USER_ID }
Default: `None`
The Matrix bot's user identifier, required by the Matrix integration.
## `PD_VENDOR_KEY`
## `PD_VENDOR_KEY` {: #PD_VENDOR_KEY }
Default: `None`
[PagerDuty](https://www.pagerduty.com/) vendor key,
required by the PagerDuty integration.
## `PING_BODY_LIMIT`
## `PING_BODY_LIMIT` {: #PING_BODY_LIMIT }
Default: `10000`
@ -245,7 +245,7 @@ The upper size limit in bytes for logged ping request bodies.
The default value is 10000 (10 kilobytes). You can adjust the limit or you can remove
the it altogether by setting this value to `None`.
## `PING_EMAIL_DOMAIN`
## `PING_EMAIL_DOMAIN` {: #PING_EMAIL_DOMAIN }
Default: `localhost`
@ -258,9 +258,9 @@ PING_EMAIL_DOMAIN=ping.my-hc.example.org
In this example, Healthchecks would generate ping email addresses similar
to `[email protected]`.
## `PING_ENDPOINT`
## `PING_ENDPOINT` {: #PING_ENDPOINT }
Default: `{SITE_ROOT}/ping/`
Default: `SITE_ROOT` + `/ping/`
The base URL to use for generating ping URLs. Example:
@ -271,15 +271,15 @@ PING_ENDPOINT=https://ping.my-hc.example.org
In this example, Healthchecks would generate ping URLs similar
to `https://ping.my-hc.example.org/3f1a7317-8e96-437c-a17d-b0d550b51e86`.
## `PUSHBULLET_CLIENT_ID`
## `PUSHBULLET_CLIENT_ID` {: #PUSHBULLET_CLIENT_ID }
Default: `None`
## `PUSHBULLET_CLIENT_SECRET`
## `PUSHBULLET_CLIENT_SECRET` {: #PUSHBULLET_CLIENT_SECRET }
Default: `None`
## `PUSHOVER_API_TOKEN`
## `PUSHOVER_API_TOKEN` {: #PUSHOVER_API_TOKEN }
Default: `None`
@ -298,7 +298,7 @@ To enable the Pushover integration:
variables. The Pushover subscription URL should look similar to
`https://pushover.net/subscribe/yourAppName-randomAlphaNumericData`.
## `PUSHOVER_EMERGENCY_EXPIRATION`
## `PUSHOVER_EMERGENCY_EXPIRATION` {: #PUSHOVER_EMERGENCY_EXPIRATION }
Default: `86400` (24 hours)
@ -307,7 +307,7 @@ will continue to be retried for.
More information in [Pushover API documentation](https://pushover.net/api#priority).
## `PUSHOVER_EMERGENCY_RETRY_DELAY`
## `PUSHOVER_EMERGENCY_RETRY_DELAY` {: #PUSHOVER_EMERGENCY_RETRY_DELAY }
Default: `300` (5 minutes)
@ -316,13 +316,13 @@ to the user.
More information in [Pushover API documentation](https://pushover.net/api#priority).
## `PUSHOVER_SUBSCRIPTION_URL`
## `PUSHOVER_SUBSCRIPTION_URL` {: #PUSHOVER_SUBSCRIPTION_URL }
Default: `None`
The Pushover Subscription URL, required by the Pushover integration.
## `REGISTRATION_OPEN`
## `REGISTRATION_OPEN` {: #REGISTRATION_OPEN }
Default: `True`
@ -334,7 +334,7 @@ can send pings to it).
If you close new user registration, you can still selectively invite users
to your team account.
## `REMOTE_USER_HEADER`
## `REMOTE_USER_HEADER` {: #REMOTE_USER_HEADER }
Default: `None`
@ -352,7 +352,7 @@ When `REMOTE_USER_HEADER` is set, Healthchecks will:
- automatically create an user account if it does not exist
- disable the default authentication methods (login link to email, password)
## `RP_ID`
## `RP_ID` {: #RP_ID }
Default: `None`
@ -368,7 +368,7 @@ Note that WebAuthn requires HTTPS, even if running on localhost. To test WebAuth
locally with a self-signed certificate, you can use the `runsslserver` command
from the `django-sslserver` package.
## `SECRET_KEY`
## `SECRET_KEY` {: #SECRET_KEY }
Default: `""` (empty string)
@ -377,7 +377,7 @@ A secret key used for cryptographic signing.
This is a standard Django setting, read more in
[Django documentation](https://docs.djangoproject.com/en/3.1/ref/settings/#secret-key).
## `SHELL_ENABLED`
## `SHELL_ENABLED` {: #SHELL_ENABLED }
Default: `False`
@ -391,7 +391,7 @@ Note: be careful when using "Shell Commands" integration, and only enable it whe
you fully trust the users of your Healthchecks instance. The commands will be executed
by the `manage.py sendalerts` process, and will run with its system permissions.
## `SIGNAL_CLI_ENABLED`
## `SIGNAL_CLI_ENABLED` {: #SIGNAL_CLI_ENABLED }
Default: `False`
@ -408,21 +408,21 @@ To enable the Signal integration:
example given in the signal-cli instructions.
* Set the `SIGNAL_CLI_ENABLED` environment variable to `True`.
## `SITE_ROOT`
## `SITE_ROOT` {: #SITE_ROOT }
Default: `http://localhost:8000`
The base URL of this Healthchecks instance. Healthchecks uses `SITE_ROOT` whenever
it needs to construct absolute URLs.
## `SITE_NAME`
## `SITE_NAME` {: #SITE_NAME }
Default: `Mychecks`
The display name of this Healthchecks instance. Healthchecks uses it throughout
web UI and documentation.
its web UI and documentation.
## `SLACK_CLIENT_ID`
## `SLACK_CLIENT_ID` {: #SLACK_CLIENT_ID }
Default: `None`
@ -439,14 +439,14 @@ When setting up the Slack app, make sure to:
For example, if your `SITE_ROOT` is `https://my-hc.example.org` then the
Redirect URL would be `https://my-hc.example.org/integrations/add_slack_btn/`.
## `SLACK_CLIENT_SECRET`
## `SLACK_CLIENT_SECRET` {: #SLACK_CLIENT_SECRET }
Default: `None`
The Slack Client Secret, required by the Slack integration.
Look it up at [https://api.slack.com/apps/](https://api.slack.com/apps/).
## `TELEGRAM_BOT_NAME`
## `TELEGRAM_BOT_NAME` {: #TELEGRAM_BOT_NAME }
Default: `ExampleBot`
@ -471,13 +471,13 @@ Done, Telegram's webhook set to: https://my-monitoring-project.com/integrations/
For this to work, your `SITE_ROOT` must be publicy accessible and use the "https://"
scheme.
## `TELEGRAM_TOKEN`
## `TELEGRAM_TOKEN` {: #TELEGRAM_TOKEN }
Default: `None`
The Telegram bot user's authentication token, required by the Telegram integration.
## `TRELLO_APP_KEY`
## `TRELLO_APP_KEY` {: #TRELLO_APP_KEY }
Default: `None`
@ -487,23 +487,23 @@ To set up the Trello integration, get a developer API key from
[https://trello.com/app-key](https://trello.com/app-key) and put it in the
`TRELLO_APP_KEY` environment variable.
## `TWILIO_ACCOUNT`
## `TWILIO_ACCOUNT` {: #TWILIO_ACCOUNT }
Default: `None`
## `TWILIO_AUTH`
## `TWILIO_AUTH` {: #TWILIO_AUTH }
Default: `None`
## `TWILIO_FROM`
## `TWILIO_FROM` {: #TWILIO_FROM }
Default: `None`
## `TWILIO_USE_WHATSAPP`
## `TWILIO_USE_WHATSAPP` {: #TWILIO_USE_WHATSAPP }
Default: `False`
## `USE_PAYMENTS`
## `USE_PAYMENTS` {: #USE_PAYMENTS }
Default: `False`

+ 1
- 1
templates/docs/self_hosted_docker.html View File

@ -3,7 +3,7 @@
you can find a sample configuration for running the project with
<a href="https://www.docker.com">Docker</a> and <a href="https://docs.docker.com/compose/">Docker Compose</a>.</p>
<p><strong>Note: The Docker configuration is a recent addition, and, for the time being,
should be considered highly experimental</strong>.</p>
should be considered as highly experimental</strong>.</p>
<p>Note: For the sake of simplicity, the sample configuration starts a single database
node and a single web server node, both on the same host. It also does not handle SSL
termination. If you plan to expose it to the public internet, make sure you put a


+ 1
- 1
templates/docs/self_hosted_docker.md View File

@ -5,7 +5,7 @@ you can find a sample configuration for running the project with
[Docker](https://www.docker.com) and [Docker Compose](https://docs.docker.com/compose/).
**Note: The Docker configuration is a recent addition, and, for the time being,
should be considered highly experimental**.
should be considered as highly experimental**.
Note: For the sake of simplicity, the sample configuration starts a single database
node and a single web server node, both on the same host. It also does not handle SSL


Loading…
Cancel
Save