Skill

geepers-deploy

Install
1
Install the plugin
$
npx claudepluginhub lukeslp/geepers-mcp --plugin geepers-mcp

Want just this skill?

Add to a custom plugin, then install with one command.

Description

Deploy and manage services on dr.eamer.dev server. Use when (1) starting, stopping, or restarting services, (2) checking service status and health, (3) managing Caddy reverse proxy routes, (4) deploying new services, (5) viewing service logs.

Tool Access

This skill uses the workspace's default tool permissions.

Supporting Assets
View in Repository
scripts/caddy.py
scripts/service.py
Skill Content

Server Deploy Skill

Manage services and deployments on the dr.eamer.dev server.

Service Management (sm CLI)

The server runs 27+ services managed by sm (service_manager.py).

Quick Commands

scripts/service.py status              # All services status
scripts/service.py start wordblocks    # Start service
scripts/service.py stop wordblocks     # Stop service
scripts/service.py restart wordblocks  # Restart service
scripts/service.py logs wordblocks     # View logs
scripts/service.py health              # Health check all services

Available Services

ServicePortTypeDescription
wordblocks8847FlaskAAC communication app
lessonplanner4108FlaskEFL lesson generator
clinical1266FlaskClinical reference
coca3034GunicornCorpus linguistics API
storyblocks8000FlaskLLM API proxy
skymarshal5050FlaskBluesky management
dashboard9999FlaskSystem monitoring
luke5211Node/ExpressPortfolio site
altproxy1131FlaskAlt text generation
mcp-orchestrator5060FlaskMCP server
swarm5001FlaskMulti-agent AI
beltalowda5009FlaskHierarchical orchestration
etymology5013FlaskEtymology visualization

Caddy Reverse Proxy

IMPORTANT: Always use @geepers_caddy agent for Caddy changes.

The Caddyfile at /etc/caddy/Caddyfile routes:

  • dr.eamer.dev → various services
  • d.reamwalker.com, d.reamwalk.com → same services

Caddy Commands

scripts/caddy.py validate              # Validate config
scripts/caddy.py status                # Show current routes
scripts/caddy.py add-route /api/* 5000 # Add new route
scripts/caddy.py reload                # Reload config

Port Ranges

RangePurpose
1000-5000Production services
5010-5019Testing/development
5050-5059Testing/development
8000-9999Legacy/special

Scripts

Service Operations

scripts/service.py status              # All services
scripts/service.py status wordblocks   # Specific service
scripts/service.py start <name>        # Start
scripts/service.py stop <name>         # Stop
scripts/service.py restart <name>      # Restart
scripts/service.py logs <name>         # Stream logs
scripts/service.py logs <name> --tail 100  # Last 100 lines

Deployment

scripts/deploy.py new myservice --port 5015 --type flask
scripts/deploy.py check myservice      # Pre-deploy validation
scripts/deploy.py rollback myservice   # Rollback last deploy

Health Checks

scripts/health.py                      # All services
scripts/health.py --service wordblocks # Specific service
scripts/health.py --json               # JSON output

Deployment Workflow

  1. Check port availability

    scripts/service.py ports
    
  2. Validate before deploy

    scripts/deploy.py check myservice
    
  3. Add Caddy route (via agent)

    Use @geepers_caddy to add route /myservice/* to port 5015
    
  4. Start service

    scripts/service.py start myservice
    
  5. Verify health

    scripts/health.py --service myservice
    

Safety

  • Always validate Caddy config before reloading
  • Always check port availability before deploying
  • Always use the Caddy agent for route changes
  • Never modify production services without backup

Troubleshooting

Service won't start:

scripts/service.py logs myservice --tail 50

Port in use:

scripts/service.py ports  # Find what's using the port

502 Bad Gateway:

scripts/health.py --service myservice  # Check if running
scripts/caddy.py validate              # Check Caddy config

Related Skills

  • code-quality - Pre-deploy validation
  • data-fetch - API integration
  • dream-cascade - Complex workflows
Stats
Stars1
Forks1
Last CommitMar 14, 2026
Actions

Similar Skills

cache-components

Expert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.

138.4k