Skip to content

TREK

TREK is a collaborative trip planner. A trip gets a map, a day-by-day plan, bookings, a costs ledger that works out who owes whom, packing lists, notes, files, and a journal to fill in while you are away. Everyone on the trip edits the same plan, live, so the group chat stops being the itinerary.

It is built for the trip as it actually happens, not only the planning. The app installs to your phone as a PWA and keeps working offline, expenses can be entered in whatever currency the receipt says, and each trip can be subscribed to from your calendar so flight times and bookings show up where you already look.

ElfHosted runs the unmodified upstream TREK release. We are not affiliated with or endorsed by the TREK project.

When does TREK make sense?

  • You travel as a group and are tired of splitting costs in a spreadsheet and the plan across five chats.
  • You like a proper itinerary: places on a map, ordered by day, with travel between them.
  • You want to share the plan with people who are not editing it. A read-only share link opens in any browser.
  • You already log trips after the fact in AdventureLog. TREK covers the other end: planning and running the trip itself.

Get a 7-day trial of Trip Planner, powered by TREK! 🪄

How do I access TREK?

TREK is available:

Signed-in users see their own URLs

The addresses above show the general pattern. Sign in and these become your personal, clickable links.

How do I use it?

First login

TREK has its own accounts. Yours is already set up as the instance administrator, under the email address on your ElfHosted account, but you choose its password yourself:

  1. Open TREK and click Forgot password? on its login page.
  2. Enter the email address on your ElfHosted account. TREK emails you a link to set your password, valid for 60 minutes.
  3. Set your password and sign in.

While you're there, switch on two-factor authentication under Settings. If the email doesn't arrive, check your spam folder, then ask us in Discord.

Plan a trip

  1. Click New Trip on the dashboard, give it a title and dates, and pick the currency you will settle up in.
  2. Add places to the map and drag them into days on the plan.
  3. Open the Costs tab to record expenses as they happen. TREK converts each one into the trip currency and suggests who should pay whom at the end.
  4. Build a packing list, attach booking confirmations and tickets, and write up each day in the journal.

The built-in help at /help inside TREK matches the version you are running, and the TREK wiki covers every feature in detail.

Travel with other people

Trip members sign in to TREK with their own accounts, and those accounts sit behind your ElfHosted login like the rest of the app. Create them from Admin, then Users, and add them to a trip from its Share button.

For anyone who only needs to follow along, use a share link instead:

  • Trip share link: from a trip's Share button, click Create link. Anyone with the link sees a read-only view of the trip, and you choose whether bookings, packing, costs and chat are included.
  • Public journey link: publish a journal so friends and family can read it.
  • Calendar feed: from the trip's Export menu, choose Subscribe to calendar, or subscribe to all your trips from the dashboard.

These three open without an ElfHosted login, so they work for anyone you send them to. The token in each address is what protects it, so treat those links like passwords. Delete a share link or regenerate a calendar feed and the old address stops working.

Connect other apps with the API

TREK has a read-only API that other software can use to read your trips, such as a Homepage dashboard widget, Dawarich, or your own scripts. It can list your trips, fetch one with its days, places, reservations and accommodations, read your bucket list, and return travel totals. It cannot change anything.

  1. In TREK, open Settings, then Integrations, and under API Keys click Create key.
  2. Copy the key straight away. It starts with trek_ and is only shown once.
  3. Give it to the other app, which sends it as a header:
curl -H "Authorization: Bearer trek_your_key_here" \
     https://<yourname>-trek.elfhosted.com/api/v1/trips

X-API-Key: trek_your_key_here works too. The available endpoints are /api/v1/trips, /api/v1/trips/<id>, /api/v1/bucket-list and /api/v1/stats, and the TREK wiki describes what each returns.

These requests skip your ElfHosted login, so the key is the only thing protecting your trips. Treat it like a password, make one key per app, and delete a key from the same screen to cut that app off.

Plan trips with an AI assistant

TREK has a built-in MCP server, so an AI assistant such as Claude, ChatGPT or Cursor can work on your trips directly: create a trip, add places and days, build packing lists, log costs and add bookings. Its changes show up in TREK straight away, the same as edits made in the app.

  1. In TREK, open Admin, then Addons, and switch on MCP.
  2. Add https://<yourname>-trek.elfhosted.com/mcp to your assistant as a custom connector or remote MCP server. In Claude Code, for example:
claude mcp add --transport http trek https://<yourname>-trek.elfhosted.com/mcp
  1. The assistant opens TREK's consent screen in your browser, behind your ElfHosted login. Sign in, choose what it may read and change, and approve.

Your assistant talks to TREK from outside, so the MCP address skips your ElfHosted login, but nothing gets through it without a token you approved on that consent screen. To cut an assistant off, remove it under Settings, then Integrations, then MCP, or revoke its session from MCP Access in the admin panel.

Is AI included?

