How to install Lunara on iPhone using a Mac

Lunara does what Flo does, and Flo costs $99.99/year. This guide gets you the free one.

What you end up with

Lunara running on your iPhone. It is free, and it stays free — there is no account, no trial and no subscription at the end of this.

Time
About 35 minutes
Steps
17
Cost
Free

Before you start

These are one-time installs. If you have used Terminal before, you may have them already — the first step checks.

  1. Install Git

    Apple opens a small installer.

    Type this into Terminal, then press Return.

    xcode-select --install

    You know this worked when: Git responds with a version number

  2. Install Node LTS

    Choose the macOS Installer (.pkg).

    Open download

    You know this worked when: Node responds with a version number

Install Lunara

  1. Open Terminal

    Keep it open beside this page.

    You know this worked when: Terminal is open

  2. Check Git and Node

    Git and the current Node LTS are required.

    Type this into Terminal, then press Return.

    git --version
    node --version

    You know this worked when: Git and Node respond with version numbers

  3. Install pnpm

    Lunara is a pnpm workspace.

    Type this into Terminal, then press Return.

    npm install -g pnpm

    You know this worked when: pnpm responds with a version number

  4. Copy Lunara to this Mac

    Type this into Terminal, then press Return.

    cd ~
    if [ ! -d lunara/.git ]; then
    git clone https://github.com/Blueturboguy07/lunara.git
    fi

    You know this worked when: A lunara folder appears

  5. Open the lunara folder

    Type this into Terminal, then press Return.

    cd lunara

    You know this worked when: Your terminal prompt is inside the lunara folder

  6. Use the reviewed version

    Type this into Terminal, then press Return.

    git checkout 197f66b4903de5b466938dbee3aa2bf97143eb0f

    You know this worked when: Git reports the reviewed commit

  7. Install dependencies

    Warnings — even red ones — are normal here. It only failed if the last line names an error.

    Type this into Terminal, then press Return.

    pnpm install

    You know this worked when: The command finishes without an error

  8. Build the app bundle

    This also copies the bundle into the phone project.

    Type this into Terminal, then press Return.

    pnpm --filter @lunara/app native:sync

    You know this worked when: The command ends with a sync summary

  9. Install Xcode

    Large — start it early. Open it once afterwards so it finishes installing.

    Open the App Store page

    You know this worked when: Xcode opens without asking to finish setup

  10. Open the iPhone project

    Type this into Terminal, then press Return.

    pnpm --filter @lunara/app native:ios

    You know this worked when: Xcode opens with the App project

  11. Sign the app with your Apple ID

    App target → Signing & Capabilities → Team. A free Apple ID works.

    You know this worked when: Signing & Capabilities shows no red error

  12. Plug in your iPhone

    Unlock it, tap Trust, then pick it from the device menu.

    You know this worked when: Your iPhone is selected as the run destination

  13. Press Run

    The ▶ button. The first build takes a few minutes.

    You know this worked when: Xcode finishes with Build Succeeded

  14. Trust yourself on the iPhone

    On the phone: Settings → General → VPN & Device Management → your Apple ID → Trust.

    You know this worked when: Your Apple ID shows as trusted

  15. Open Lunara on your iPhone

    A free signature lasts 7 days. Press Run again to renew it.

    You know this worked when: Lunara opens on your phone

If something goes wrong

Nothing here can damage your computer, and every step can be run again safely. If a command fails, the usual cause is the step before it not having finished.

Still stuck? Tell us what happened and we will fix the guide. Include the step number and we can usually reproduce it.

Have a different setup?