LUMEN
Setup guide

Build your own
photo cloud

One spare computer — a Mac mini in a cupboard, an old PC under the desk — is enough to run the whole thing: your originals, your edits, previews for every phone in the house. No subscription, no third party, no photograph leaving your walls.

Time
~20 minutes
Cost
One old computer
Version
Lumen 0.9.1
Your network — or your Tailscale nothing goes to anyone else's cloud THE SPARE COMPUTER file server + preview worker one app, both jobs Your laptop where you edit Phones browse, edit, export One folder on one disk back it up like any archive
Lumen — build your own photo cloudCover
The shape of it

01One machine, two jobs

Lumen has no cloud of its own. Devices never talk to each other — they meet at a WebDAV folder, and whoever holds that folder is your cloud. That can be a NAS or a rented server, but the simplest version is a computer you already own.

Turning on Host mode makes the spare machine do both halves at once. It serves the library over your network, and it becomes the preview worker: for every photograph that lands on the server it does the slow work once — the full RAW demosaic — and publishes a smart preview and a thumbnail everything else can use.

That is why phones stay fast. Your phone never demosaics a 60-megapixel raw file; it opens a 2560-pixel preview the mini already made, and asks for a full-resolution render only when you export.

Why one machine is enough

Serving files is nearly free — it is disk and network. The expensive part is decoding raws, and that happens once per photograph, in the background, on a machine nobody is waiting on.

What the spare computer does Job one — the server Holds originals, previews, thumbnails, edit sidecars and collections. http://192.168.1.42:8123 /photos Job two — the preview worker Full 16-bit demosaic of every new raw, once. Publishes a 2560px smart preview and a 320px thumbnail for everyone else, plus full-resolution renders on request. this is the part that keeps phones quick Every other device Signs in with one URL and one username and password. Sees finished work Thumbnails appear on phones without them downloading a raw.
One machine, two jobs01
Before you start

02What you need

Nothing here is demanding. The machine's one hard requirement is that it is on when you want your photographs.

A Mac mini is the classic choice — silent, small, and it idles at a few watts. An old laptop with the lid shut works, as does a desktop PC. What matters more than speed is the disk: everything you shoot ends up there.

Lumen runs the whole imaging pipeline in the app itself, so there is nothing else to install — no database, no web server, no Docker.

Sizing the disk

Budget your originals plus about a tenth again for previews, thumbnails and the occasional full-resolution proxy. A 2 TB drive comfortably holds a working library of a hundred thousand raws.

PieceWhat works
The computer Any Mac (Apple silicon or Intel), a 64-bit Windows PC, or a Linux box. Mac mini, an old iMac, a NUC — all fine. Four cores and 8 GB of memory is plenty; more cores just means the first big import finishes sooner.
The disk Internal or external, as long as it stays mounted. Put the library folder on the roomiest one. An SSD makes browsing snappier but a spinning disk is perfectly usable — the previews are what devices actually read.
The network Ethernet if the machine can reach a cable; Wi-Fi otherwise. Reserve its address in your router (a "DHCP reservation") so the URL your devices remember keeps working after a reboot.
Lumen The same app on every machine — there is no separate server build. Install it on the spare computer and on any Mac or PC you edit from.
The phone app Lumen for iOS or Android. It browses, edits, and exports; it needs the server for anything it hasn't cached.
Optional: Tailscale A free account, if you want your library away from home. Covered on page 07 — and it is the only method this guide recommends.
What you need02
The main event

03Turn the spare computer into your server

Install Lumen and open it

On the spare machine. Let it finish its first launch; you do not need to import anything here.

Open Settings → Host

Tick Host the photo library from this computer. The rest of the panel appears.

Choose the library folder

Next to Library folder on this computer, press Choose… and pick a folder on your biggest disk — say /Volumes/Photos/Lumen. Everything lives under it.

Set a username and password

Any pair you like; this is what your other devices sign in with. Leave the Port at 8123 unless something else on the machine already uses it.

Save — and allow the connection

macOS asks once whether Lumen may accept incoming network connections. Answer Allow. On Windows, tick Private networks in the firewall prompt.

Write down the address

The panel now reads ✓ Hosting and lists addresses such as http://192.168.1.42:8123. That address plus the base path /photos is what every other device needs.

What saving actually did

Host mode also repointed this machine's own Server settings at itself (127.0.0.1) and switched on Preview worker. That is deliberate: the app that serves the files is also the one that renders previews, so both jobs run from a single window. If this machine already had a remote server configured, those settings are replaced — Lumen warns you before it does.

