Can a Self-Hosted Gallery Preserve Apple Live Photo Pairing?

Eva Wong is the Technical Writer and resident tinkerer at ZimaSpace. A lifelong geek with a passion for homelabs and open-source software, she specializes in translating complex technical concepts into accessible, hands-on guides. Eva believes that self-hosting should be fun, not intimidating. Through her tutorials, she empowers the community to demystify hardware setups, from building their first NAS to mastering Docker containers.

Yes when the gallery recognizes the still image and companion video as one asset and the import preserves their pairing metadata, filenames, and timestamps.

This becomes a real compatibility question when an iPhone library is exported, copied through a NAS, or mixed with converted HEIC and MOV files before import. Start with a disposable path or account, keep the previous working state available, and judge the design by the original workload rather than by a one-time connection test.

Define the Scheduling and Lifecycle Contract

The supported branch is original still-video pairs with intact asset identifiers. The competing branch is renamed, converted, or deduplicated components treated as unrelated files. Record versions, identities, addresses, mount paths, permissions, and the current observable state before changing either branch.

The relevant Apple Live Photos defines the first compatibility boundary. Use it to constrain the claim, then verify the same behavior on this exact home server instead of treating a documented feature as proof that the full design works.

Write the decision rule before testing: success must produce each intended pair appears once, plays motion with the correct still, and survives export plus reimport; failure includes MOV files appear separately, edits pair with the wrong still, or conversion removes the identifier used for matching. This prevents a partial connection or clean command exit from being misread as end-to-end compatibility.

Execute the Job With Production Identity

Use one controlled discriminator: export a small set containing originals, edits, bursts, and shared Live Photos, import it, then compare pair counts and playback after a second migration. Hold the client, workload, file set, account, and timing constant so the changed component is the only plausible explanation.

Use Immich media pairing to choose the second observation that matters for this path. Capture both sides of the transaction: resolver or route, negotiated protocol, process identity, exit status, latency, transferred bytes, and any recovery event.

Repeat the test after the lifecycle event named in the title—recreation, reconnect, remount, restart, failover, or client change. A design that works only while old sockets, caches, or credentials remain warm has not passed.

export pilot set -> count HEIC/JPEG and MOV pairs -> import -> play -> export again -> reimport

Interpret Overlap, Failure, and Exit State

PASS: each intended pair appears once, plays motion with the correct still, and survives export plus reimport. Save the exact versions and topology that produced this state, because the conclusion applies to those conditions rather than every implementation of the protocol.

FAIL: MOV files appear separately, edits pair with the wrong still, or conversion removes the identifier used for matching. Check shared dependencies such as DNS, MTU, identity, firewall state, storage latency, and cached sessions before declaring either primary branch responsible.

EXCEPTION: remove the pilot import, return to untouched originals, and adjust export or filename handling before bulk ingest. Do not widen privileges, delete source data, weaken transport security, or replace working storage until a repeatable observation identifies which boundary failed.

-15% OFF
Single board computer zimaboard2

Verify the Next Scheduled Run, Not Just the First

Apply only the action matched to the observed branch, then rerun the original workload. Keep the design only when each intended pair appears once, plays motion with the correct still, and survives export plus reimport across two relevant lifecycle cycles and under the expected concurrent load.

Use the photo export sidecars to verify the closest dependent workflow. Its access, timing, and recovery behavior must remain unchanged while the new design is active.

Stop and return to the saved state if MOV files appear separately, edits pair with the wrong still, or conversion removes the identifier used for matching. Escalate with timestamps, exact versions, route or mount evidence, and the smallest reproduction rather than adding another workaround.

Cross-check the result against the external photo libraries so risk is not merely moved into another network, identity, backup, or storage layer.

For Apple Live Photo pairing, the qualified answer is therefore the opening judgment—not an unconditional yes. The observable pass state is the acceptance line; the fail state is the rollback line.

FAQ

Do matching filenames guarantee a Live Photo pair?

Not always. Galleries may also use metadata identifiers and timing, so verify with real exports.

Can HEIC conversion preserve pairing?

Only if the workflow preserves or reconstructs the still-video relationship; a standalone JPEG conversion often loses it.

Why do edited Live Photos create extra assets?

Exports can include original and rendered components; keep provenance until the gallery's grouping behavior is verified.

Support & Tips

More to Read

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.