Get the app running on your own computer in a few minutes — perfect for a single user or a team on the same network. Two ways to do it: Docker (easiest) or Node.js.
Docker bundles everything the app needs, so there's nothing else to install. First, install Docker if you don't already have it.
Copy the example settings file and open it in any text editor:
cp .env.example .env
In .env, set APP_PASSWORD to a password your team will share, and set a SESSION_SECRET so logins survive restarts. You can generate a strong secret with:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
No Node.js installed? Any long random string works for SESSION_SECRET.
docker compose up -d
That's it — the app is now running in the background.
Go to http://localhost:8080 in your browser, sign in with the password from your .env, and you'll land on your Maps dashboard.
To stop it later:
docker compose down
Your maps stay safe in the data/ folder between restarts.
You need Node.js 16 or newer.
npm install
Pick the command for your operating system:
macOS / Linux:
APP_PASSWORD=changeme SESSION_SECRET=$(node -e "console.log(require('crypto').randomBytes(32).toString('hex'))") npm start
Windows (PowerShell):
$env:APP_PASSWORD="changeme"; $env:SESSION_SECRET="paste-a-long-random-string"; npm start
Go to http://localhost:8080.
APP_PASSWORD unset runs an open instance
with no login. Only do that on a trusted private network you control.
data/ folder.data/ folder somewhere safe..json from the dashboard — handy for moving maps between machines.
Teammates on the same Wi-Fi or office network can reach your instance
at http://YOUR-COMPUTER-IP:8080 (find your machine's local IP in your
network settings). For teammates working remotely over the
internet, follow the cloud hosting guide — it
covers an always-on server, a custom domain, and HTTPS.