Add ntfy push and Listmonk newsletter with lightweight Docker deploy tooling.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
eric
2026-06-08 02:24:55 -05:00
parent 47b1ae8514
commit 22a960799c
24 changed files with 846 additions and 3 deletions

View File

@@ -195,6 +195,31 @@ class Settings:
or os.getenv("NEXT_PUBLIC_LOUNGE_URL")
or "https://lounge.nomadro.cn"
).rstrip("/")
self.listmonk_url = (
os.getenv("LISTMONK_URL")
or os.getenv("NEXT_PUBLIC_LISTMONK_URL")
or "https://listmonk.nomadro.cn"
).rstrip("/")
self.listmonk_api_url = (
os.getenv("LISTMONK_API_URL") or self.listmonk_url
).rstrip("/")
self.listmonk_api_key = os.getenv("LISTMONK_API_KEY", "").strip()
list_ids_raw = os.getenv("LISTMONK_DEFAULT_LIST_IDS", "1")
self.listmonk_default_list_ids = [
int(x.strip()) for x in list_ids_raw.split(",") if x.strip().isdigit()
] or [1]
self.ntfy_url = (
os.getenv("NTFY_URL")
or os.getenv("NEXT_PUBLIC_NTFY_URL")
or "https://ntfy.nomadro.cn"
).rstrip("/")
self.ntfy_auth_token = os.getenv("NTFY_AUTH_TOKEN", "").strip()
self.ntfy_enabled = _bool_env("NTFY_ENABLED", "true")
self.site_public_url = (
os.getenv("NEXT_PUBLIC_SITE_URL")
or os.getenv("SITE_PUBLIC_URL")
or "https://nomadro.cn"
).rstrip("/")
@lru_cache(maxsize=1)