diff options
Diffstat (limited to 'status/app.py')
| -rw-r--r-- | status/app.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/status/app.py b/status/app.py index 7326b01..9a20c04 100644 --- a/status/app.py +++ b/status/app.py @@ -22,6 +22,8 @@ NTFY_URL = os.environ.get("NTFY_URL", "") # 例: http://ntfy/status(空なら NTFY_TOKEN = os.environ.get("NTFY_TOKEN", "") FAIL_THRESHOLD = int(os.environ.get("FAIL_THRESHOLD", "2")) # 連続失敗この回数で DOWN 通知 PUBLIC_URL = os.environ.get("PUBLIC_URL", "https://status.yyamashita.com") +# ntfy アプリで通知トピックを開くディープリンク(空ならページに出さない) +NTFY_DEEPLINK = os.environ.get("NTFY_DEEPLINK", "ntfy://ntfy.yyamashita.com/status") # 毎朝のサマリー通知(-1 で無効)。JST は DST がないので固定オフセットで扱う SUMMARY_HOUR = int(os.environ.get("SUMMARY_HOUR", "8")) LOCAL_TZ = timezone(timedelta(hours=float(os.environ.get("SUMMARY_TZ_OFFSET", "9")))) @@ -190,6 +192,9 @@ def render_html(data): else: banner = '<div class="banner d">Some systems are down</div>' checked = data["services"][0]["checked_at"] if data["services"] else "-" + subscribe = ( + f' · <a href="{escape(NTFY_DEEPLINK)}">Subscribe in ntfy app</a>' if NTFY_DEEPLINK else "" + ) return f"""<!DOCTYPE html> <html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"> <meta http-equiv="refresh" content="{INTERVAL}"><title>Status - yyamashita.com</title> @@ -206,7 +211,7 @@ small{{color:#888}} <h2>yyamashita.com status</h2> {banner} <table>{"".join(rows)}</table> -<p><small>Last checked: {checked} (every {INTERVAL}s) · <a href="/api/status">JSON</a></small></p> +<p><small>Last checked: {checked} (every {INTERVAL}s) · <a href="/api/status">JSON</a>{subscribe}</small></p> </body></html>""" |
