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>
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 |
|
|
false |
|
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 281for 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:-
Menu: Send /start or any unknown text
- Expected: Persistent keyboard appears with 6 buttons
-
Status: Tap Status button or type "status"
- Expected: List of containers with status indicators
-
Start: Type "start "
- Expected: Container starts, confirmation message
-
Stop: Type "stop "
- Expected: Container stops, confirmation message
-
Restart: Type "restart "
- Expected: Container restarts, confirmation message
-
Update: Type "update "
- Expected: Image pulled, container recreated (or silent if no update)
-
Logs: Type "logs "
- Expected: Last 50 log lines displayed
-
Error handling: Stop n8n's Docker socket access briefly
- Expected: "Cannot connect to Docker" (not stack trace)
-
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
<success_criteria>
- Fresh user can follow README to deploy bot
- All container management commands functional
- Bot ready for production use on Unraid </success_criteria>