{ "$schema": "../app-info-schema.json", "name": "Find My iPhone Bridge", "id": "find-my-iphone", "available": true, "port": 8590, "exposable": true, "dynamic_config": true, "no_gui": true, "tipi_version": 1, "version": "1.2.0", "categories": [ "automation", "utilities" ], "description": "Self-hosted bridge that makes your iPhone ring via iCloud Find My. Exposes an Alexa custom-skill endpoint (/alexa, signature-verified) and API-key-protected REST endpoints (/api/alert, /api/devices, /api/location). Apple credentials stay on this server; 2FA trust token persists in the app volume.", "short_desc": "Ring your iPhone from Alexa or curl", "author": "alexz (fork of matt-kruse/find-my-iphone)", "source": "https://git.alexzaw.dev/alexz/find-my-iphone", "form_fields": [ { "type": "text", "label": "Apple ID", "env_variable": "APPLE_ID", "required": true, "hint": "The iCloud account email that owns the devices" }, { "type": "password", "label": "Apple Password", "env_variable": "APPLE_PASSWORD", "required": true, "hint": "Stored only in Runtipi's app env - never leaves this server" }, { "type": "random", "label": "API Key", "env_variable": "API_KEY", "required": true, "min": 32, "encoding": "hex", "hint": "Auto-generated. Send as X-Api-Key header on /api/* requests. View in Settings tab." }, { "type": "text", "label": "Alexa Skill ID", "env_variable": "ALEXA_SKILL_ID", "required": false, "hint": "amzn1.ask.skill.xxxx from the Alexa developer console. Locks /alexa to your skill. Leave blank until the skill exists, then fill in and save." }, { "type": "text", "label": "Default Device Name", "env_variable": "DEFAULT_DEVICE", "required": false, "hint": "Device to ring when none is specified (e.g. Alex's iPhone). Blank = first Find-My-capable device." } ], "supported_architectures": [ "amd64" ], "created_at": 1754993000000, "updated_at": 1754993000000, "deprecated": false, "min_tipi_version": "4.5.0" }