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

3
bot.js
View File

@@ -6,13 +6,14 @@ import { dirname, join } from "path";
const __dirname = dirname(fileURLToPath(import.meta.url));
const PROMPTS_FILE = join(__dirname, "prompts.json");
const DATA_DIR = process.env.DATA_DIR || __dirname;
function loadPrompts() {
return JSON.parse(readFileSync(PROMPTS_FILE, "utf-8"));
}
function historyPath(name) {
return join(__dirname, `history-${name}.json`);
return join(DATA_DIR, `history-${name}.json`);
}
function loadHistory(name) {