Yes. TREK can fall back to AI when it imports a booking confirmation it can't read on its own, and that works with the AI included with your plan. In TREK, open Admin, then Addons:

  1. Switch on AI Parsing.
  2. Set Provider to OpenAI. Not Local, which only talks to an Ollama server.
  3. Set Base URL to http://elfhosted-internal.bree/v1.
  4. Type anything in API Key, for example elfhosted. The included AI knows it's you without one.
  5. Type anything in Model, for example default, and save.

Then use Import from file on a trip's Bookings tab as usual. The AI only reads files that TREK's own importer can't, and every booking it finds opens for you to check before it's saved. Scanned PDFs with no text in them can't be read this way.

It runs on an allowance included with your plan, which suits importing your own bookings. If you'd rather use your own OpenAI or Anthropic account, set that provider and key instead; its usage is then billed by your provider directly.

Does TREK send email?

Yes. Password-reset links and email notifications go out through ElfHosted's mail service, so there's nothing to set up for password resets. To send notifications by email:

  1. In TREK, open Admin, then Notifications, and switch on Email (SMTP). Leave the fields blank: your instance is already connected.
  2. Each user then picks which events they want by email under Settings, then Notifications.

TREK's Send test email button only becomes clickable once the SMTP Host field has something in it. To use it, enter 127.0.0.1 as the host and 1025 as the port, leave the user and password blank, and click it. Emails arrive from trek@mg.elfhosted.com. If you'd rather send through your own mail server, set TREK's SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS and SMTP_FROM with ElfBot (or ask Sam), and TREK restarts to use them.

Optional extras

Photo memories from Immich or Synology are a switch in the admin panel too, and need your own account details. Plugins are not available on ElfHosted.

TREK also works with

How do I get support for TREK?

  1. For general use of TREK, refer to the official site or to one of the links in the resources section below.

  2. For specific support re your ElfHosted configuration / account, see the ElfHosted support options!

You can contribute directly to the development of TREK using the following:

TREK resources

Your content, your responsibility

ElfHosted provides TREK as a hosted application — we do not supply content, accounts, or third-party credentials. You are responsible for ensuring that your use of this app complies with applicable laws and our Acceptable Use Policy. If you have questions about what is or isn't permitted, please reach out — we're happy to help.

What users say..

We're rocking some excellent ⭐⭐⭐⭐⭐ TrustPilot Reviews, and here's what some of our usersfriends say..

I am new here, but today I learned realized that Elfhosted is one of the best free and open source software communities I've seen, and FOSS communities have been at the center of my life since the 90s (Perl, PHP, Symfony, Drupal, Ethereum, etc.). Great open software built by great people who care = great community, and that is something special.

You've done an amazing job @Funky Penguelf with the platform you provide and this place has an awesome mix of active community caretakers and software creators that I've seen here so far like BSM, Spoked, LayeZee and other elf vengers. Keep up the energy, productivity and community and take time to enjoy it and appreciate each other!

⭐⭐⭐⭐⭐ @skwah (Discord)

As a happy Elfhosted customer—who also self hosts MANY things across about 10 severs (dedicated, VPSes, and VMs running on Synology), I wouldn’t switch to self hosting the services I get from Elfhosted. They just work with very little effort configuring things, and the support the owner and his team provides is second to none. Plus I love being part of a fledgling—but quickly growing—enterprise.

⭐⭐⭐⭐⭐ /u/jatguy. (Reddit)

I’ve been using this service for a while now, and honestly, it’s a game-changer compared to anything else I’ve tried for managing my media library. The support is fantastic—super quick, and if the staff aren’t around (which rarely happens), the community steps up right away. I can’t imagine going back to any other platform.

Before this, I had my own setup with a NUC, NAS, and tools like Sonarr and Radarr. It worked pretty well for a while, and my internet speed was high enough to stream without any buffering. But in the end, it wasn’t worth the time or headache of managing all the storage and keeping everything running smoothly.

Now, with this service, everything runs smoothly in 1080p+ with no buffering issues. The interface is really easy to use, which makes managing everything a breeze. Plus, having a whole community of smart people available for guidance is a huge bonus.

I was sold from the start, which is why I quickly upgraded from a 1-month to a 3-month subscription, and I’m planning to switch to a 1-year plan soon. This service totally pays for itself, and I’m sure you won’t be disappointed. It’s been really impressive.

⭐⭐⭐⭐⭐ @seapound (Discord)

Best possible options for anyone looking for the do-it-all option along with the best customer service ive experienced in this space so far. Id rate it a 6 if I could but its limited to 5/5...

⭐⭐⭐⭐⭐ @hashmelters (Discord)

(responding to a discussion re the cost of ElfHosted vs mainstream streaming / self-hosting):

I didn't know that the goal of this project was to compete with large companies running/renting entire DCs. I was under the impression that the goal of this project was to manage the updating of almost selfhosted applications on a shared platform with other users. Basically, be my sysadmin for me.

