Troubleshooting
Common issues and their solutions.
Quick Diagnostics
Run the DevOps health check:
/devops healthOr manually:
# Check container status
docker compose ps
# Check logs
docker compose logs --tail=50
# Check health endpoint
curl http://localhost:3008/api/healthContainer Issues
Containers Won't Start
Symptoms: docker compose up fails or containers exit immediately.
Check:
# View exit codes
docker compose ps -a
# Check logs
docker compose logs server
docker compose logs uiCommon causes:
Port already in use:
bashlsof -i :3007 lsof -i :3008 # Kill conflicting process or change portsMissing environment variables:
bashdocker compose config # Validate compose fileDocker not running:
bashsudo systemctl status docker sudo systemctl start dockerDisk full:
bashdocker system df docker system prune # Clean up
Container Keeps Restarting
Symptoms: Container starts, crashes, restarts in a loop.
Check:
docker compose logs -f server
docker inspect automaker-server --format '{{.State.ExitCode}}'Common causes:
- Application error: Check logs for stack traces
- Missing dependencies: Rebuild image
- Permission issues: Check volume mounts
Container is Unhealthy
Symptoms: docker compose ps shows "unhealthy" status.
Check:
docker inspect automaker-server --format '{{json .State.Health}}' | jqCommon causes:
- Server not responding: Check application logs
- Health check timing: Increase
start_periodin compose file - Network issues: Verify internal network
Network Issues
Can't Access UI
Symptoms: Browser shows connection refused at localhost:3007.
Check:
# Is UI container running?
docker compose ps ui
# Is nginx running inside?
docker exec automaker-ui nginx -t
# Is port mapped?
docker port automaker-uiSolutions:
- Ensure UI container is running:
docker compose up -d ui - Check port mapping in compose file
- Try
http://127.0.0.1:3007instead oflocalhost
API Requests Failing
Symptoms: UI loads but API calls fail.
Check:
# Direct API test
curl http://localhost:3008/api/health
# From UI container
docker exec automaker-ui curl http://server:3008/api/healthSolutions:
- Verify server is running
- Check nginx proxy configuration
- Verify CORS settings
WebSocket Not Connecting
Symptoms: UI loads but real-time updates don't work.
Check:
- Browser DevTools → Network → WS tab
- Look for connection attempts to
/api
Solutions:
Verify nginx WebSocket headers:
nginxproxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";Check proxy timeout:
nginxproxy_read_timeout 86400;
Authentication Issues
API Key Rejected
Symptoms: 401 Unauthorized errors.
Check:
# View configured key (if not hidden)
docker exec automaker-server printenv AUTOMAKER_API_KEY
# Check startup logs for generated key
docker compose logs server | grep "API Key"Solutions:
- Verify key in environment/UI matches server
- Regenerate key and update both places
- Restart server after changing key
Claude CLI Not Authenticated
Symptoms: Agent fails with authentication error.
Check:
docker exec -it automaker-server claude --version
docker exec -it automaker-server claude auth statusSolutions:
Re-authenticate inside container:
bashdocker exec -it automaker-server claude loginPass credentials via environment:
bashexport CLAUDE_OAUTH_CREDENTIALS=$(./scripts/get-claude-token.sh) docker compose up -dMount credentials volume:
yamlvolumes: - ~/.claude:/home/automaker/.claude:ro
GitHub Operations Failing
Symptoms: Can't clone, push, or create PRs.
Check:
docker exec automaker-server gh auth status
docker exec automaker-server git config --list | grep credentialSolutions:
Set
GH_TOKENenvironment variable:bashexport GH_TOKEN=$(gh auth token) docker compose up -dRe-authenticate gh inside container:
bashdocker exec -it automaker-server gh auth login
Volume Issues
Permission Denied
Symptoms: Can't read/write to mounted volumes.
Check:
# Check ownership inside container
docker exec automaker-server ls -la /data
docker exec automaker-server ls -la /path/to/mounted/projects
# Check host ownership
ls -la /path/to/mounted/directorySolutions:
Build with matching UID/GID:
bashUID=$(id -u) GID=$(id -g) docker compose buildFix permissions manually:
bashsudo chown -R $(id -u):$(id -g) /path/to/directory
Data Not Persisting
Symptoms: Data lost after container restart.
Check:
# List volumes
docker volume ls | grep automaker
# Inspect volume
docker volume inspect automaker-dataSolutions:
- Ensure volume is defined in compose file
- Don't use
docker compose down -v(removes volumes) - Check you're using named volumes, not anonymous
Volume Mount Errors
Symptoms: Error starting container with volume mount.
Common causes:
Path doesn't exist on host:
bashmkdir -p /path/to/directoryPath mapping mismatch (MCP issue):
yaml# WRONG - paths don't match - /projects:/home/youruser/dev # CORRECT - container path matches host path - /home/youruser/dev:/home/youruser/dev
Build Issues
Build Fails
Symptoms: docker compose build fails.
Common causes:
Network issues: Can't download packages
bashdocker compose build --no-cacheDisk space:
bashdocker system prune -aArchitecture mismatch: Building for wrong platform
bashdocker build --platform linux/amd64 .
Native Module Errors
Symptoms: Errors about node-pty or other native modules.
Solutions:
Rebuild native modules:
bashdocker compose build --no-cacheIn dev mode, clear node_modules volume:
bashdocker volume rm automaker-dev-node-modules
Application Issues
Agent Not Starting
Symptoms: Starting agent does nothing or fails.
Check:
docker compose logs -f server | grep -i agentCommon causes:
- Missing Anthropic API key
- Rate limiting (too many requests)
- Feature not found (invalid feature ID)
Terminal Not Working
Symptoms: Terminal pane is empty or unresponsive.
Check:
- WebSocket connection (see above)
- Server logs for PTY errors
Solutions:
- Refresh browser
- Restart server container
- Check node-pty is built correctly
Features Not Loading
Symptoms: Board shows empty or features missing.
Check:
# Check project directory exists
docker exec automaker-server ls -la /path/to/project/.automaker/features
# Check API response
curl -H "X-API-Key: KEY" \
"http://localhost:3008/api/features?projectPath=/path/to/project"Development Mode Issues
Live Reload Not Working
Symptoms: Changes not reflected without restart.
Check:
Is source mounted correctly?
bashdocker exec automaker-dev-server ls -la /app/apps/server/srcIs watch mode running?
bashdocker compose -f docker-compose.dev.yml logs -f server
Solutions:
- Check volume mount in compose file
- Restart with fresh node_modules:bash
docker compose -f docker-compose.dev.yml down docker volume rm automaker-dev-node-modules docker compose -f docker-compose.dev.yml up
Getting Help
Collect Diagnostics
# System info
docker version
docker compose version
uname -a
# Container status
docker compose ps -a
# Logs
docker compose logs --tail=100 > automaker-logs.txt
# Volume info
docker volume ls | grep automaker
docker inspect automaker-data
# Network info
docker network ls
docker network inspect automaker_defaultLog Locations
| Log | Location |
|---|---|
| Server logs | docker compose logs server |
| UI/nginx logs | docker compose logs ui |
| systemd logs | journalctl -u automaker |
Report Issues
Include:
- protoLabs version (git commit)
- Docker version
- Operating system
- Steps to reproduce
- Relevant logs
- Compose configuration (without secrets)