Files
Lucas Berger b7cefd931e docs(05): create phase plan
Phase 05: Polish & Deploy
- 3 plans in 3 waves
- 1 parallel (Wave 1), 2 sequential (Waves 2-3)
- Ready for execution

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:00:51 -05:00

5.4 KiB

phase, plan, type, wave, depends_on, files_modified, autonomous, must_haves
phase plan type wave depends_on files_modified autonomous must_haves
05-polish-deploy 03 execute 3
05-02
README.md
n8n-workflow.json
false
truths artifacts key_links
README has step-by-step deployment instructions
README documents credential creation in n8n
README documents Docker socket setup for n8n container
All 6 commands tested end-to-end via Telegram
path provides min_lines contains
README.md Deployment guide 50 Installation
path provides
n8n-workflow.json Production-ready workflow
from to via pattern
README.md n8n credentials documentation telegramAuth
Write deployment README and perform end-to-end testing of complete bot functionality.

Purpose: Enable users to deploy the bot on their own Unraid servers with clear instructions. Output: Complete README, verified workflow, production-ready deployment package.

<execution_context> @/home/luc/.claude/get-shit-done/workflows/execute-plan.md @/home/luc/.claude/get-shit-done/templates/summary.md </execution_context>

@.planning/PROJECT.md @.planning/ROADMAP.md @.planning/STATE.md @.planning/phases/05-polish-deploy/05-CONTEXT.md @.planning/phases/05-polish-deploy/05-RESEARCH.md @.planning/phases/05-polish-deploy/05-01-SUMMARY.md @.planning/phases/05-polish-deploy/05-02-SUMMARY.md @n8n-workflow.json Task 1: Write deployment README README.md Replace the stub README with a complete deployment guide. Per CONTEXT.md: "README only - step-by-step instructions in markdown" and "No troubleshooting section - focused on initial setup only".

Structure (following RESEARCH.md template):

Docker Manager Bot

One-line description: Telegram bot for managing Docker containers on Unraid.

Prerequisites

  • Unraid server with Docker enabled
  • n8n container running on Unraid
  • Telegram Bot Token (from @BotFather)
  • Your Telegram User ID (from @userinfobot)

Installation

1. Configure n8n Container

Document the Docker run flags needed:

docker run -d \
  --name n8n \
  --group-add 281 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /path/to/curl:/usr/bin/curl:ro \
  n8nio/n8n

Explain:

  • --group-add 281 for Docker socket access
  • Socket mount requirement
  • Static curl binary mount (hardened n8n image)

2. Create n8n Credentials

Telegram API credential:

  • Type: Telegram API
  • Access Token: your bot token from @BotFather

Telegram Auth credential:

  • Type: Header Auth (or custom)
  • Field: userId = your Telegram user ID

3. Import Workflow

  • Copy n8n-workflow.json to server
  • In n8n: Workflows -> Import from File
  • Map credentials when prompted

4. Activate Workflow

  • Open workflow
  • Click Active toggle
  • Test with "status" message

Usage

List the 6 commands:

  • status - View all containers
  • start - Start container
  • stop - Stop container
  • restart - Restart container
  • update - Pull and recreate container
  • logs [lines] - View container logs

Mention persistent menu buttons available.

Per CONTEXT.md: No troubleshooting section. README exists at root. Contains all 4 installation sections. No troubleshooting section. Markdown renders correctly. Complete deployment guide in README.md. Step-by-step instructions for fresh Unraid installation.

Task 2: End-to-end testing Complete Docker Manager Bot: - Keyword routing (no Claude dependency) - Persistent Telegram menu - All 6 container commands - Terse error messages - Credential-based auth Test each command via Telegram bot:
  1. Menu: Send /start or any unknown text

    • Expected: Persistent keyboard appears with 6 buttons
  2. Status: Tap Status button or type "status"

    • Expected: List of containers with status indicators
  3. Start: Type "start "

    • Expected: Container starts, confirmation message
  4. Stop: Type "stop "

    • Expected: Container stops, confirmation message
  5. Restart: Type "restart "

    • Expected: Container restarts, confirmation message
  6. Update: Type "update "

    • Expected: Image pulled, container recreated (or silent if no update)
  7. Logs: Type "logs "

    • Expected: Last 50 log lines displayed
  8. Error handling: Stop n8n's Docker socket access briefly

    • Expected: "Cannot connect to Docker" (not stack trace)
  9. Auth: Message bot from different Telegram account

    • Expected: No response (silent ignore per Phase 1 decision) Type "approved" if all tests pass, or describe which tests failed
1. README exists and has all required sections 2. All 6 commands work end-to-end 3. Persistent menu functions correctly 4. Error messages are terse 5. Unauthorized users get no response 6. Workflow exports without sensitive data

<success_criteria>

  • Fresh user can follow README to deploy bot
  • All container management commands functional
  • Bot ready for production use on Unraid </success_criteria>
After completion, create `.planning/phases/05-polish-deploy/05-03-SUMMARY.md`