You are now hosting
SettingValue
Addresshttp://<this machine>:8123
Base path/photos
Sign-inThe username and password you just set
RoleFile server and preview worker
Background syncEvery 5 minutes, plus a live check every few seconds
Turn the spare computer into your server03
The part people forget

04Make it stay awake, and start by itself

A server that sleeps is a library that intermittently does not exist. Lumen has to be running, not merely installed — the previews, the full-resolution renders and the folder tidying all happen inside the app.

Two settings and you can forget the machine exists. Close the lid, put it on a shelf, and let it get on with it.

How to tell it is working

Open the sync panel on the host. During a cycle it names the file it is working on — HQ: DSC01866.ARW, full-res: DSC01866.ARW — and reports when the last cycle finished.

On a Mac
Do this
System Settings → Energy Saver. Turn on Prevent automatic sleeping when the display is off, and Wake for network access. On a laptop, keep it plugged in.
System Settings → General → Login Items. Add Lumen, so a power cut or an update doesn't quietly end your service.
Optional: automatic login (Users & Groups). Without it, the machine reboots to a login window and Lumen never starts.
On Windows
Do this
Settings → System → Power. Set Sleep to Never. Screen off is fine — that is not sleep.
Startup folder. Press Win+R, run shell:startup, and drop a shortcut to Lumen inside.
Check the disk stays mounted if the library lives on an external drive.
One worker is the right number

Leave Preview worker and Tidy server folders on here, and off on your laptop. Two machines racing to render the same previews wastes both.

Make it stay awake, and start by itself04
Joining up

05Connect the computer you actually edit on

Settings → Server

On your laptop or desktop — the machine you edit from.

Fill in the four fields

Server URL: the address from the host's panel, e.g. http://192.168.1.42:8123. Username and Password: what you set in step 4 of page 03. Library folder on the server: /photos.

Press Test connection

A green ✓ means the address, the credentials and the firewall are all in agreement. Fix it here rather than wondering later.

Choose how new photos arrive

Leave Add to library instantly, download on demand selected. Photos appear as placeholders and fetch themselves when you open them, which keeps a big library instant.

Save, then import as usual

Drag photographs in. They upload in the background; the host picks them up, renders previews, and every other device sees them within seconds.

Leave these alone on an editing machine
SettingWhy
Preview workerOff. That is the host's job — one worker is enough.
Tidy server foldersOff. Let the host be the only thing rearranging folders.
Live syncOn. It is what makes an edit made on your phone show up here while you are still looking at the photograph.
Upload new imports
automatically
On, unless you want to hand-pick what reaches the server.
What travels, and what stays

Originals, previews, thumbnails and your develop settings travel. Ratings, flags, colour labels, collections and presets travel too. Each machine keeps its own catalog and its own cache of downloaded originals — those are rebuildable, and they never leave the machine.

Connect the computer you actually edit on05
Joining up

06Connect your phone

Install Lumen on the phone and open Settings → Your photo server. The fields are the same four: Server URL, Username, Password, and Library folder on the server — /photos.

That is the whole setup. The grid fills with thumbnails the host has already published; opening a photograph pulls its smart preview, and every slider works on that preview at full speed.

Two settings are worth a moment. Keep recent photos offline keeps the last 25, 50 or 100 photos on the phone — previews and, within the cache limit, their full-resolution renders — so a plane or a basement doesn't end your editing. Full-resolution cache limit decides how much room the big files may take; past it, the least recently used are dropped.

Exporting at full resolution

There is no switch — exports use the best source in reach. Recent photos and anything you open to develop are fetched at full size ahead of time, so the pixels are usually already on the phone, even offline. When they aren't, the phone asks the host, waits up to 90 seconds, and says so if it has to fall back to the smart preview.

What the phone asks for, and when Browsing 320px thumbnails a few tens of KB each Editing 2560px smart preview — zoom shows true 1:1 pixels Exporting big full-resolution render, fetched ahead and kept in a size-capped cache The host already made all three Thumbnails and previews are published the moment a photograph arrives, so the phone never waits on a raw decode. Full-resolution renders are fetched ahead for recent photos. The server copy is pruned after a week; the phone keeps its own inside a size-capped cache. THE PHONE NEVER DEMOSAICS A RAW FILE Which is why a 60-megapixel frame opens as fast as a JPEG.
Connect your phone06
Away from home

07Reaching your library from anywhere

Everything so far works on your own network. To use it from a café, you need a way in — and there is a right answer and a wrong one.

Use Tailscale. Install it on the spare computer and on your phone, sign both into the same account, and they behave as though they were on the same network wherever they are. Nothing is exposed to the internet; the traffic is encrypted between your own devices.

