Your Ultimate Homelab Adventure: Documenting Your Journeys with AdventureLog

AdventureLog Featured Image

Although building your own homelab is a lot of fun and be one of the most fulfilling adventures a self-hosting enthusiast can undertake, sometimes we need to also have a different type of adventure. For our real life adventures, we should have the same dedication to self-host our adventures, from weekend hikes to cross-continental road trips. While countless cloud-based services offer to track your travels, for the self-hosting enthusiast, the ultimate adventure is building your own digital archive. Enter AdventureLog, a self-hosted application designed to be the perfect companion for adventurers who want to own their data and customize their experience.


What is AdventureLog and How Does it Work?

AdventureLog is an open-source web application that allows you to create a personal travel blog and an interactive map of your adventures. Think of it as your own private, self-hosted version of popular travel tracking apps, but with the freedom and control that comes with running it on your own server.

At its heart, AdventureLog is built around the concept of “Adventures.” Each adventure you create can be populated with a title, a description, a cover image, and, most importantly, a collection of logged locations. These locations can be added manually or, for the more data-driven adventurer, by uploading GPX (GPS Exchange Format) files from your favorite tracking devices or apps. AdventureLog then processes this data and plots it beautifully on an interactive map, creating a visual narrative of your journey.

AdventureLog Adventure Overview

Adventure Overview


Key Features of AdventureLog: A Deep Dive

AdventureLog is packed with features that cater specifically to the needs of a traveling storyteller:

  • A Stunning Interactive Map: This is arguably the crown jewel of AdventureLog. The application leverages the power of OpenStreetMap to display an interactive map of your travels. Each log entry with GPS data is plotted on the map, creating a visual breadcrumb trail of your journey. This allows you to see your entire route at a glance and click on individual points to jump to the corresponding journal entry and photos. It transforms a simple log into an engaging and explorable narrative of your adventures.
  • Rich Text and Markdown Support: Your stories deserve to be told with more than just plain text. AdventureLog supports Markdown, allowing you to format your entries with headings, lists, bold and italic text, and even embed links. This makes for a much more readable and engaging travelogue.
  • Image Uploads: What’s a travel log without photos? AdventureLog allows you to upload images and associate them with specific adventures, enriching your digital memories.
  • Beautiful Image Galleries: What’s a travel log without photos? AdventureLog automatically creates beautiful, responsive image galleries for each of your log entries. It handles image resizing and optimization, ensuring your photos look great on any device without bogging down your server.
  • Full Data Ownership and Privacy: In an era of data breaches and ever-changing terms of service on commercial platforms, self-hosting gives you peace of mind. With AdventureLog, your travel data, including your location history and personal photos, resides on your own server. This means you have complete control over who sees it and how it’s used.
  • Clean and Responsive User Interface: The web interface is modern, clean, and easy to navigate. It’s designed to be responsive, meaning it works just as well on your phone or tablet as it does on a desktop computer. This is crucial for logging your adventures on the go.
  • GPX Track Display: For the avid hikers, cyclists, and trekkers, AdventureLog allows you to upload and display GPX tracks on your map. This lets you visualize your exact path and share the intricacies of your routes with friends and family.
  • Unlimited Adventures and Logs: Being self-hosted means you are not bound by the limitations of a subscription service. You can create as many adventures and log as many points as your server’s storage allows.
  • User Management: You can create multiple user accounts, making it a great solution for families or groups of friends who want to share a single instance while keeping their adventures separate.
AdventureLog Adventure Details

Adventure Details


Installing AdventureLog in Your Homelab

Getting AdventureLog up and running in your homelab is a straightforward process, thanks to its reliance on Docker. This containerized approach simplifies deployment and ensures that the application runs in a consistent and isolated environment.

The primary and recommended method for installing AdventureLog is using docker-compose. Here’s a typical docker-compose.yml file to get you started:

services:
web:
#build: ./frontend/
image: ghcr.io/seanmorley15/adventurelog-frontend:latest
container_name: adventurelog-frontend
restart: unless-stopped
env_file: .env
ports:
- "${FRONTEND_PORT:-8015}:3000"
depends_on:
- server
db:
image: postgis/postgis:16-3.5
container_name: adventurelog-db
restart: unless-stopped
env_file: .env
volumes:
- postgres_data:/var/lib/postgresql/data/
server:
#build: ./backend/
image: ghcr.io/seanmorley15/adventurelog-backend:latest
container_name: adventurelog-backend
restart: unless-stopped
env_file: .env
ports:
- "${BACKEND_PORT:-8016}:80"
depends_on:
- db
volumes:
- adventurelog_media:/code/media/
volumes:
postgres_data:
adventurelog_media:

In this example:

  • We’re using the official AdventureLog Docker image.
  • The container is named adventurelog for easy management.
  • It’s set to restart automatically unless you manually stop it.
  • Port 3000 on your host machine is mapped to port 8015 inside the container. You can change 8080 to any unused port on your host.
  • A local directory named data is mounted as a volume to persist your AdventureLog data. This is crucial for ensuring your data survives container restarts and updates.

Once you’ve created your docker-compose.yml file, simply run docker-compose up -d in the same directory, and Docker will pull the image and start the container. You can then access AdventureLog in your web browser at http://<your-server-ip>:3000.

For a more robust setup, it’s highly recommended to run AdventureLog behind a reverse proxy like Nginx Proxy Manager or Traefik. This will allow you to access your instance using a custom domain name with a valid SSL certificate, securing your connection and making it accessible from anywhere in the world.

AdventureLog Trip Planning

Trip Planning


The Interactive Map: Your World at a Glance

AdventureLog’s map integration is what truly brings your travels to life. It utilizes the power of OpenStreetMap, a collaborative and open-source map of the world. This means you get detailed and constantly updated map tiles without relying on proprietary services.

The interactive map allows you to:

  • Visualize Your Journeys: See your entire travel history laid out on a world map.
  • Explore Individual Adventures: Zoom in on specific adventures to see the detailed path you took.
  • Inspect Log Points: Click on individual markers on the map to view the timestamp, coordinates, and any notes you’ve added for that location.

This powerful visualization tool transforms a simple list of places into a rich and engaging story of your explorations.

AdventureLog Interactive Map

Interactive Map


Alternatives to a Self-Hosted AdventureLog

While AdventureLog is an excellent self-hosted solution, it’s always good to be aware of the alternatives.

Other Self-Hosted Options:

  • PhotoPrism: While primarily a photo management application, PhotoPrism has powerful map features that automatically plot your photos based on their EXIF data. It’s a great choice if your focus is more on the visual aspect of your travels.
  • Traccar: For the more technically advanced user, Traccar is a powerful GPS tracking platform. It’s less focused on the “blog” aspect and more on real-time and historical location tracking of devices.

Cloud-Based Alternatives:

  • Polarsteps: A popular and user-friendly app that automatically tracks your route and creates a beautiful online travel journal.
  • FindPenguins: Another excellent travel blogging platform with a strong community and great mapping features.
  • Google My Maps: A versatile tool that allows you to create custom maps with your own placemarks, routes, and photos.

Conclusion: Your Adventure, Your Data, Your Way

AdventureLog strikes a fantastic balance between user-friendliness and the robust control that homelab enthusiasts crave. It offers a beautiful and interactive way to document your life’s journeys, all while ensuring that your precious data remains firmly in your possession. With its straightforward Docker-based installation and a solid set of features, AdventureLog is a project that can be up and running in your homelab in no time, ready to chronicle your next great adventure. So fire up your server, deploy the container, and start building a digital testament to your explorations.