enter-services
Deploy and manage enter.pollinations.ai text/image services on EC2 and Cloudflare Workers. Requires: SSH keys, sops, wrangler.
Best use case
enter-services is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Deploy and manage enter.pollinations.ai text/image services on EC2 and Cloudflare Workers. Requires: SSH keys, sops, wrangler.
Teams using enter-services should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/enter-services/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How enter-services Compares
| Feature / Agent | enter-services | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Deploy and manage enter.pollinations.ai text/image services on EC2 and Cloudflare Workers. Requires: SSH keys, sops, wrangler.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
AI Agents for Startups
Explore AI agent skills for startup validation, product research, growth experiments, documentation, and fast execution with small teams.
SKILL.md Source
# 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` | `54.147.14.220` (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 54.147.14.220 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
Related Skills
monitor-services
Health check and auto-restart all Pollinations GPU services (Flux/Z-Image on RunPod, LTX-2 on GH200, Klein on RunPod, legacy image on OVH, Sana on Vast.ai). Use with /loop for recurring checks.
founder-meditation
When something goes wrong — build failures, crashes, errors, test failures, deployment issues — generate a short calming meditation with TTS audio to reassure the user that everything will be okay.
web-research
Query Pollinations text API with web-search models (gemini-search, perplexity-fast, nomnom, etc.). Use when you need web search grounded answers via Pollinations.
voting-status
Create and post ASCII art voting status diagrams to GitHub issues and Discord. Use when asked to update voting, show voting results, or announce voting status.
tinybird-deploy
Deploy Tinybird pipes and datasources for enter.pollinations.ai observability. Validates and pushes changes to Tinybird Cloud.
tier-management
Evaluate and update Pollinations user tiers. Check balances, upgrade devs, batch process users. For finding users with errors, see model-debugging skill first.
test-model
Test any model (text, image, video, audio) locally and via enter integration tests
spending-analysis
Analyze Pollinations revenue, pack purchases, and tier spending patterns. Query Polar for payment history and Tinybird for usage data.
r2-glacier-migration
Monitor and manage R2 to AWS Glacier Deep Archive migration. Use when checking transfer status, resuming transfers, or managing the archive migration.
model-management
Add, update, or remove text/image/video models. Handles any provider.
model-debugging
Debug and diagnose model errors in Pollinations services. Analyze logs, find error patterns, identify affected users. For taking action on user tiers, see tier-management skill.
issue-maker
Create GitHub issues following Pollinations team conventions. Use when asked to create issues, track work, or plan features.