Skip to content

Requirements & Notes ​

One Apple ID per container ​

Bind one Apple ID per container. Multiple Apple IDs in the same container are not supported; use separate containers for separate accounts. Keep each Apple ID’s App Store region aligned with the container’s egress IP when possible.

Linux host memory and swap ​

The first Apple ID login may need more memory than a small VPS provides.

If host RAM is below 1 GB, add about 2 GB swap:

bash
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
swapon --show && free -h

The first login can take a while on swap; Apple may ask for email/SMS 2FA — wait for it and avoid clicking repeatedly.

Datacenter or cloud egress IPs are sometimes soft-rejected by Apple (often HTTP 301 without Location). See Apple ID login troubleshooting.

Rate limiting ​

All /v1/ HTTP APIs are limited to 100 requests per minute per IP. WebSocket download progress is not under /v1/ and is unaffected.

Data layout ​

Persistent data lives in the /app/data volume: downloaded ipa files, users.db, and ipatool config under .ipatool.