AI Full Dev Viewer
Updated 2026-05-26T07:39:58+07:00 Admin

Server Migration Work Status

Viewer only. AI writes updates through API.

Project IDtodo-namnan-v1
Environmentproduction
Sourcehybrid
Repo Root/home/aiagent/apps/todo-timesheet-v1
Notion Rulesopen
Open Plans1
Open Todos9
Open Debug2
Done Today24
At Risk73
Overdue0
No Update > 24h0
Blocked > 12h0
Missing Required12
Done No Evidence61

Risk Alerts

Clear

Planned

6
todos high ssl certbot

#19 [Audit] ออก SSL จริงสำหรับทุกโดเมนที่จะย้าย (ตอนนี้ certbot ยังไม่มี cert)

รอ DNS ชี้เข้าเครื่องนี้ก่อน แล้ว run certbot --nginx ต่อโดเมน

owner: ops project: Audit updated: 2026-05-25T23:03:30+07:00
todos high backup validation

#20 [Audit] ทดสอบ backup script รอบแรกและตรวจไฟล์ใน /srv/backups

รัน /usr/local/sbin/vpspro-backup.sh แบบ manual 1 รอบเพื่อยืนยัน dump DB ผ่าน

owner: ops project: Audit updated: 2026-05-25T23:03:30+07:00
todos high class dns

#22 [Class-Cutover] ตั้ง freeze window และแจ้งช่วงงาน

กำหนดวัน/เวลา cutover, ผู้รับผิดชอบ, ช่องทางสื่อสาร

owner: ops project: plans updated: 2026-05-26T01:41:19+07:00
todos high dns ttl

#28 [Class-Cutover] ลด TTL ล่วงหน้าและบันทึกค่า DNS เดิม

ลด TTL ก่อน cutover, จดค่าปัจจุบันไว้ rollback

owner: ops project: plans updated: 2026-05-26T01:41:19+07:00
todos medium systemd app-service

#21 [Audit] ผูกแอปจริงเข้ากับ app-node@ / app-python@ (ตอนนี้ยังไม่มี instance)

สร้าง service instance ตามชื่อแอปจริงแล้ว enable/start

owner: ops project: Audit updated: 2026-05-25T23:03:30+07:00
debug items medium smoke-test ssl

#1 Post-cutover smoke: www.class.lnwsj.com TLS handshake fail + old-origin https rollback check fail

https://class.lnwsj.com = 200 (pass), but https://www.class.lnwsj.com handshake fail at edge; old server local HTTPS probe also handshake fail.

project: nginx/cloudflare/caddy updated: 2026-05-26T04:48:37+07:00

In Progress

2
plans urgent class.lnwsj.com dns

#9 Cutover Plan: class.lnwsj.com DNS switch to new server

ทดสอบความพร้อมก่อนสลับ DNS โดยยืนยัน backup/restore/db/app/ssl/rollback ครบ ลด downtime และกันข้อมูลหาย

owner: ops project: ops updated: 2026-05-26T04:34:07+07:00
todos high monitoring rollback

#30 [Class-Cutover] ติดตาม 24 ชั่วโมงและกำหนด rollback trigger

กำหนดเกณฑ์ rollback ชัดเจน เช่น error rate, DB write fail, response time

owner: ops project: plans updated: 2026-05-26T04:55:06+07:00

Blocked

4
todos urgent cutover smoke

#29 [Class-Cutover] เปลี่ยน DNS และรัน post-cutover smoke checklist

login/admin/upload/api/cron/email/jobs + log/error-rate

owner: ops project: plans updated: 2026-05-26T04:48:37+07:00
todos urgent cutover ssl

#31 Cloudflare lnwsj.com: adjust www.class DNS/proxy then re-issue SSL

1) Toggle www.class to DNS-only and point to 157.85.98.240 (or provision Advanced cert for deep subdomain). 2) Run certbot --nginx -d class.lnwsj.com -d www.class.lnwsj.com --expand. 3) Re-run full smoke test and close debug item.

owner: ops project: debug_items updated: 2026-05-26T05:10:28+07:00
todos medium install p3

#8 [P3] ประเมินความจำเป็น php8.1-fpm สำหรับ fb.namnan.co.th

Bootstrapped from installation master plan (no Docker)

owner: ops project: P3 updated: 2026-05-25T22:29:21+07:00
debug items medium https cloudflare

#2 www.class.lnwsj.com HTTPS handshake failure

curl https://www.class.lnwsj.com fails with sslv3 alert handshake failure; A/AAAA resolve to Cloudflare IPs.

project: cloudflare-edge-tls updated: 2026-05-26T05:10:28+07:00

Done

62
plans urgent install p0

#1 P0 เตรียมระบบ

เตรียมเครื่องปลายทางให้พร้อมก่อนติดตั้ง stack หลัก

owner: ops project: ops 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 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 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 updated: 2026-05-25T22:21:19+07:00
plans urgent install p2

#3 P2 Web + SSL

ตั้ง Nginx เป็น edge หลักและเตรียม SSL อัตโนมัติ

owner: ops project: ops updated: 2026-05-25T22:29:21+07:00
plans urgent install p4

#5 P4 Database (Host-based)

ติดตั้งและตั้งค่าฐานข้อมูลหลัก MySQL/PostgreSQL

owner: ops project: ops 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 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 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 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 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 updated: 2026-05-26T04:33:54+07:00
todos urgent restore drill

#25 [Class-Cutover] ทดสอบ restore backup บนเครื่องใหม่แบบแยกพื้นที่

ยืนยัน restore เปิดได้จริง ไม่ใช่ backup อย่างเดียว

owner: ops project: plans 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 updated: 2026-05-25T22:13:22+07:00
activities high workflow rule

#2 กำหนดกติกาในแอป: อัปเดตสถานะและลงเวลา Timesheet ทุกงาน

เพิ่ม rule plan/todo เพื่อใช้เป็น process บังคับระหว่างทำ P0-P6

owner: ai project: VPSPro updated: 2026-05-25T22:13:48+07:00
plans high install p1

#2 P1 Base Tools

ติดตั้งเครื่องมือพื้นฐานสำหรับดูแลระบบและแก้ปัญหา

owner: ops project: ops 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 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 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 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: ops 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 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 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: ops 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 updated: 2026-05-25T22:29:21+07:00
plans high install p6

#7 P6 งานระบบสำหรับ Production

เตรียม service, logging, backup, และโครง directory มาตรฐาน

owner: ops project: ops 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 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 updated: 2026-05-25T22:29:21+07:00
plans high workflow discipline

#8 กติกา: ทำข้อไหนเสร็จให้อัปเดตสถานะ + ลงเวลา Timesheet ทันที

คุมไม่ให้งานตกหล่นและให้ทีมเห็นสถานะล่าสุดตลอดเวลา

owner: ops project: ops 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 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 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 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 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 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 updated: 2026-05-25T22:29:21+07:00
todos high workflow timesheet

#16 [P-Rule] ทุกครั้งที่ทำงานเสร็จ: update status + บันทึก activity เวลาเริ่ม/จบ

บังคับใช้งานกับทุก phase

owner: ops project: RULE 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
todos medium install p6

#15 [P6] สร้างโครงโฟลเดอร์ /srv/apps /srv/backups /var/log/apps

Bootstrapped from installation master plan (no Docker)

owner: ops project: P6 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 updated: 2026-05-25T22:58:44+07:00

Cancelled

0