PROBLEM SOLVED: The netcat-based HTTP server had a fundamental bidirectional pipe issue: - `( read method path ) | nc -l` only connects stdout→stdin in one direction - The `read` command couldn't receive HTTP request data from nc - All requests returned "Not found" despite correct routing logic SOLUTION: - Created api-server.py: Proper Python HTTP server using http.server - Handles dashboard (GET /), status, health, logs, and backup trigger (POST) - Full request/response handling with proper HTTP headers - Replaces broken netcat approach with robust solution DASHBOARD ENHANCEMENTS: - Changed from green terminal theme to blue/purple neon aesthetic - Primary: #00d4ff (cyan blue) - Accent: #aa00ff (purple) - Background: #0a0a14 (dark blue-black) - Increased all font sizes 2-4px for better readability - Enhanced button padding and spacing - More visible, high-contrast interface TECHNICAL DETAILS: - Dockerfile: Replaced netcat-openbsd with python3 dependency - api-server.sh: Now simple wrapper that exec's Python script - api-server.py: Full-featured HTTP server with JSON/HTML responses - dashboard.html: Updated color scheme and typography TESTING: ✅ Dashboard loads at http://localhost:8080/ ✅ /status endpoint returns JSON ✅ /health endpoint working ✅ /logs endpoint working ✅ Real-time backup monitoring ready 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
8 lines
288 B
Bash
Executable file
8 lines
288 B
Bash
Executable file
#!/bin/bash
|
|
# Simple API server for PBS Client container management
|
|
# Provides REST endpoints for status, manual backup, etc.
|
|
#
|
|
# Now uses Python's http.server for proper HTTP handling
|
|
# (netcat had bidirectional pipe issues preventing request parsing)
|
|
|
|
exec /usr/local/bin/api-server.py
|