Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Deploy and manage enter.pollinations.ai text/image services on EC2 and Cloudflare Workers. Requires: SSH keys, sops, wrangler.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 91% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 73% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 85% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 184% | 0% |
Before using this skill, ensure you have:
brew install sops (for decrypting secrets)npm install -g wranglerbrew install nodeMust run from the pollinations repo root.
| 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) |
Add to ~/.ssh/config:
# Production instance
Host enter-services
HostName 54.147.14.220
User ubuntu
IdentityFile ~/.ssh/enter-services-shared
# Staging instance
Host enter-services-staging
HostName 44.222.254.250
User ubuntu
IdentityFile ~/.ssh/enter-services-stagingbash# 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"
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"
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
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 gen.pollinations.ai/secrets/prod.vars.json > /tmp/image.env scp /tmp/image.env enter-services-staging:/home/ubuntu/pollinations/image.pollinations.ai/.env rm /tmp/image.env # 6. Restart services ssh enter-services-staging "sudo systemctl restart text-pollinations.service image-pollinations.service"
bashssh 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"
bashcd enter.pollinations.ai # Production npm run deploy:production # Staging npm run deploy:staging
/etc/systemd/system//home/ubuntu/pollinations/text.pollinations.ai//home/ubuntu/pollinations/image.pollinations.ai/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 |
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"
bashssh enter-services-staging "cd /home/ubuntu/pollinations/text.pollinations.ai && npm install"
bashssh enter-services-staging "sudo apt-get install -y build-essential"
Internal trust-boundary tokens (PLN_ENTER_TOKEN, PLN_GPU_TOKEN, Tinybird tokens, SOPS recipients): see token-rotation.md for the inventory, rotation mechanisms, deploy path, and rollback.
production branchstaging branchOther measured skills in the registry, with their headline benchmark lift.