Migrate to Docker: containerize for docker-server deployment

- Add Dockerfile + cron.js (daily 4pm UTC loop replacing EC2 cron)
- Add infra/docker-compose.yml and deploy-stack.sh for Portainer
- Support DATA_DIR env var in bot.js for persistent history volume
- Support PROMPTS_JSON env var in cron.js (no SSH needed for config)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-17 17:15:18 -07:00
parent ab32ef4cc2
commit dacc7604cc
8 changed files with 277 additions and 1 deletions

23
infra/.env.example Normal file
View File

@@ -0,0 +1,23 @@
# Copy to infra/.env and fill in values. Never commit infra/.env.
# Docker registry (from docker-server setup)
REGISTRY=registry.yourdomain.com
# API keys
ANTHROPIC=sk-ant-...
KERNEL=...
# Prompt config (full JSON from prompts.json, minified)
PROMPTS_JSON=[{"name":"example","account":"myaccount","prompt":"...","schedule":{"type":"daily","window":[8,20],"postsPerDay":[1,1]}}]
# Account credentials — uppercase prefix must match "account" field in PROMPTS_JSON
MYACCOUNT_USER=
MYACCOUNT_PW=
MYACCOUNT_EMAIL=
MYACCOUNT_PHONE=
# Add more accounts as needed:
# OTHERACCOUNT_USER=
# OTHERACCOUNT_PW=
# OTHERACCOUNT_EMAIL=
# OTHERACCOUNT_PHONE=