Run·dere
A self-hosted travel planner for you and the people you travel with.
Version 4.13.6 · Documentation · Demo · Releases · Docker image · rundere.app
Forward a booking email, drop in a PDF or click a bookmarklet, and Run·dere reads the
flight, hotel, train or tour out of it, asks you to check it, and puts it on the right trip.
Each trip gets a timeline, a map, research for the destination, a packing list, shared
costs and a travel journal. It runs on your own server, and the reading is done by
structured parsers and a local LLM, so your bookings stay with you.
Say it "run there" (hear it). Plain-text spelling: Rundere.
What it does
- Capture from anywhere. Email forwarding, file upload (PDF,
.ics, .eml), a
bookmarklet, Gmail and Google Calendar add-ons, the iPhone and iPad app, and AI
assistants over MCP.
- Read it reliably. Structured readers go first (schema.org booking markup, calendar
invites, PDF text, Google and Apple Maps links). Only free-form text goes to the LLM,
which runs on your own hardware.
- Review before anything changes. Everything lands in the Inbox, sorted by what
needs you. Nothing reaches a trip until you approve it, and your corrections stick.
- Plan the trip. A timeline and map, Discover research (weather, currency, plugs,
visa, safety, food and drink, local phrases), packing lists, budgets and shared expenses,
and a private travel journal.
- Keep places for later. Share a place from Google or Apple Maps and it waits in your
saved places until it goes on a trip, or on several.
- Travel together. Several people on one server, each seeing only their own trips and
the ones shared with them. Sharing can be view-only.
- Use what you already have. Optionally also log flights to
AirTrail and trips to
AdventureLog. Run·dere works fully
without them.
Try the demo
demo.rundere.app is a read-only server with three invented
trips that move forward with the calendar. The sign-in page shows the shared login.
Install
Run·dere is one container plus a Postgres database, behind a reverse proxy that handles
HTTPS.
curl -O https://raw.githubusercontent.com/rundere/rundere-server/main/deploy/docker-compose.example.yml
# replace every CHANGE_ME (database password, TX_JWT_SECRET, TX_SECRETS_KEY:
# openssl rand -base64 32) and the example hostnames
docker network create proxy # unless your reverse proxy already has one
docker compose -f docker-compose.example.yml up -d
Then open the server in a browser. The first visit creates the admin account (D-203; decisions are numbered in DECISIONS.md), so
do that before anyone else can reach it. The image is built for Linux on amd64.
Updating
- Read the release notes, especially
Before you upgrade: it lists migrations, new settings and anything to run once.
- Back up the database, the artifacts folder (
TX_ARTIFACTS_DIR, /data/artifacts by default) and TX_SECRETS_KEY
(backups).
- Change the image tag and redeploy. Database migrations run when the container starts.
Pin a version (ghcr.io/rundere/rundere-server:4.12, or an exact one) rather than latest
if you want to choose when to upgrade and be able to roll back.
A few things to know
- It needs HTTPS in front of it. Run·dere expects a reverse proxy such as Traefik or
Caddy. The iPhone app and AI assistants also need a public hostname.
- A local LLM does most of the reading. Without one, Run·dere still reads what has
structure (booking markup, calendar invites and Maps links), but most booking emails are
free-form, so they wait in the Inbox for you to fill in by hand. Geocoding, web search,
email and file scanning are optional.
- Captures are kept on purpose. The original of every booking is kept until 12 months
after its trip, so a capture can be re-read and checked. Plan disk space for it.
- The server operator has full visibility to the household from the database. Sharing settings decide what
admins see in the app; whoever runs the server can still read the database, data is not encrypted at rest.
- Old names show through. Old Project naming convention was called Yonder, and the
TX_* settings, the
Python package and some code keep that name (D-206).
以上為 README 的開頭部分。其餘內容請閱讀原文。 檢視完整 README ↗