Skip to content

Installation from Source

You can install wanderer components either via Docker (Quick Setup or Manual Setup) or from source.

  1. Clone the repository:
Terminal window
git clone https://github.com/open-wanderer/wanderer.git --branch v{version} --single-branch
  1. Install dependencies:
    • Go ≥ 1.23.0
    • Node.js ≥ 18.17.0
    • npm ≥ 8.15.0

wanderer uses a standard Meilisearch binary. Download and install it according to your platform:

https://www.meilisearch.com/docs/learn/getting_started/installation

Place the binary in wanderer/search. If you choose a different location, update your scripts accordingly.

wanderer uses a customized fork of PocketBase. You must build it before launching:

Terminal window
cd wanderer/db
go mod tidy && go build

This will generate a pocketbase binary in the wanderer/db folder.

Build the frontend using:

Terminal window
cd wanderer/web
npm ci --omit=dev
npm run build

You should see a build/ directory in wanderer/web.

If vitest is not installed, add it manually:

Terminal window
npm i -s vitest

You can launch all three services using a shell script that sets environment variables and ensures proper startup order:

Terminal window
trap "kill 0" EXIT
# Required configuration
export ORIGIN=http://localhost:3000
export MEILI_URL=http://127.0.0.1:7700
export MEILI_MASTER_KEY=YOU_SHOULD_DEFINITELY_CHANGE_ME
export PUBLIC_POCKETBASE_URL=http://127.0.0.1:8090
export PUBLIC_VALHALLA_URL=https://valhalla1.openstreetmap.de
export POCKETBASE_ENCRYPTION_KEY=YOUR_ENCRYPTION_KEY_HERE
# Optional configuration
# export MEILI_NO_ANALYTICS=true
# export BODY_SIZE_LIMIT=Infinity
# export PUBLIC_DISABLE_SIGNUP=false
# export UPLOAD_FOLDER=/app/uploads
# export UPLOAD_USER=
# export UPLOAD_PASSWORD=
cd search && ./meilisearch --master-key $MEILI_MASTER_KEY &
cd db && ./pocketbase serve &
cd web && node build &
wait

To update to the latest version stop the running application and run:

Terminal window
git pull origin main
cd wanderer/db
go mod tidy && go build
cd wanderer/web
npm ci --omit=dev
npm run build

Then re-run the launch script. Always review the changelog for breaking changes.

Regardless of the installation method, once everything is running you should be able to access wanderer at:

http://localhost:3000

If you see the UI and no errors in the logs, you’re all set!