plans
urgent
install
p0
#1 P0 เตรียมระบบ
เตรียมเครื่องปลายทางให้พร้อมก่อนติดตั้ง stack หลัก
owner: ops
project: legacy-project
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:21:19+07:00
todos
urgent
install
p0
#1 [P0] รัน apt update && apt upgrade -y
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P0
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:21:19+07:00
activities
urgent
p0
system
#3 P0 complete: system updated + timezone set + UFW enabled
รัน apt update/upgrade เสร็จ, timezone=Asia/Bangkok, UFW active allow 22/80/443; พบ reboot-required จาก libc6/dbus
owner: ai
project: VPSPro
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:21:19+07:00
todos
urgent
install
p0
#3 [P0] เปิด UFW อนุญาตพอร์ต 22/80/443
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P0
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:21:19+07:00
plans
urgent
install
p2
#3 P2 Web + SSL
ตั้ง Nginx เป็น edge หลักและเตรียม SSL อัตโนมัติ
owner: ops
project: legacy-project
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
plans
urgent
install
p4
#5 P4 Database (Host-based)
ติดตั้งและตั้งค่าฐานข้อมูลหลัก MySQL/PostgreSQL
owner: ops
project: legacy-project
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
todos
urgent
install
p2
#5 [P2] ติดตั้ง Nginx + Certbot
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P2
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
todos
urgent
install
p2
#6 [P2] ยืนยัน edge เดียวที่พอร์ต 80/443
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P2
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
todos
urgent
install
p4
#9 [P4] ติดตั้ง MySQL + PostgreSQL
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P4
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
activities
urgent
migration
copy
#19 Copied class.lnwsj.com data from old server to 157.85.98.240 without deleting source
Completed source inventory, full DB snapshot, web files transfer (~528MB), DB restore (86 tables), app vhost enable, and login page smoke on new server.
owner: ai
project: class.lnwsj.com
site: class.lnwsj.com
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T04:33:54+07:00
todos
urgent
backup
db
#24 [Class-Cutover] Full backup DB + files + config จากต้นทาง
mysql dump/postgres dump + rsync uploads + nginx conf + .env
owner: ops
project: plans
site: legacy.local
due: 2026-05-26
evidence: yes
updated: 2026-05-26T04:33:54+07:00
todos
urgent
restore
drill
#25 [Class-Cutover] ทดสอบ restore backup บนเครื่องใหม่แบบแยกพื้นที่
ยืนยัน restore เปิดได้จริง ไม่ใช่ backup อย่างเดียว
owner: ops
project: plans
site: legacy.local
due: 2026-05-26
evidence: yes
updated: 2026-05-26T04:33:54+07:00
activities
high
plan
timesheet
#1 ลงแผนติดตั้ง P0-P6 เข้า Timesheet App และเปิดระบบติดตามสถานะ
เพิ่ม plans/todos ตามแผน no-docker และกำหนด process ให้ update ทุกครั้งที่ทำงานเสร็จ
owner: ai
project: VPSPro
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:13:22+07:00
activities
high
workflow
rule
#2 กำหนดกติกาในแอป: อัปเดตสถานะและลงเวลา Timesheet ทุกงาน
เพิ่ม rule plan/todo เพื่อใช้เป็น process บังคับระหว่างทำ P0-P6
owner: ai
project: VPSPro
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:13:48+07:00
plans
high
install
p1
#2 P1 Base Tools
ติดตั้งเครื่องมือพื้นฐานสำหรับดูแลระบบและแก้ปัญหา
owner: ops
project: legacy-project
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:21:19+07:00
todos
high
install
p0
#2 [P0] ตั้ง timezone เป็น Asia/Bangkok
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P0
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:21:19+07:00
activities
high
p1
tools
#4 P1 complete: base tools installed
ติดตั้งและยืนยัน base tools: git curl wget rsync unzip zip jq htop iotop nload ncdu tree acl ufw fail2ban
owner: ai
project: VPSPro
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:21:19+07:00
todos
high
install
p1
#4 [P1] ติดตั้ง base tools ตามลิสต์
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P1
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:21:19+07:00
plans
high
install
p3
#4 P3 PHP Stack (Host-based)
รองรับเว็บ PHP หลักบน php8.3-fpm และเตรียม compatibility กรณีเว็บเก่า
owner: ops
project: legacy-project
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
activities
high
install
ops
#5 P2 complete: nginx+certbot installed, nginx active on :80, ufw open 80/443
auto-updated from execution evidence
owner: ai
project: VPSPro Migration
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
activities
high
install
ops
#6 P3 complete: php8.3-fpm stack installed and active
auto-updated from execution evidence
owner: ai
project: VPSPro Migration
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
plans
high
install
p5
#6 P5 Python/Node Runtime (No Docker)
เตรียม runtime สำหรับแอป Python/Node และ process manager
owner: ops
project: legacy-project
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
activities
high
install
ops
#7 P4 complete: mysql+postgres installed, baseline hardening applied
auto-updated from execution evidence
owner: ai
project: VPSPro Migration
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
plans
high
install
p6
#7 P6 งานระบบสำหรับ Production
เตรียม service, logging, backup, และโครง directory มาตรฐาน
owner: ops
project: legacy-project
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
todos
high
install
p3
#7 [P3] ติดตั้ง PHP 8.3 stack ครบ extension
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P3
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
activities
high
install
ops
#8 P5 complete: python runtime + build tools + node/npm + pm2 installed
auto-updated from execution evidence
owner: ai
project: VPSPro Migration
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
plans
high
workflow
discipline
#8 กติกา: ทำข้อไหนเสร็จให้อัปเดตสถานะ + ลงเวลา Timesheet ทันที
คุมไม่ให้งานตกหล่นและให้ทีมเห็นสถานะล่าสุดตลอดเวลา
owner: ops
project: legacy-project
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
activities
high
install
ops
#9 P6 complete: systemd templates + logrotate + backup cron + standard dirs created
auto-updated from execution evidence
owner: ai
project: VPSPro Migration
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
todos
high
install
p4
#10 [P4] ทำ hardening ขั้นต้น DB ทั้งสองตัว
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P4
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
todos
high
install
p5
#11 [P5] ติดตั้ง Python runtime + build-essential
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P5
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
todos
high
install
p5
#12 [P5] ติดตั้ง Node.js + npm + pm2
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P5
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
todos
high
install
p6
#13 [P6] สร้าง systemd service แยกต่อแอป
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P6
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
todos
high
install
p6
#14 [P6] ตั้ง logrotate และ backup cron
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P6
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
todos
high
workflow
timesheet
#16 [P-Rule] ทุกครั้งที่ทำงานเสร็จ: update status + บันทึก activity เวลาเริ่ม/จบ
บังคับใช้งานกับทุก phase
owner: ops
project: RULE
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
activities
high
validation
viewer
#10 Validation complete: viewer online and server stack verified
Verified /api/summary on local viewer and confirmed target services active.
owner: ai
project: VPSPro
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:33:10+07:00
activities
high
notion
viewer
#11 Viewer updated: Project Identity aligned to Notion operating rules
Added project_id/environment/source/repo_root/notion_url on viewer header and viewer API payload.
owner: ai
project: VPSPro Migration
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:38:01+07:00
activities
high
python
node
#12 Detailed runtime check complete: Python + Node stacks on 157.85.98.240
Captured versions, binaries, runtime metadata, PM2 state, and maintenance flags for both stacks.
owner: ai
project: VPSPro Migration
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:41:50+07:00
activities
high
python
node
#13 Standardized Python/Node baseline: Node upgraded to 22 LTS and common service model verified
Node moved to v22.22.2 via NodeSource; npm=10.9.7; both Python/Node templates present under systemd app-*@.service.
owner: ai
project: VPSPro Migration
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:58:44+07:00
activities
high
audit
post-install
#14 Post-install audit complete: remaining actions identified
Verified runtime, services, DB hardening, firewall, SSL timer, backup scheduler, and open todos. Remaining: reboot, php8.1 decision, SSL issuance, first backup verification, app instance binding.
owner: ai
project: VPSPro Migration
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T23:03:16+07:00
activities
high
reboot
post-check
#15 Reboot completed on 157.85.98.240 and post-boot services healthy
Host rebooted successfully; reboot_required cleared; nginx/php8.3-fpm/mysql/postgresql/fail2ban/certbot.timer/cron all active.
owner: ai
project: VPSPro Migration
site: legacy.local
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T00:10:05+07:00
todos
high
reboot
post-upgrade
#17 [P0] ดำเนินการ reboot หลัง maintenance window (required by libc6/dbus)
ต้องรีบูตเพื่อให้แพ็กเกจอัปเดตมีผลครบถ้วน
owner: ops
project: P0
site: legacy.local
due: 2026-05-26
evidence: yes
updated: 2026-05-26T00:10:05+07:00
activities
high
planning
cutover
#16 Planned class.lnwsj.com pre-cutover readiness checklist
Created plan + 9 todos for backup/restore/readiness/ssl/dns/monitoring before DNS switch.
owner: ai
project: class.lnwsj.com
site: class.lnwsj.com
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T01:41:27+07:00
activities
high
maintenance
nginx
#17 Prepared maintenance index.html on 157.85.98.240 for class.lnwsj.com cutover
Created maintenance page, nginx vhost config, and enable/disable scripts. Verified page render when enabled and restored default after test.
owner: ai
project: class.lnwsj.com
site: class.lnwsj.com
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T02:20:39+07:00
activities
high
dns
cloudflare
#18 Created Cloudflare DNS import zone file for lnwsj.com (44 records)
Generated BIND zone file from provided DNS table for Cloudflare Import DNS Records.
owner: ai
project: lnwsj.com
site: legacy.local
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T02:31:50+07:00
todos
high
class
inventory
#23 [Class-Cutover] เก็บ inventory ต้นทาง (nginx, app path, cron, env, uploads)
บันทึก config/version/path ทั้งหมดจากเครื่องเดิม
owner: ops
project: plans
site: legacy.local
due: 2026-05-26
evidence: yes
updated: 2026-05-26T04:33:54+07:00
todos
high
smoke
precutover
#26 [Class-Cutover] ทดสอบ app readiness บนเครื่องใหม่ด้วย host override
curl + browser smoke ด้วย /etc/hosts ก่อนเปลี่ยน DNS
owner: ops
project: plans
site: legacy.local
due: 2026-05-26
evidence: yes
updated: 2026-05-26T04:33:54+07:00
activities
high
ssl
certbot
#20 Issued Let's Encrypt SSL on new origin for class.lnwsj.com
Ran certbot on 157.85.98.240; cert active and HTTPS 200 via Cloudflare for class.lnwsj.com. www.class.lnwsj.com still TLS handshake fail at Cloudflare edge.
owner: ops
project: class.lnwsj.com
site: class.lnwsj.com
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T04:45:01+07:00
todos
high
ssl
certbot
#27 [Class-Cutover] เตรียม SSL issuance (certbot) หลัง DNS ชี้เข้าเครื่องใหม่
ตรวจ A/AAAA, เปิดพอร์ต 80/443, เตรียม nginx server block
owner: ops
project: plans
site: legacy.local
due: 2026-05-26
evidence: yes
updated: 2026-05-26T04:45:01+07:00
activities
high
smoke-test
cutover
#21 Ran post-cutover smoke test for class.lnwsj.com
PASS: DNS resolves via Cloudflare, class.lnwsj.com HTTP->HTTPS and HTTPS 200 on edge and origin, DB/table/filesystem/service checks pass. FAIL/BLOCKER: www.class.lnwsj.com HTTPS handshake fail; old-origin HTTPS rollback probe handshake fail.
owner: ops
project: class.lnwsj.com
site: class.lnwsj.com
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T04:48:37+07:00
activities
high
monitoring
rollback
#22 Enabled 24h cutover monitoring and rollback trigger for class.lnwsj.com
Installed class-cutover-monitor systemd timer on 157.85.98.240 (every 5 min). Trigger rules created for public/origin/db/service/latency/disk and evidence logs at /var/log/class-cutover/events.log.
owner: ops
project: class.lnwsj.com
site: class.lnwsj.com
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T04:55:07+07:00
activities
high
smoke-test
class.lnwsj.com
#23 Rerun smoke test closeout for class.lnwsj.com
Public: class root/login 200. www.class TLS handshake fail at Cloudflare edge. Origin direct to 157.85.98.240 class root/login 200. Services nginx/php8.3-fpm/mysql active. Disk / usage 2%.
owner: ai
project: VPSPro
site: class.lnwsj.com
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T05:10:28+07:00
activities
high
migration
checklist
#24 บันทึก Checklist ย้ายระบบแล้ว (26-05-2026)
สร้างไฟล์ MIGRATION_CHECKLIST_2026-05-26.md ระบุงานที่ย้ายเสร็จแล้ว, validation ล่าสุด, open items, rollback readiness
owner: ai-agent
project: vpspro-migration
site: class.lnwsj.com
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T06:18:31+07:00
activities
high
qa
smoke
#25 Deep full-system test + screenshot report รอบละเอียด
รัน crawl + smoke + HTTP/TLS matrix + infra health แล้วออกรายงาน fullsystem-deep-report-latest.html พร้อมรูปทุกหน้าที่เข้าถึงได้
owner: ai-agent
project: vpspro-migration
site: legacy.local
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T06:18:31+07:00
activities
high
performance
ttfb
#26 วิเคราะห์สาเหตุเพจโหลดช้า: แยก networkidle vs load
ยืนยันว่าเว็บไม่ได้ช้าจริง: ผ่าน Cloudflare avg_total ~78-94ms, origin direct ~46-71ms; ตัวเลข ~600ms เดิมมาจากวิธีวัด waitUntil=networkidle
owner: ai-agent
project: vpspro-migration
site: legacy.local
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T06:18:31+07:00
todos
high
timesheet
ops-log
#32 [Ops-Log] อัปเดต timesheet app: checklist + deep test + performance diagnosis
บันทึกงานรอบล่าสุดลง timesheet app เพื่อให้ viewer เห็นสถานะปิดงานและหลักฐาน
owner: ops
project: plans
site: legacy.local
due: 2026-05-26
evidence: yes
updated: 2026-05-26T06:18:31+07:00
activities
high
viewer
filter
#27 ปรับ Viewer: เพิ่มฟิลเตอร์ site/domain และแสดง activities บนบอร์ด
เพิ่ม query ?site=... ที่ backend/frontend, เพิ่ม type=activities, และยืนยันกรอง class.lnwsj.com ได้จริง
owner: ai-agent
project: timesheet app
site: class.lnwsj.com
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T06:26:09+07:00
activities
high
schema
viewer
#28 เพิ่ม metadata: machine/program/model/version ใน activities
ขยาย schema + viewer + admin form ให้เก็บและแสดงชื่อเครื่อง, โปรแกรมที่ใช้, AI model และ model version
owner: ai-agent
project: timesheet app
site: legacy.local
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: Codex app + terminal
model: GPT-5 (Codex)
updated: 2026-05-26T06:46:00+07:00
activities
high
deploy
v1
#29 [V1 Deploy] todo.namnan.co.th production deploy complete
Version 1 deployed with systemd service and HTTPS reverse proxy
owner: aiagent
project: todo.namnan.co.th
site: todo.namnan.co.th
due: 2026-05-26
evidence: yes
machine: 157.85.98.240
program: gunicorn+nginx
model: GPT-5 (Codex)
updated: 2026-05-26T06:54:56+07:00
activities
high
deploy
v1.1
#30 [V1.1 Deploy] activity metadata dropdown suggestions enabled
Admin Quick Add now supports suggestion dropdown (datalist) for machine/program/model/version with defaults + history values
owner: aiagent
project: todo.namnan.co.th
site: todo.namnan.co.th
due: 2026-05-26
evidence: yes
machine: 157.85.98.240
program: gunicorn+nginx
model: GPT-5 (Codex)
updated: 2026-05-26T07:01:10+07:00
activities
high
guardrail
risk-dashboard
#31 [P0 Guardrails] Enforced required fields, Definition of Done, and risk alert dashboard
Added schema migrations and validation rules: owner/due_date/project/site/priority required; done/resolved/closed require evidence. Added risk summary + alert list UI and API exposure.
owner: ops
project: todo.namnan.co.th
site: todo.namnan.co.th
due: 2026-05-26
evidence: yes
machine: Narongs-MacBook-Air.local
program: AI Full Dev
model: GPT-5 (Codex)
updated: 2026-05-26T07:37:43+07:00
activities
high
backfill
guardrail
#32 [Backfill Tool] Apply minimum metadata for legacy records
Backfill minimum fields applied: total=73 activities=30 plans=9 todos=32 debug_items=2
owner: ops
project: todo-namnan-v1
site: todo.namnan.co.th
due: 2026-05-26
evidence: yes
machine: 157.85.98.240
program: AI Full Dev
model: GPT-5 (Codex)
updated: 2026-05-26T08:07:38+07:00
activities
high
risk
backfill
#33 [Risk Fix] TODO assignee mapping corrected in risk engine
Patched todos query to include assignee field for missing_required checks; alert noise removed.
owner: aiagent
project: todo.namnan.co.th
site: todo.namnan.co.th
due: 2026-05-26
evidence: yes
machine: 157.85.98.240
program: AI Full Dev
model: GPT-5 (Codex)
updated: 2026-05-26T08:11:09+07:00
todos
medium
install
p6
#15 [P6] สร้างโครงโฟลเดอร์ /srv/apps /srv/backups /var/log/apps
Bootstrapped from installation master plan (no Docker)
owner: ops
project: P6
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:29:21+07:00
todos
medium
nodejs
version
#18 [P5-Optional] อัปเกรด Node.js เป็น v22 LTS (ตอนนี้ติดตั้ง v18 จาก apt)
ใช้ NodeSource หรือ nvm ตามมาตรฐาน production ที่ต้องการ
owner: ai
project: plans
site: legacy.local
due: 2026-05-25
evidence: yes
updated: 2026-05-25T22:58:44+07:00