That being said, paying for services is the 'easy button'. There is a real world cost incurred for the time saved. Time is money. Time is the most valuable currency that exists. Once time is spent, it's forever lost, one cannot retrieve it again (yet). In my mind, there are 3 options for use of time with respect to: mainstream, selfhosting, elfhosted.

  • mainstream - my time is valuable and I don't want curated content and I don't care what content that I have the ability to consume. I only like what's popular.

  • elfhosted - my time is valuable, I want my own curated content without being forced to browse past the same damn entry 500 times just to find out that I can't watch the movie I want because it's not available in my current location or was removed last week from mainstream providers.

  • selfhost - I care about costs and I have nothing but time to waste or I want to learn about the backend of the systems involved. I'll pay for my own VPS/homelab, electricity, manage the OS, manage app updates, figure out how to make the apps talk nice to each other, create my own beautiful frontend.

I know how much my time is worth, does that reddit poster know how much their time is worth? Without knowing what you are worth, you can't make effective capital expenditures with respect to the time it will take to recoup the capital.

I know I don't need elfhosted at all for my use case. I choose to stay with elfhosted because it's my 'easy button'. It's an efficient capital expense for the amount of time it saves me managing my own hardware, apps and saves me electricity costs. I'm also in a situation where I don't have upload bandwidth from my home to serve HD content to myself remotely. If I lived back in a city, I would still be here. My time is worth $$/hr.

⭐⭐⭐⭐⭐ @cobra2 (Discord)

"Just wanted to check in here and let @Darth-Penguini and anyone/everyone else know...WOW. I have been struggling with storage for years, maintenance of Docker containers, upkeep, all of it. Elfhosted is so freeing. It's an amazing service that I hope to be a member of for a long, long time!"

⭐⭐⭐⭐⭐ @Fingers91 (Discord)

"I would recommend ElfHosted to anyone. It has been great so far and made life a lot easier than running my own setups. If you’re in the fence give them a try and help support this great community."

⭐⭐⭐⭐⭐ Zestyclose_Teacher20 (Reddit)

"thanks for the help and must say this is the best host I every had for my server 🙂 10/10 🙂 All other places I have try have I got a lot buff etc. Your host can even give me full power on a 4K Remux on 200GB big movie file . That's damn awesome 😄"

⭐⭐⭐⭐⭐ @tjelite (Discord)

"What an amazing support system these guys have Chris and Layzee i think it was! Both are very patient with me even though I am a newbie at all this. Very thorough and explained everything step by step with me

I couldn’t ask for anything better than the service I have received by these guys! Happy happy client❤️"

⭐⭐⭐⭐⭐ @dead.potahto (Discord)

"Very happy customer. Great service"

⭐⭐⭐⭐⭐ @ronney67 (Discord)

"Very good customer service, frequent updates, and excelent uptime!!!!!"

⭐⭐⭐⭐⭐ @ed.guim (Discord)

"I had my own plex-arrs setup on hetzner for years. Yesterday I deleted everything as elfhosted has gone above and beyond it. And it has a fantastic, active community as well! Very friendly, helpful and like-minded folks always willing to help and improve the system. Top notch!"

⭐⭐⭐⭐⭐ @alon.hearter (Discord)

"Absolutely Amazed with the patience and professionalism of all Elf-Venger Staff including bossman penguin❤️"

⭐⭐⭐⭐⭐ @dead.potahto (Discord)

"@BSM went above and beyond to make sure I had all the one on one support needed with my sub. Thank you for your patience! Elfhosted continues to be Elftastic !!"

⭐⭐⭐⭐⭐ @bfmc1 (Discord)

"really enjoying the service from elfhosted. The setup is really easy from the guides on the website. And the help on the discord channel is really quick."

⭐⭐⭐⭐⭐ @jrhd13 (Discord)

"Support is amazing, and once you find a setup which works best for you it works perfectly, very happy 😊"

⭐⭐⭐⭐⭐ @fiendclub (Discord)

"great fast service, resolved my problem and really friendly"

⭐⭐⭐⭐⭐ @allan.st.minimum (Discord)

"Great service and sorted out a billing issue super quick and easy."

⭐⭐⭐⭐⭐ @scottcall707 (Discord)

"Very friendly support, resolved a problem with my account! I also appreciate the community that has been built around the service!"

⭐⭐⭐⭐⭐ @leo1305 (Discord)

"excellent customer service and very fast replies"

⭐⭐⭐⭐⭐ @yo.hohoho (Discord)

"Loved the simplicity, experience and support"

⭐⭐⭐⭐⭐ @y.adhish (Discord)

"Very friendly help as always, problem solved, one happy elf here!"

⭐⭐⭐⭐⭐ @badfurday0 (Discord)

"Great Helpful and Fast support. Thanks!"

⭐⭐⭐⭐⭐ @.mxrcy (Discord)