Setting up multi-user
Multi-user access lets multiple people work in the same .solid file from their own computers, without sync conflicts or shared-drive surprises. Setup takes 10–15 minutes for a small team. This guide walks through both modes.
For the conceptual model (why Solid does it this way), see the Multi-User module.
Prerequisites
- Solid Accounting Pro or Accountant tier — Standard tier is single-user only
- All users on the same LAN — wired or wifi to the same network. For remote users, set up a VPN first (see Beyond the LAN below)
- A machine that hosts — see the next section to pick
Pick your authority — Host Mode or Dedicated Server
The first decision: which machine holds the canonical .solid file?
| Host Mode | Dedicated Server | |
|---|---|---|
| What it is | A regular Solid Accounting install with hosting enabled | A headless server build (no GUI) |
| Runs on | Someone's laptop or workstation | A NAS, an always-on workstation, a small VM |
| Best for | 2–5 users, occasional concurrent | More users, time zones, always-on access |
| Cost | Same as a regular install | Same license; just runs server build |
| Limitation | Goes offline when the host machine sleeps or shuts down | Requires a machine that's always on |
For a small office team where everyone shares an open-plan workspace and the bookkeeper's laptop is always running during business hours: Host Mode. For a company with remote workers, after-hours bookkeeping, or more than ~5 active users: Dedicated Server.
You can start with Host Mode and migrate to a Dedicated Server later — the file moves; the protocol and the client experience don't change.
Path A — Host Mode setup
Step 1 — Open the file on the host machine
The host is whichever machine holds the .solid file going forward. Typically the file owner's machine (the bookkeeper, the business owner, etc.).
Open Solid Accounting on the host machine and open the file you want to share. Authenticate as the file Admin.
Step 2 — Enable Host Mode
Settings → Multi-User → Enable Host Mode
Solid:
- Starts the embedded API server on the host machine (default port 21384, configurable)
- Begins the mDNS broadcast (
_solidaccounting._tcp.local) so clients on the LAN auto-discover the host - Shows a Hosting · 0 connected indicator in the title bar
The host machine now serves the .solid file's authority. From this moment, any other Solid client on the same network can discover and connect.
Step 3 — Add users
Each user who'll connect needs a user record on the file:
- File → Manage Users → New
- Enter their name and email (used for the invite)
- Pick their role — Admin, Bookkeeper, or Read Only (see Multi-User → Roles)
- Solid generates a one-time invite code and shows it once
Send the invite code to the user (text, email, or just say it across the office). They'll enter it on first connect.
Step 4 — Each user connects from their machine
On each client machine:
- Install Solid Accounting (same installer as the host; client mode auto-detects)
- Activate their license seat (each user uses one of the file's tier-allowed seats; no separate license per client needed)
- Solid's welcome screen lists discovered hosts on the LAN — pick yours
- Enter the invite code you provided
- Set a personal password — used for subsequent logins to this file
- Connected — the file opens just like a single-user file, but every read/write goes through the host
After the first connect, the client remembers the host and the user's session. Subsequent opens are one-click.
Step 5 — Verify
Have someone post a transaction on a client. Watch it appear instantly on the host (and on any other connected clients). If it does, multi-user is working.
If transactions don't appear, jump to Troubleshooting below.
Path B — Dedicated Server setup
Step 1 — Pick a server machine
Common choices:
| Machine type | Considerations |
|---|---|
| NAS (Synology, QNAP, etc.) | Always on, low power, often has Docker support. Solid offers a Docker image. |
| Small VM (cloud or office) | Easy to provision, easy to back up. ~1 GB RAM is enough for small files. |
| Office workstation kept always-on | Cheapest if you have one. Tape over the power button. |
| Mini PC (Intel NUC, similar) | Dedicated hardware, low power, often under $300. |
The server machine needs:
- 64-bit OS (Linux, macOS, or Windows)
- 1 GB+ RAM
- 500 MB disk + however much your
.solidfile is (typically under 1 GB) - A stable network connection (wired preferred)
Step 2 — Install the server build
Three options:
- Native install — download the headless server build from solidaccounting.com/download and run it as a daemon (systemd unit on Linux, launchd on macOS, Service on Windows)
- Docker —
docker pull solidaccounting/server:latestand configure with environment variables - Bundled with desktop — every regular install includes the server build; run it directly via
solid-server --file /path/to/file.solid
For Linux servers and NAS, the Docker route is usually cleanest. For Mac and Windows servers, native install is simpler.
Step 3 — Place the .solid file
Copy your .solid file to a permanent location on the server. Common paths:
- Linux:
/var/lib/solidaccounting/yourcompany.solid - macOS:
/Library/Application Support/SolidAccounting/yourcompany.solid - Windows:
C:\ProgramData\SolidAccounting\yourcompany.solid - Docker volume: mounted at
/data/yourcompany.solidinside the container
Step 4 — Start the server
Start the server pointing at the file. The server:
- Authenticates against your license server (one-time, uses the same activation key as desktop)
- Starts the API server on the configured port
- Begins mDNS broadcast on the LAN
You'll see startup logs confirming the file opened, the server is listening, and mDNS is broadcasting.
Step 5 — Add users (same as Host Mode)
User management happens via any connected client (or via the API). The Admin can:
- Create users
- Assign roles
- Generate invite codes
The exact same flow as Host Mode — the server is just running headlessly instead of in a GUI.
Step 6 — Each user connects
Same as Host Mode — clients auto-discover the server on the LAN, enter their invite code, connect.
Beyond the LAN — remote users
mDNS auto-discovery only works on the same physical network. For users in different offices or working from home:
Option 1 — VPN
The simplest. Use whatever VPN you already have for file shares and printers (Tailscale, WireGuard, OpenVPN, IPSec). When a remote client connects to the VPN, they appear to be on the office LAN; mDNS discovery works.
Tailscale is particularly clean because:
- Each device gets a stable hostname (
server.tail-acme.ts.net) - Solid clients can connect via that hostname directly, skipping mDNS
- No port forwarding, no public exposure
Option 2 — Manual address entry
If you have a stable hostname or IP for the server (a Cloudflare tunnel, a static office IP with port forward), clients can connect manually:
- Welcome screen → Connect to a Solid Accounting server → manual entry
- Hostname or IP + port (e.g.
solid.acme.com:21384or203.0.113.42:21384) - Solid validates the hostname against the file and prompts for the user's invite code
Option 3 — Hosted multi-user (future)
Solid's roadmap includes a managed coordination service for multi-user files, where the server runs in our infrastructure. Not currently offered — for now, VPN is the answer.
Backup considerations
Cloud Backup runs on the authority machine (the host or server). Configure it once on the authority; clients don't run their own backup (they don't hold the file).
If you migrate from Host Mode to Dedicated Server, configure Cloud Backup on the server with the same destination, password, and recovery phrase. The catalog continues across the move.
For physical-copy backups (NAS dump to external drive), the file is just a file; copy it like any other. Stop the server briefly during the copy if you want a guaranteed-consistent snapshot, or use a filesystem snapshot if available.
Performance
Multi-user in Solid is designed to feel like single-user. Expect:
- Read latency: under 50ms for typical operations on a LAN
- Write latency: under 100ms (writes go through the authority's validation layer)
- Sync latency: under 500ms from one client posting to other clients seeing the change
If latency feels worse than this, troubleshoot:
- Check the LAN — gigabit wired beats wifi by a lot for write-heavy workloads
- Check the host/server CPU — if the host is also running other heavy workloads, contention shows up as latency
- Check the file size — files over ~500 MB feel slower; consider archiving old data into a separate file
Troubleshooting
Client can't see the host on the welcome screen. mDNS isn't traversing. Check:
- Both machines on the same network/subnet (not on guest wifi vs main LAN)
- Firewall on the host allows incoming connections on port 21384
- mDNS isn't blocked at the network level (some corporate networks restrict multicast)
Connected but transactions don't sync. The client's session may be stuck. Disconnect and reconnect. If it persists, check the host's Sessions dialog — your session shows up; revoke it and reconnect fresh.
"Authority unavailable" — the host or server stopped responding. On the host, check that Solid is still running and Host Mode is still enabled. On a server, check the systemd/launchd/service status.
Two users editing the same record at the same time — Solid's authority model serializes writes; one of them will win, the other will see "record was modified, refresh to see latest." Don't worry about explicit locking — the protocol handles it.
Slow performance on a particular client only — that client's network or machine, not the host. Try the same machine on a wired connection or restart it.
Cross-references
- Multi-User module — the conceptual model
- Migrating between machines — moving the host/server
- Cloud Backup module — backup runs on the authority
- REST API — programmatic access works against multi-user files the same way