Lumen helps: the Host panel spots Tailscale addresses and labels them. Use that URL in your phone's settings and it works at home and away, with no switching.

Do not port-forward this

The built-in server speaks plain HTTP with a username and password. On your own network that is fine. Opened to the internet it is not: the credentials cross the wire unprotected, and your entire photo library is behind them. Never forward port 8123 on your router.

ApproachVerdict
Tailscale
(or WireGuard)
Recommended. Free for personal use, a five-minute install, no router configuration, nothing published to the world. The address stays the same wherever you are. This is what the Host panel is designed around.
Your own reverse proxy
with HTTPS
Fine if you already do this. Terminate TLS at Caddy, nginx or a Cloudflare Tunnel and point it at 127.0.0.1:8123. Then give devices the https:// address. Only worth it if you are comfortable maintaining it.
Port-forwarding
the app directly
No. Plain HTTP on the open internet means your password is readable by anything between you and home, and the whole library is one guess away.
Leaving it LAN-only Perfectly respectable. Your phone syncs whenever you are home; edits made away are queued on the phone and flush themselves the moment it can see the server again.
Offline is a supported state, not a failure

Phones keep working with no server at all: cached previews stay editable, and every rating and slider move you make is saved locally and replayed in order when the connection returns.

Reaching your library from anywhere07
On the disk

08What is in the folder, and how to back it up

Open the library folder and you will find ordinary files in ordinary directories. No database, no opaque bundle. If Lumen vanished tomorrow your photographs would still be there, in dated folders, readable by anything.

Back up the whole folder — Time Machine, a second drive, rsync to a friend's house, whatever you already trust. The originals are the irreplaceable part; previews, thumbnails and proxies rebuild themselves from those.

The catalog is a separate thing

Each desktop keeps its own catalog database. Settings → Backup snapshots it along with a portable library.json. It does not contain your photographs — the server has those — but it is what remembers your collections and history on that machine.

Under your folderWhat it holds
originals/Your photographs, filed by [project/]YYYY/MM. The only files you cannot regenerate.
previews/2560px smart previews. What phones and other Macs actually edit against.
thumbs/320px grid thumbnails — how a phone browses ten thousand photographs without downloading any of them.
sidecars/One small JSON per photograph: develop settings, rating, flag, colour label. Your edits.
proxies/Full-resolution renders made on request for phone exports. Deleted automatically after seven days.
requests/A phone's note to the host saying "I need that one full size". Removed as soon as it is answered.
presets.json
collections.json
Presets, collections and smart collections, shared across every device.
manifest.jsonA published index so a phone can refresh its whole library in a couple of requests instead of walking the tree.
What is in the folder, and how to back it up08
Living with it

09Keeping it healthy

Updates matter most on the host. It renders every preview and every full-resolution export the rest of your devices depend on, so an out-of-date host holds all of them back. Lumen does not update itself — install new builds by hand, and do the host at the same time as your phones, not months later.

Beyond that there is little to do. Downloaded originals are capped (20 GB by default, and never within 5 GB of filling the disk), proxies expire after a week, and the host tidies the folder structure as photographs arrive.

A quick health check

Open the host's sync panel. A recent "last cycle" time and an empty error list means every device downstream of it is being served.

If this happensTry this
"Port 8123 is already in use" Something else has it. Change the port in the Host tab, save, and update the URL on your other devices.
Devices cannot connect Check they are on the same network; that the firewall prompt was allowed; and that the host's address hasn't changed. Reserve its IP in your router to stop that recurring.
Thumbnails stay blank
on the phone
The host is asleep or Lumen is not running on it. Wake it, open Lumen, and the backlog clears on the next cycle.
A full-resolution export
quietly used the preview
Nothing was cached and nothing answered within 90 seconds. Confirm the host is awake and running a current version of Lumen, then export again — recent photos are fetched ahead, older ones need the worker once.
You moved the library
to a new disk
Point the Host tab at the new folder and save. Keep the same /photos base path and no device notices.
You want a second
editing machine
Install Lumen, fill in the same four Server fields, leave preview worker off. It adopts the existing library.
Keeping it healthy09
LUMEN
That is the whole thing

Your photographs,
on your own disk

One spare computer, one folder, one username and password. Everything else — the previews, the syncing, the tidying — happens quietly on a machine you own, in a folder you can open, back up, and take with you.

Setup
Host tab, six steps
Each device
Four fields
Away from home
Tailscale
The three things to remember

Keep the host awake and running Lumen. It is the whole service.

Back up the library folder. The originals are the part no software can rebuild.

Do not put it on the open internet. Tailscale costs nothing and asks less of you than port-forwarding does.

Lumen — build your own photo cloudEnd