Initial commit

This commit is contained in:
2026-07-05 17:59:02 +08:00
commit 11ea2ddb9a
18 changed files with 5549 additions and 0 deletions
+100
View File
@@ -0,0 +1,100 @@
version: 1
name: Daily News for Markyan04 Delivery Configuration
timezone: Asia/Shanghai
recipient:
email: markyan04@163.com
display_name: Hongyu Yan
archive:
directory: newspaper
write_before_send: true
mark_sent_after_success: true
formats:
- markdown
- html
- metadata_json
naming:
markdown: "{YYYY}-{MM}-{DD}-daily-news-for-markyan04.md"
html: "{YYYY}-{MM}-{DD}-daily-news-for-markyan04.html"
metadata_json: "{YYYY}-{MM}-{DD}-daily-news-for-markyan04.meta.json"
metadata_fields:
- date
- subject
- recipient
- generated_at
- sent_at
- delivery_status
- source_item_count
- filtered_recent_source_item_count
- source_error_count
- source_errors
- source_items
- content_hash
email:
transport: smtp
subject_format_ref: config/newspaper.yaml:title_format
body:
primary_format: html
include_plain_text_fallback: true
smtp:
host_env: NEWSPAPER_SMTP_HOST
port_env: NEWSPAPER_SMTP_PORT
username_env: NEWSPAPER_SMTP_USERNAME
password_env: NEWSPAPER_SMTP_PASSWORD
from_email_env: NEWSPAPER_FROM_EMAIL
from_name_env: NEWSPAPER_FROM_NAME
security_env: NEWSPAPER_SMTP_SECURITY
supported_security:
- ssl
- starttls
timeout_seconds: 30
secrets_policy:
never_commit_credentials: true
require_env_vars: true
allow_dotenv_for_local_dev: true
dotenv_file: .env
dotenv_should_be_gitignored: true
delivery_policy:
send_only_after_successful_generation: true
do_not_send_if_required_sections_missing: true
do_not_send_if_news_items_lack_sources: true
max_send_attempts: 3
retry_backoff_seconds:
- 60
- 300
failure_behavior:
- keep_archived_draft
- write_failure_metadata
- do_not_mark_sent
automation:
preferred_time_local: "08:00"
preferred_runner: docker_compose_scheduler
timezone: Asia/Shanghai
docker_compose_scheduler:
schedule_local: "08:00"
note: "Run the scheduler service on the Debian server with docker compose. It loops and runs once per local day."
required_secrets:
- DEEPSEEK_API_KEY
- DEEPSEEK_BASE_URL
- DEEPSEEK_MODEL
- NEWSPAPER_SMTP_HOST
- NEWSPAPER_SMTP_PORT
- NEWSPAPER_SMTP_USERNAME
- NEWSPAPER_SMTP_PASSWORD
- NEWSPAPER_FROM_EMAIL
- NEWSPAPER_FROM_NAME
- NEWSPAPER_SMTP_SECURITY
debian_host_cron:
cron_local: "0 8 * * *"
command: "cd /srv/apps/newspaper && docker compose run --rm newspaper hongyu-daily run"
note: "Use this instead of the scheduler service if you prefer host-level cron."
sender_notes:
- "The recipient is fixed as markyan04@163.com."
- "The sender account is intentionally not fixed here. Use any SMTP-capable mailbox or transactional email provider."
- "If a 163 mailbox is used as the sender, enable SMTP/IMAP service in the mailbox settings and use an authorization code rather than the normal login password."
- "Keep provider-specific SMTP host and port in environment variables, not in committed code."