enter-services
This skill provides commands for deploying and managing text/image services on EC2 instances with Cloudflare Workers routing. It includes SSH configurations, service monitoring commands, and deployment workflows for both production and staging environments. The documentation covers troubleshooting steps and manual deployment procedures.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install pollinations-pollinations-enter-services
Repository
Skill path: .claude/skills/enter-services
This skill provides commands for deploying and managing text/image services on EC2 instances with Cloudflare Workers routing. It includes SSH configurations, service monitoring commands, and deployment workflows for both production and staging environments. The documentation covers troubleshooting steps and manual deployment procedures.
Open repositoryBest for
Primary workflow: Analyze Data & AI.
Technical facets: DevOps, Data / AI.
Target audience: DevOps engineers and developers managing pollinations.ai services who need to deploy and maintain EC2 instances with Cloudflare Workers routing.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: pollinations.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install enter-services into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/pollinations/pollinations before adding enter-services to shared team environments
- Use enter-services for devops workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
--- name: enter-services description: "Deploy and manage enter.pollinations.ai text/image services on EC2 and Cloudflare Workers. Requires: SSH keys, sops, wrangler." --- # Requirements Before using this skill, ensure you have: - **SSH keys**: Configured via GitHub secrets (see workflow) - **sops**: `brew install sops` (for decrypting secrets) - **Wrangler**: `npm install -g wrangler` - **Node.js**: `brew install node` Must run from the `pollinations` repo root. --- # Architecture Overview | Environment | Gateway (Cloudflare Worker) | Text/Image Services (EC2) | |-------------|----------------------------|---------------------------| | **Production** | `enter.pollinations.ai` | `3.80.56.235` (ports 16384/16385) | | **Staging** | `staging.enter.pollinations.ai` | `44.222.254.250` (ports 16384/16385) | --- # SSH Configuration Add to `~/.ssh/config`: ``` # Production instance Host enter-services HostName 3.80.56.235 User ubuntu IdentityFile ~/.ssh/enter-services-shared-key # Staging instance Host enter-services-staging HostName 44.222.254.250 User ubuntu IdentityFile ~/.ssh/enter-services-staging-key ``` --- # Quick Commands ## Production ```bash # Service status ssh enter-services "sudo systemctl status text-pollinations.service image-pollinations.service" # View logs (real-time) ssh enter-services "sudo journalctl -u text-pollinations.service -f" ssh enter-services "sudo journalctl -u image-pollinations.service -f" # Restart services ssh enter-services "sudo systemctl restart text-pollinations.service image-pollinations.service" # Recent errors ssh enter-services "sudo journalctl -u text-pollinations.service -p err -n 20" ``` ## Staging ```bash # Service status ssh enter-services-staging "sudo systemctl status text-pollinations.service image-pollinations.service" # View logs ssh enter-services-staging "sudo journalctl -u text-pollinations.service -f" # Restart ssh enter-services-staging "sudo systemctl restart text-pollinations.service image-pollinations.service" ``` --- # Deploy to Production The GitHub workflow handles production deployments automatically on push to `production` branch. **Manual deployment:** ```bash # 1. SSH into production ssh enter-services # 2. Pull and restart cd /home/ubuntu/pollinations git pull origin production cd text.pollinations.ai && npm install cd ../image.pollinations.ai && npm install sudo systemctl restart text-pollinations.service image-pollinations.service ``` --- # Deploy to Staging ## Full Setup (New Instance) ```bash # 1. SSH into the new instance ssh enter-services-staging # 2. Install build tools (if needed) sudo apt-get update && sudo apt-get install -y build-essential # 3. Clone repo git clone https://github.com/pollinations/pollinations.git cd pollinations # 4. Run setup script bash enter.pollinations.ai/scripts/setup-services.sh /home/ubuntu/pollinations # 5. From your LOCAL machine - decrypt and copy env files cd /path/to/pollinations sops --output-type dotenv -d text.pollinations.ai/secrets/env.json > /tmp/text.env sops --output-type dotenv -d image.pollinations.ai/secrets/env.json > /tmp/image.env scp /tmp/text.env enter-services-staging:/home/ubuntu/pollinations/text.pollinations.ai/.env scp /tmp/image.env enter-services-staging:/home/ubuntu/pollinations/image.pollinations.ai/.env rm /tmp/text.env /tmp/image.env # 6. Restart services ssh enter-services-staging "sudo systemctl restart text-pollinations.service image-pollinations.service" ``` ## Update Staging ```bash ssh enter-services-staging "cd /home/ubuntu/pollinations && git pull && cd text.pollinations.ai && npm install && cd ../image.pollinations.ai && npm install && sudo systemctl restart text-pollinations.service image-pollinations.service" ``` --- # Deploy Cloudflare Worker (enter.pollinations.ai) ```bash cd enter.pollinations.ai # Production npm run deploy:production # Staging npm run deploy:staging ``` --- # Service Locations (on EC2) - **Service definitions**: `/etc/systemd/system/` - **Text service**: `/home/ubuntu/pollinations/text.pollinations.ai/` - **Image service**: `/home/ubuntu/pollinations/image.pollinations.ai/` --- # Wrangler Configuration The `wrangler.toml` contains environment configs: | Environment | Route | Service URLs | |-------------|-------|--------------| | `production` | `enter.pollinations.ai` | Production EC2 | | `staging` | `staging.enter.pollinations.ai` | Staging EC2 | | `local` | `localhost:3000` | Local dev | --- # Troubleshooting ## Services won't start ```bash # Check logs ssh enter-services-staging "sudo journalctl -u text-pollinations.service -n 50" # Check if .env exists ssh enter-services-staging "ls -la /home/ubuntu/pollinations/text.pollinations.ai/.env" # Check node/npm ssh enter-services-staging "node -v && npm -v" ``` ## Missing dependencies ```bash ssh enter-services-staging "cd /home/ubuntu/pollinations/text.pollinations.ai && npm install" ``` ## Need build tools ```bash ssh enter-services-staging "sudo apt-get install -y build-essential" ``` --- # Notes - **Production** deploys on push to `production` branch - **Staging** deploys on push to `staging` branch - Always test on staging before merging to production - The Cloudflare Worker (enter.pollinations.ai) routes to EC2 services - Text service: port 16385, Image service: port 16384