Rename AdventureLog to Voyage and add fork attribution
- Replace all AdventureLog references with Voyage across ~102 files (7 case variants: AdventureLog, adventurelog, Adventurelog, ADVENTURELOG, AdventUrelog, AdventureLOG, adventure-log, adventure_log) - Rename brand, static, and documentation assets to use voyage naming - Rename install_adventurelog.sh → install_voyage.sh - Update README.md and voyage_overview.md to credit AdventureLog as the upstream project and Sean Morley as its original creator
2
.github/.docker-compose-database.yml
vendored
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
db:
|
||||
image: postgis/postgis:15-3.3
|
||||
container_name: adventurelog-db
|
||||
container_name: voyage-db
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "127.0.0.1:5432:5432"
|
||||
|
||||
6
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -23,7 +23,7 @@ Steps to reproduce the behavior:
|
||||
|
||||
## ✅ Expected Behavior
|
||||
|
||||
What did you expect AdventureLog to do?
|
||||
What did you expect Voyage to do?
|
||||
|
||||
## 📸 Screenshots / Logs
|
||||
|
||||
@@ -34,7 +34,7 @@ What did you expect AdventureLog to do?
|
||||
|
||||
- **Platform:** (Docker, Synology, Proxmox, TrueNAS, Unraid, etc.)
|
||||
- **Install Method:** (Docker Compose, Quick Install Script, Manual, etc.)
|
||||
- **AdventureLog Version:** (e.g., v0.12.0)
|
||||
- **Voyage Version:** (e.g., v0.12.0)
|
||||
- **Reverse Proxy:** (e.g., Nginx, Traefik, Caddy, etc. or None)
|
||||
|
||||
If using Docker and the issue is related to the container, it may be helpful to include your `docker-compose.yml` or relevant variables below.
|
||||
@@ -46,4 +46,4 @@ Anything else that might be useful (custom configuration, network setup, databas
|
||||
|
||||
---
|
||||
|
||||
Thank you for taking the time to report this issue! We appreciate your help in making AdventureLog better. We’ll look into it as soon as we can. 🙌
|
||||
Thank you for taking the time to report this issue! We appreciate your help in making Voyage better. We’ll look into it as soon as we can. 🙌
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/deployment-issue.md
vendored
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: Deployment Issue
|
||||
about: Request help deploying AdventureLog. For faster support, please use our Discord community!
|
||||
about: Request help deploying Voyage. For faster support, please use our Discord community!
|
||||
title: "[DEPLOYMENT] <short description>"
|
||||
labels: deployment
|
||||
assignees: ""
|
||||
|
||||
6
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest a new idea, feature, or improvement for AdventureLog
|
||||
about: Suggest a new idea, feature, or improvement for Voyage
|
||||
title: "[REQUEST] <short description>"
|
||||
labels: enhancement
|
||||
assignees: ""
|
||||
@@ -20,7 +20,7 @@ Is your request related to a specific problem?
|
||||
## 🛠️ Proposed Solution
|
||||
|
||||
Describe the solution you’d like.
|
||||
What should AdventureLog do differently?
|
||||
What should Voyage do differently?
|
||||
|
||||
## 🔄 Alternatives Considered
|
||||
|
||||
@@ -36,4 +36,4 @@ Any other details that might help us understand the request (use cases, user sto
|
||||
|
||||
---
|
||||
|
||||
✨ Thanks for suggesting improvements to AdventureLog! Your ideas help shape the future of the project.
|
||||
✨ Thanks for suggesting improvements to Voyage! Your ideas help shape the future of the project.
|
||||
|
||||
10
.github/copilot-instructions.md
vendored
@@ -1,6 +1,6 @@
|
||||
# AdventureLog Development Instructions
|
||||
# Voyage Development Instructions
|
||||
|
||||
AdventureLog is a self-hosted travel companion web application built with SvelteKit frontend and Django backend, deployed via Docker.
|
||||
Voyage is a self-hosted travel companion web application built with SvelteKit frontend and Django backend, deployed via Docker.
|
||||
|
||||
**ALWAYS follow these instructions first and fallback to search or bash commands only when you encounter unexpected information that does not match the info here.**
|
||||
|
||||
@@ -76,7 +76,7 @@ Run these commands in order:
|
||||
|
||||
### Repository Structure
|
||||
```
|
||||
AdventureLog/
|
||||
Voyage/
|
||||
├── frontend/ # SvelteKit web application
|
||||
│ ├── src/ # Source code
|
||||
│ ├── package.json # Node.js dependencies and scripts
|
||||
@@ -87,7 +87,7 @@ AdventureLog/
|
||||
│ └── requirements.txt # Python dependencies
|
||||
├── docker-compose.yml # Main deployment configuration
|
||||
├── .env.example # Environment template
|
||||
└── install_adventurelog.sh # Production installer
|
||||
└── install_voyage.sh # Production installer
|
||||
```
|
||||
|
||||
### Key Scripts and Files
|
||||
@@ -98,7 +98,7 @@ AdventureLog/
|
||||
|
||||
### Development vs Production
|
||||
- **Development**: Use `docker compose up -d` with .env file
|
||||
- **Production**: Use `./install_adventurelog.sh` installer script
|
||||
- **Production**: Use `./install_voyage.sh` installer script
|
||||
- **CI/CD**: GitHub Actions in `.github/workflows/` handle testing and deployment
|
||||
|
||||
### Common Error Patterns
|
||||
|
||||
2
.github/workflows/backend-beta.yml
vendored
@@ -12,7 +12,7 @@ on:
|
||||
- "backend/**"
|
||||
|
||||
env:
|
||||
IMAGE_NAME: "adventurelog-backend"
|
||||
IMAGE_NAME: "voyage-backend"
|
||||
|
||||
jobs:
|
||||
upload:
|
||||
|
||||
2
.github/workflows/backend-latest.yml
vendored
@@ -12,7 +12,7 @@ on:
|
||||
- "backend/**"
|
||||
|
||||
env:
|
||||
IMAGE_NAME: "adventurelog-backend"
|
||||
IMAGE_NAME: "voyage-backend"
|
||||
|
||||
jobs:
|
||||
upload:
|
||||
|
||||
2
.github/workflows/backend-release.yml
vendored
@@ -9,7 +9,7 @@ on:
|
||||
types: [released]
|
||||
|
||||
env:
|
||||
IMAGE_NAME: "adventurelog-backend"
|
||||
IMAGE_NAME: "voyage-backend"
|
||||
|
||||
jobs:
|
||||
upload:
|
||||
|
||||
2
.github/workflows/cdn-beta.yml
vendored
@@ -12,7 +12,7 @@ on:
|
||||
- "cdn/**"
|
||||
|
||||
env:
|
||||
IMAGE_NAME: "adventurelog-cdn"
|
||||
IMAGE_NAME: "voyage-cdn"
|
||||
|
||||
jobs:
|
||||
upload:
|
||||
|
||||
2
.github/workflows/cdn-latest.yml
vendored
@@ -12,7 +12,7 @@ on:
|
||||
- "cdn/**"
|
||||
|
||||
env:
|
||||
IMAGE_NAME: "adventurelog-cdn"
|
||||
IMAGE_NAME: "voyage-cdn"
|
||||
|
||||
jobs:
|
||||
upload:
|
||||
|
||||
2
.github/workflows/cdn-release.yml
vendored
@@ -9,7 +9,7 @@ on:
|
||||
types: [released]
|
||||
|
||||
env:
|
||||
IMAGE_NAME: "adventurelog-cdn"
|
||||
IMAGE_NAME: "voyage-cdn"
|
||||
|
||||
jobs:
|
||||
upload:
|
||||
|
||||
2
.github/workflows/frontend-beta.yml
vendored
@@ -12,7 +12,7 @@ on:
|
||||
- "frontend/**"
|
||||
|
||||
env:
|
||||
IMAGE_NAME: "adventurelog-frontend"
|
||||
IMAGE_NAME: "voyage-frontend"
|
||||
|
||||
jobs:
|
||||
upload:
|
||||
|
||||
2
.github/workflows/frontend-latest.yml
vendored
@@ -12,7 +12,7 @@ on:
|
||||
- "frontend/**"
|
||||
|
||||
env:
|
||||
IMAGE_NAME: "adventurelog-frontend"
|
||||
IMAGE_NAME: "voyage-frontend"
|
||||
|
||||
jobs:
|
||||
upload:
|
||||
|
||||
2
.github/workflows/frontend-release.yml
vendored
@@ -9,7 +9,7 @@ on:
|
||||
types: [released]
|
||||
|
||||
env:
|
||||
IMAGE_NAME: "adventurelog-frontend"
|
||||
IMAGE_NAME: "voyage-frontend"
|
||||
|
||||
jobs:
|
||||
upload:
|
||||
|
||||
8
.github/workflows/trivy_security_scans.yml
vendored
@@ -57,15 +57,15 @@ jobs:
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build backend Docker image
|
||||
run: docker build -t adventurelog-backend ./backend
|
||||
run: docker build -t voyage-backend ./backend
|
||||
|
||||
- name: Build frontend Docker image
|
||||
run: docker build -t adventurelog-frontend ./frontend
|
||||
run: docker build -t voyage-frontend ./frontend
|
||||
|
||||
- name: Scan backend Docker image with Trivy
|
||||
uses: aquasecurity/trivy-action@master
|
||||
with:
|
||||
image-ref: adventurelog-backend
|
||||
image-ref: voyage-backend
|
||||
format: table
|
||||
exit-code: 1
|
||||
ignore-unfixed: true
|
||||
@@ -75,7 +75,7 @@ jobs:
|
||||
- name: Scan frontend Docker image with Trivy
|
||||
uses: aquasecurity/trivy-action@master
|
||||
with:
|
||||
image-ref: adventurelog-frontend
|
||||
image-ref: voyage-frontend
|
||||
format: table
|
||||
exit-code: 1
|
||||
ignore-unfixed: true
|
||||
|
||||
BIN
.megamemory/knowledge.db
Normal file
BIN
.megamemory/knowledge.db-shm
Normal file
0
.megamemory/knowledge.db-wal
Normal file
@@ -1,6 +1,6 @@
|
||||
# Contributing to AdventureLog
|
||||
# Contributing to Voyage
|
||||
|
||||
We’re excited to have you contribute to AdventureLog! To ensure that this community remains welcoming and productive for all users and developers, please follow this simple Code of Conduct.
|
||||
We’re excited to have you contribute to Voyage! To ensure that this community remains welcoming and productive for all users and developers, please follow this simple Code of Conduct.
|
||||
|
||||
## Pull Request Process
|
||||
|
||||
@@ -14,7 +14,7 @@ We’re excited to have you contribute to AdventureLog! To ensure that this comm
|
||||
|
||||
### Our Pledge
|
||||
|
||||
At AdventureLog, we are committed to creating a community that fosters adventure, exploration, and innovation. We encourage diverse participation and strive to maintain a space where everyone feels welcome to contribute, regardless of their background or experience level. We ask that you contribute with respect and kindness, making sure to prioritize collaboration and mutual growth.
|
||||
At Voyage, we are committed to creating a community that fosters adventure, exploration, and innovation. We encourage diverse participation and strive to maintain a space where everyone feels welcome to contribute, regardless of their background or experience level. We ask that you contribute with respect and kindness, making sure to prioritize collaboration and mutual growth.
|
||||
|
||||
### Our Standards
|
||||
|
||||
@@ -23,7 +23,7 @@ In order to maintain a positive environment, we encourage the following behavior
|
||||
- **Inclusivity**: Use welcoming and inclusive language that fosters collaboration across all perspectives and experiences.
|
||||
- **Respect**: Respect differing opinions and engage with empathy, understanding that each person’s perspective is valuable.
|
||||
- **Constructive Feedback**: Offer feedback that helps improve the project and allows contributors to grow from it.
|
||||
- **Adventure Spirit**: Bring the same sense of curiosity, discovery, and positivity that drives AdventureLog into all interactions with the community.
|
||||
- **Adventure Spirit**: Bring the same sense of curiosity, discovery, and positivity that drives Voyage into all interactions with the community.
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
@@ -35,18 +35,18 @@ Examples of unacceptable behavior include:
|
||||
|
||||
### Our Responsibilities
|
||||
|
||||
As maintainers of AdventureLog, we are committed to enforcing this Code of Conduct and taking corrective action when necessary. This may involve moderating comments, pulling code, or banning users who engage in harmful behaviors.
|
||||
As maintainers of Voyage, we are committed to enforcing this Code of Conduct and taking corrective action when necessary. This may involve moderating comments, pulling code, or banning users who engage in harmful behaviors.
|
||||
|
||||
We strive to foster a community that balances open collaboration with respect for all contributors.
|
||||
|
||||
### Scope
|
||||
|
||||
This Code of Conduct applies in all spaces related to AdventureLog. This includes our GitHub repository, discussions, documentation, social media accounts, and events—both online and in person.
|
||||
This Code of Conduct applies in all spaces related to Voyage. This includes our GitHub repository, discussions, documentation, social media accounts, and events—both online and in person.
|
||||
|
||||
### Enforcement
|
||||
|
||||
If you experience or witness unacceptable behavior, please report it to the project team at `contact@adventurelog.app`. All reports will be confidential and handled swiftly. The maintainers will investigate the issue and take appropriate action as needed.
|
||||
If you experience or witness unacceptable behavior, please report it to the project team at `contact@voyage.app`. All reports will be confidential and handled swiftly. The maintainers will investigate the issue and take appropriate action as needed.
|
||||
|
||||
### Attribution
|
||||
|
||||
This Code of Conduct is inspired by the [Contributor Covenant](http://contributor-covenant.org), version 1.4, and adapted to fit the unique spirit of AdventureLog.
|
||||
This Code of Conduct is inspired by the [Contributor Covenant](http://contributor-covenant.org), version 1.4, and adapted to fit the unique spirit of Voyage.
|
||||
|
||||
41
README.md
@@ -1,21 +1,15 @@
|
||||
<div align="center">
|
||||
|
||||
<img src="brand/adventurelog.png" alt="logo" width="200" height="auto" />
|
||||
<h1>AdventureLog</h1>
|
||||
<img src="brand/voyage.png" alt="logo" width="200" height="auto" />
|
||||
<h1>Voyage</h1>
|
||||
|
||||
<p>
|
||||
The ultimate travel companion for the modern-day explorer.
|
||||
</p>
|
||||
|
||||
<h4>
|
||||
<a href="https://demo.adventurelog.app">View Demo</a>
|
||||
<span> · </span>
|
||||
<a href="https://adventurelog.app">Documentation</a>
|
||||
<span> · </span>
|
||||
<a href="https://discord.gg/wRbQ9Egr8C">Discord</a>
|
||||
<span> · </span>
|
||||
<a href="https://buymeacoffee.com/seanmorley15">Support 💖</a>
|
||||
</h4>
|
||||
|
||||
<p>
|
||||
<strong>A fork of <a href="https://github.com/seanmorley15/AdventureLog">AdventureLog</a> by Sean Morley.</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
@@ -39,9 +33,11 @@
|
||||
|
||||
## ⭐ About the Project
|
||||
|
||||
Starting from a simple idea of tracking travel locations, AdventureLog has grown into a full-fledged travel companion. With AdventureLog, you can log your adventures, keep track of where you've been on the world map, plan your next trip collaboratively, and share your experiences with friends and family.
|
||||
> **Voyage is a fork of [AdventureLog](https://github.com/seanmorley15/AdventureLog)**, the open-source travel companion created by [Sean Morley](https://seanmorley.com). This fork builds on top of AdventureLog's foundation to make additional changes and improvements.
|
||||
|
||||
AdventureLog was created to solve a problem: the lack of a modern, open-source, user-friendly travel companion. Many existing travel apps are either too complex, too expensive, or too closed-off to be useful for the average traveler. AdventureLog aims to be the opposite: simple, beautiful, and open to everyone.
|
||||
Starting from a simple idea of tracking travel locations, Voyage is a full-fledged travel companion. With Voyage, you can log your adventures, keep track of where you've been on the world map, plan your next trip collaboratively, and share your experiences with friends and family.
|
||||
|
||||
Voyage aims to be simple, beautiful, and open to everyone — inheriting AdventureLog's commitment to being a modern, open-source, user-friendly alternative to overly complex or expensive travel apps.
|
||||
|
||||
<!-- Screenshots -->
|
||||
|
||||
@@ -105,21 +101,21 @@ AdventureLog was created to solve a problem: the lack of a modern, open-source,
|
||||
- Itineraries include many planning features like flight information, notes, checklists, and links to external resources.
|
||||
- Itineraries can be shared with friends and family for collaborative planning.
|
||||
- **Share Your Experiences** 📸: Share your adventures with friends and family and collaborate on trips together.
|
||||
- Locations and itineraries can be shared via a public link or directly with other AdventureLog users.
|
||||
- Locations and itineraries can be shared via a public link or directly with other Voyage users.
|
||||
- Collaborators can view and edit shared itineraries (collections), making planning a breeze.
|
||||
|
||||
<!-- Roadmap -->
|
||||
|
||||
## 🧭 Roadmap
|
||||
|
||||
The AdventureLog Roadmap can be found [here](https://github.com/users/seanmorley15/projects/5)
|
||||
The Voyage Roadmap can be found [here](https://github.com/users/seanmorley15/projects/5)
|
||||
|
||||
<!-- Contributing -->
|
||||
|
||||
## 👋 Contributing
|
||||
|
||||
<a href="https://github.com/seanmorley15/AdventureLog/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=seanmorley15/AdventureLog" />
|
||||
<a href="https://github.com/seanmorley15/Voyage/graphs/contributors">
|
||||
<img src="https://contrib.rocks/image?repo=seanmorley15/Voyage" />
|
||||
</a>
|
||||
|
||||
Contributions are always welcome!
|
||||
@@ -128,10 +124,10 @@ See `contributing.md` for ways to get started.
|
||||
|
||||
### Translation
|
||||
|
||||
AdventureLog is available on [Weblate](https://hosted.weblate.org/projects/adventurelog/). If you would like to help translate AdventureLog into your language, please visit the link and contribute!
|
||||
Voyage is available on [Weblate](https://hosted.weblate.org/projects/voyage/). If you would like to help translate Voyage into your language, please visit the link and contribute!
|
||||
|
||||
<a href="https://hosted.weblate.org/engage/adventurelog/">
|
||||
<img src="https://hosted.weblate.org/widget/adventurelog/multi-auto.svg" alt="Translation status" />
|
||||
<a href="https://hosted.weblate.org/engage/voyage/">
|
||||
<img src="https://hosted.weblate.org/widget/voyage/multi-auto.svg" alt="Translation status" />
|
||||
</a>
|
||||
|
||||
<!-- License -->
|
||||
@@ -146,12 +142,13 @@ Distributed under the GNU General Public License v3.0. See `LICENSE` for more in
|
||||
|
||||
Sean Morley - [website](https://seanmorley.com)
|
||||
|
||||
Hi! I'm Sean, the creator of AdventureLog. I'm a college student and software developer with a passion for travel and adventure. I created AdventureLog to help people like me document their adventures and plan new ones effortlessly. As a student, I am always looking for more opportunities to learn and grow, so feel free to reach out via the contact on my website if you would like to collaborate or chat!
|
||||
Hi! I'm Sean, the creator of Voyage. I'm a college student and software developer with a passion for travel and adventure. I created Voyage to help people like me document their adventures and plan new ones effortlessly. As a student, I am always looking for more opportunities to learn and grow, so feel free to reach out via the contact on my website if you would like to collaborate or chat!
|
||||
|
||||
<!-- Acknowledgments -->
|
||||
|
||||
## 💎 Acknowledgements
|
||||
|
||||
- **[AdventureLog](https://github.com/seanmorley15/AdventureLog)** — the original project this fork is based on, created by [Sean Morley](https://seanmorley.com)
|
||||
- Logo Design by [nordtektiger](https://github.com/nordtektiger)
|
||||
- WorldTravel Dataset [dr5hn/countries-states-cities-database](https://github.com/dr5hn/countries-states-cities-database)
|
||||
|
||||
|
||||
@@ -82,6 +82,6 @@ if [ $? -eq 137 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cat /code/adventurelog.txt
|
||||
cat /code/voyage.txt
|
||||
|
||||
exec "$@"
|
||||
@@ -196,6 +196,6 @@ admin.site.register(Activity, ActivityAdmin)
|
||||
admin.site.register(CollectionItineraryItem, CollectionItineraryItemAdmin)
|
||||
admin.site.register(CollectionItineraryDay)
|
||||
|
||||
admin.site.site_header = 'AdventureLog Admin'
|
||||
admin.site.site_title = 'AdventureLog Admin Site'
|
||||
admin.site.index_title = 'Welcome to AdventureLog Admin Page'
|
||||
admin.site.site_header = 'Voyage Admin'
|
||||
admin.site.site_title = 'Voyage Admin Site'
|
||||
admin.site.index_title = 'Welcome to Voyage Admin Page'
|
||||
|
||||
@@ -129,7 +129,7 @@ def _infer_addresstype(type_):
|
||||
def search_osm(query):
|
||||
try:
|
||||
url = f"https://nominatim.openstreetmap.org/search?q={query}&format=jsonv2"
|
||||
headers = {'User-Agent': 'AdventureLog Server'}
|
||||
headers = {'User-Agent': 'Voyage Server'}
|
||||
response = requests.get(url, headers=headers, timeout=(2, 5))
|
||||
response.raise_for_status()
|
||||
data = response.json()
|
||||
@@ -370,7 +370,7 @@ def reverse_geocode(lat, lon, user):
|
||||
|
||||
def reverse_geocode_osm(lat, lon, user):
|
||||
url = f"https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat={lat}&lon={lon}"
|
||||
headers = {'User-Agent': 'AdventureLog Server'}
|
||||
headers = {'User-Agent': 'Voyage Server'}
|
||||
connect_timeout = 1
|
||||
read_timeout = 5
|
||||
|
||||
|
||||
@@ -481,7 +481,7 @@ class CollectionViewSet(viewsets.ModelViewSet):
|
||||
collection = self.get_object()
|
||||
|
||||
export_data = {
|
||||
'version': getattr(settings, 'ADVENTURELOG_RELEASE_VERSION', 'unknown'),
|
||||
'version': getattr(settings, 'VOYAGE_RELEASE_VERSION', 'unknown'),
|
||||
# Omit export_date to keep template-friendly exports (no dates)
|
||||
'collection': {
|
||||
'id': str(collection.id),
|
||||
|
||||
@@ -17,7 +17,7 @@ class GenerateDescription(viewsets.ViewSet):
|
||||
|
||||
# User-Agent header required by Wikipedia API, Accept-Language patched in per request
|
||||
BASE_HEADERS = {
|
||||
'User-Agent': f'AdventureLog/{getattr(settings, "ADVENTURELOG_RELEASE_VERSION", "unknown")}'
|
||||
'User-Agent': f'Voyage/{getattr(settings, "VOYAGE_RELEASE_VERSION", "unknown")}'
|
||||
}
|
||||
DEFAULT_LANGUAGE = "en"
|
||||
LANGUAGE_PATTERN = re.compile(r"^[a-z0-9-]{2,12}$", re.IGNORECASE)
|
||||
|
||||
@@ -41,7 +41,7 @@ class BackupViewSet(viewsets.ViewSet):
|
||||
|
||||
# Build export data structure
|
||||
export_data = {
|
||||
'version': settings.ADVENTURELOG_RELEASE_VERSION,
|
||||
'version': settings.VOYAGE_RELEASE_VERSION,
|
||||
'export_date': datetime.now().isoformat(),
|
||||
'user_email': user.email,
|
||||
'user_username': user.username,
|
||||
@@ -390,7 +390,7 @@ class BackupViewSet(viewsets.ViewSet):
|
||||
# Return ZIP file as response
|
||||
with open(tmp_file.name, 'rb') as zip_file:
|
||||
response = HttpResponse(zip_file.read(), content_type='application/zip')
|
||||
filename = f"adventurelog_backup_{user.username}_{datetime.now().strftime('%Y%m%d_%H%M%S')}.zip"
|
||||
filename = f"voyage_backup_{user.username}_{datetime.now().strftime('%Y%m%d_%H%M%S')}.zip"
|
||||
response['Content-Disposition'] = f'attachment; filename="{filename}"'
|
||||
|
||||
# Clean up
|
||||
|
||||
@@ -198,7 +198,7 @@ class ContentImageViewSet(viewsets.ModelViewSet):
|
||||
return Response({"error": result}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
try:
|
||||
headers = {'User-Agent': 'AdventureLog/1.0 (Image Proxy)'}
|
||||
headers = {'User-Agent': 'Voyage/1.0 (Image Proxy)'}
|
||||
max_redirects = 3
|
||||
current_url = image_url
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ class RecommendationsViewSet(viewsets.ViewSet):
|
||||
permission_classes = [IsAuthenticated]
|
||||
OVERPASS_URL = "https://overpass-api.de/api/interpreter"
|
||||
NOMINATIM_URL = "https://nominatim.openstreetmap.org/search"
|
||||
HEADERS = {'User-Agent': 'AdventureLog Server'}
|
||||
HEADERS = {'User-Agent': 'Voyage Server'}
|
||||
|
||||
# Quality thresholds
|
||||
MIN_GOOGLE_RATING = 3.0 # Minimum rating to include
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"""
|
||||
AdventureLog Server settings
|
||||
Voyage Server settings
|
||||
|
||||
Reference:
|
||||
- Django settings: https://docs.djangoproject.com/en/stable/ref/settings/
|
||||
@@ -235,7 +235,7 @@ AUTH_USER_MODEL = 'users.CustomUser'
|
||||
ACCOUNT_ADAPTER = 'users.adapters.CustomAccountAdapter'
|
||||
INVITATIONS_ADAPTER = ACCOUNT_ADAPTER
|
||||
INVITATIONS_ACCEPT_INVITE_AFTER_SIGNUP = True
|
||||
INVITATIONS_EMAIL_SUBJECT_PREFIX = 'AdventureLog: '
|
||||
INVITATIONS_EMAIL_SUBJECT_PREFIX = 'Voyage: '
|
||||
SOCIALACCOUNT_ADAPTER = 'users.adapters.CustomSocialAccountAdapter'
|
||||
ACCOUNT_SIGNUP_FORM_CLASS = 'users.form_overrides.CustomSignupForm'
|
||||
|
||||
@@ -365,10 +365,10 @@ LOGGING = {
|
||||
# ---------------------------------------------------------------------------
|
||||
PUBLIC_URL = getenv('PUBLIC_URL', 'http://localhost:8000')
|
||||
|
||||
# ADVENTURELOG_CDN_URL = getenv('ADVENTURELOG_CDN_URL', 'https://cdn.adventurelog.app')
|
||||
# VOYAGE_CDN_URL = getenv('VOYAGE_CDN_URL', 'https://cdn.voyage.app')
|
||||
|
||||
# Major release version of AdventureLog, not including the patch version date.
|
||||
ADVENTURELOG_RELEASE_VERSION = 'v0.12.0'
|
||||
# Major release version of Voyage, not including the patch version date.
|
||||
VOYAGE_RELEASE_VERSION = 'v0.12.0'
|
||||
|
||||
# https://github.com/dr5hn/countries-states-cities-database/tags
|
||||
COUNTRY_REGION_JSON_VERSION = 'v3.0'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Periodic sync runner for AdventureLog.
|
||||
Periodic sync runner for Voyage.
|
||||
Runs sync_visited_regions management command every 60 seconds.
|
||||
Managed by supervisord to ensure it inherits container environment variables.
|
||||
"""
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="description" content="AdventureLog API Server" />
|
||||
<meta name="description" content="Voyage API Server" />
|
||||
<link rel="icon" href="/static/favicon.png" />
|
||||
<meta name="author" content="Sean Morley" />
|
||||
<title>AdventureLog API Server</title>
|
||||
<title>Voyage API Server</title>
|
||||
|
||||
<!-- Bootstrap 5 CSS -->
|
||||
<link
|
||||
@@ -66,7 +66,7 @@
|
||||
<!-- Navbar -->
|
||||
<nav class="navbar navbar-expand-lg">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" href="/">AdventureLog API</a>
|
||||
<a class="navbar-brand" href="/">Voyage API</a>
|
||||
<button
|
||||
class="navbar-toggler"
|
||||
type="button"
|
||||
@@ -81,7 +81,7 @@
|
||||
<li class="nav-item">
|
||||
<a
|
||||
class="nav-link"
|
||||
href="http://adventurelog.app"
|
||||
href="http://voyage.app"
|
||||
target="_blank"
|
||||
>
|
||||
Documentation
|
||||
@@ -90,7 +90,7 @@
|
||||
<li class="nav-item">
|
||||
<a
|
||||
class="nav-link"
|
||||
href="https://github.com/seanmorley15/AdventureLog"
|
||||
href="https://github.com/seanmorley15/Voyage"
|
||||
target="_blank"
|
||||
>
|
||||
Source Code
|
||||
@@ -107,7 +107,7 @@
|
||||
<!-- Hero Section -->
|
||||
<div class="hero">
|
||||
<div class="container">
|
||||
<h1><i class="bi bi-map"></i> AdventureLog API</h1>
|
||||
<h1><i class="bi bi-map"></i> Voyage API</h1>
|
||||
<p>
|
||||
The backend powering your travels — flexible, powerful, and open
|
||||
source.
|
||||
@@ -149,11 +149,11 @@
|
||||
<footer class="text-center text-muted py-4">
|
||||
Open source with ❤️ by
|
||||
<a href="https://seanmorley.com" target="_blank">Sean Morley</a> • View on
|
||||
<a href="https://github.com/seanmorley15/AdventureLog" target="_blank"
|
||||
<a href="https://github.com/seanmorley15/Voyage" target="_blank"
|
||||
>GitHub</a
|
||||
>
|
||||
•
|
||||
<a href="https://adventurelog.app" target="_blank">adventurelog.app</a>
|
||||
<a href="https://voyage.app" target="_blank">voyage.app</a>
|
||||
</footer>
|
||||
|
||||
<!-- Bootstrap JS -->
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{% extends "base.html" %} {% block content %}
|
||||
<!-- Main jumbotron for a primary marketing message or call to action -->
|
||||
<div class="jumbotron">
|
||||
<h1>AdventureLog API Server</h1>
|
||||
<h1>Voyage API Server</h1>
|
||||
<p>
|
||||
<a class="btn btn-primary btn-lg" href="/admin" role="button">Admin Site</a>
|
||||
<a
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>You’re Invited to AdventureLog</title>
|
||||
<title>You’re Invited to Voyage</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
@@ -65,29 +65,29 @@
|
||||
<body>
|
||||
<div class="container">
|
||||
<img
|
||||
src="https://adventurelog.app/adventurelog.png"
|
||||
alt="AdventureLog"
|
||||
src="https://voyage.app/voyage.png"
|
||||
alt="Voyage"
|
||||
class="logo"
|
||||
/>
|
||||
|
||||
<h1>You’re Invited to AdventureLog</h1>
|
||||
<h1>You’re Invited to Voyage</h1>
|
||||
|
||||
<p>Hello <strong>{{ email }}</strong>,</p>
|
||||
|
||||
<p>
|
||||
Adventure awaits! You've been invited to join
|
||||
<span class="highlight">AdventureLog</span>, the ultimate travel
|
||||
<span class="highlight">Voyage</span>, the ultimate travel
|
||||
companion to track, plan, and collaborate on your journeys.
|
||||
</p>
|
||||
<p>Hit the button below to accept your invitation and start exploring!</p>
|
||||
<p><a href="{{ invite_url }}" class="button">Join AdventureLog</a></p>
|
||||
<p><a href="{{ invite_url }}" class="button">Join Voyage</a></p>
|
||||
|
||||
<div class="footer">
|
||||
You’re receiving this email because someone invited you to join
|
||||
AdventureLog.<br />
|
||||
Voyage.<br />
|
||||
If you weren’t expecting this invitation, you can safely ignore this
|
||||
email.<br /><br />
|
||||
© 2023–2026 AdventureLog
|
||||
© 2023–2026 Voyage
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This script will create a backup of the adventurelog_media volume and store it in the current directory as adventurelog-backup.tar.gz
|
||||
# This script will create a backup of the voyage_media volume and store it in the current directory as voyage-backup.tar.gz
|
||||
|
||||
docker run --rm \
|
||||
-v adventurelog_adventurelog_media:/backup-volume \
|
||||
-v voyage_voyage_media:/backup-volume \
|
||||
-v "$(pwd)":/backup \
|
||||
busybox \
|
||||
tar -zcvf /backup/adventurelog-backup.tar.gz /backup-volume
|
||||
tar -zcvf /backup/voyage-backup.tar.gz /backup-volume
|
||||
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
@@ -1,3 +1,3 @@
|
||||
This folder contains the scripts to generate AdventureLOG CDN files.
|
||||
This folder contains the scripts to generate Voyage CDN files.
|
||||
|
||||
Special thanks to [@larsl-net](https://github.com/larsl-net) for the GeoJSON generation script.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
cdn:
|
||||
build: .
|
||||
container_name: adventurelog-cdn
|
||||
container_name: voyage-cdn
|
||||
ports:
|
||||
- "8080:80"
|
||||
restart: unless-stopped
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Any setup tasks or checks can go here (if needed)
|
||||
echo "AdventureLog CDN has started!"
|
||||
echo "Refer to the documentation for information about connecting your AdventureLog instance to this CDN."
|
||||
echo "Voyage CDN has started!"
|
||||
echo "Refer to the documentation for information about connecting your Voyage instance to this CDN."
|
||||
echo "Thanks to our data providers for making this possible! You can find them on the CDN site."
|
||||
|
||||
# Start Nginx in the foreground (as the main process)
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="https://adventurelog.app/adventurelog.png" />
|
||||
<link rel="icon" href="https://voyage.app/voyage.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>AdventureLog CDN</title>
|
||||
<title>Voyage CDN</title>
|
||||
<link
|
||||
href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css"
|
||||
rel="stylesheet"
|
||||
@@ -36,21 +36,21 @@
|
||||
<body>
|
||||
<div class="hero-container">
|
||||
<div>
|
||||
<h1 class="fw-bold">Welcome to the AdventureLog CDN</h1>
|
||||
<h1 class="fw-bold">Welcome to the Voyage CDN</h1>
|
||||
<p class="fs-5">
|
||||
This is a content delivery network for the AdventureLog project. You
|
||||
This is a content delivery network for the Voyage project. You
|
||||
can browse the content by clicking the button below.
|
||||
</p>
|
||||
<a href="/data/" class="btn btn-light btn-lg fw-bold">Browse Content</a>
|
||||
</div>
|
||||
<div class="container mt-5">
|
||||
<h2 class="fw-bold">About AdventureLog</h2>
|
||||
<h2 class="fw-bold">About Voyage</h2>
|
||||
<p class="fs-5">
|
||||
AdventureLog is a project that aims to provide a platform for users to
|
||||
Voyage is a project that aims to provide a platform for users to
|
||||
log their adventures and share them with the world. The project is
|
||||
developed by <a href="https://seanmorley.com">Sean Morley</a> and is
|
||||
open source. View it on GitHub here:
|
||||
<a href="https://github.com/seanmorley15/AdventureLog">AdventureLog</a
|
||||
<a href="https://github.com/seanmorley15/Voyage">Voyage</a
|
||||
>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ import json
|
||||
import os
|
||||
|
||||
# The version of the CDN, this should be updated when the CDN data is updated so the client can check if it has the latest version
|
||||
ADVENTURELOG_CDN_VERSION = 'v0.0.1'
|
||||
VOYAGE_CDN_VERSION = 'v0.0.1'
|
||||
|
||||
# https://github.com/dr5hn/countries-states-cities-database/tags
|
||||
COUNTRY_REGION_JSON_VERSION = 'v2.5' # Test on past and latest versions to ensure that the data schema is consistent before updating
|
||||
@@ -22,7 +22,7 @@ def saveCdnVersion():
|
||||
"""
|
||||
path = os.path.join(os.path.dirname(__file__), 'data', 'version.json')
|
||||
with open(path, 'w') as f:
|
||||
json.dump({'version': ADVENTURELOG_CDN_VERSION}, f)
|
||||
json.dump({'version': VOYAGE_CDN_VERSION}, f)
|
||||
print('CDN Version saved')
|
||||
|
||||
def downloadCountriesStateCities():
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# This script is used to deploy the latest version of AdventureLog to the server. It pulls the latest version of the Docker images and starts the containers. It is a simple script that can be run on the server, possibly as a cron job, to keep the server up to date with the latest version of the application.
|
||||
# This script is used to deploy the latest version of Voyage to the server. It pulls the latest version of the Docker images and starts the containers. It is a simple script that can be run on the server, possibly as a cron job, to keep the server up to date with the latest version of the application.
|
||||
|
||||
echo "Deploying latest version of AdventureLog"
|
||||
echo "Deploying latest version of Voyage"
|
||||
docker compose pull
|
||||
echo "Stating containers"
|
||||
docker compose up -d
|
||||
echo "All set!"
|
||||
docker logs adventurelog-backend --follow
|
||||
docker logs voyage-backend --follow
|
||||
@@ -31,22 +31,22 @@ services:
|
||||
- postgres-data:/var/lib/postgresql/data/
|
||||
|
||||
web:
|
||||
image: ghcr.io/seanmorley15/adventurelog-frontend:latest
|
||||
image: ghcr.io/seanmorley15/voyage-frontend:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
PUBLIC_SERVER_URL: "http://server:8000"
|
||||
BODY_SIZE_LIMIT: "100000"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.adventurelogweb.entrypoints=websecure"
|
||||
- "traefik.http.routers.adventurelogweb.rule=Host(`yourdomain.com`) && !(PathPrefix(`/media`) || PathPrefix(`/admin`) || PathPrefix(`/static`) || PathPrefix(`/accounts`))" # Replace with your domain
|
||||
- "traefik.http.routers.adventurelogweb.tls=true"
|
||||
- "traefik.http.routers.adventurelogweb.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.voyageweb.entrypoints=websecure"
|
||||
- "traefik.http.routers.voyageweb.rule=Host(`yourdomain.com`) && !(PathPrefix(`/media`) || PathPrefix(`/admin`) || PathPrefix(`/static`) || PathPrefix(`/accounts`))" # Replace with your domain
|
||||
- "traefik.http.routers.voyageweb.tls=true"
|
||||
- "traefik.http.routers.voyageweb.tls.certresolver=letsencrypt"
|
||||
depends_on:
|
||||
- server
|
||||
|
||||
server:
|
||||
image: ghcr.io/seanmorley15/adventurelog-backend:latest
|
||||
image: ghcr.io/seanmorley15/voyage-backend:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
PGHOST: "db"
|
||||
@@ -56,23 +56,23 @@ services:
|
||||
SECRET_KEY: your_secret_key # Replace with the actual secret key
|
||||
DJANGO_ADMIN_USERNAME: "admin"
|
||||
DJANGO_ADMIN_PASSWORD: your_admin_password # Replace with the actual admin password
|
||||
DJANGO_ADMIN_EMAIL: "adventurelog-admin@yourdomain.com" # Replace with your email
|
||||
DJANGO_ADMIN_EMAIL: "voyage-admin@yourdomain.com" # Replace with your email
|
||||
PUBLIC_URL: "https://yourdomain.com" # Replace with your domain
|
||||
CSRF_TRUSTED_ORIGINS: "https://yourdomain.com" # Replace with your domain
|
||||
DEBUG: "false"
|
||||
FRONTEND_URL: "https://yourdomain.com" # Replace with your domain
|
||||
volumes:
|
||||
- adventurelog-media:/code/media
|
||||
- voyage-media:/code/media
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.adventurelogserver.entrypoints=websecure"
|
||||
- "traefik.http.routers.adventurelogserver.rule=Host(`yourdomain.com`) && (PathPrefix(`/media`) || PathPrefix(`/admin`) || PathPrefix(`/static`) || PathPrefix(`/accounts`))" # Replace with your domain
|
||||
- "traefik.http.routers.adventurelogserver.tls=true"
|
||||
- "traefik.http.routers.adventurelogserver.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.voyageserver.entrypoints=websecure"
|
||||
- "traefik.http.routers.voyageserver.rule=Host(`yourdomain.com`) && (PathPrefix(`/media`) || PathPrefix(`/admin`) || PathPrefix(`/static`) || PathPrefix(`/accounts`))" # Replace with your domain
|
||||
- "traefik.http.routers.voyageserver.tls=true"
|
||||
- "traefik.http.routers.voyageserver.tls.certresolver=letsencrypt"
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
adventurelog-media:
|
||||
voyage-media:
|
||||
traefik-letsencrypt:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
services:
|
||||
web:
|
||||
build: ./frontend/
|
||||
image: ghcr.io/seanmorley15/adventurelog-frontend:latest
|
||||
container_name: adventurelog-frontend
|
||||
image: ghcr.io/seanmorley15/voyage-frontend:latest
|
||||
container_name: voyage-frontend
|
||||
restart: unless-stopped
|
||||
user: root
|
||||
env_file: .env
|
||||
@@ -20,7 +20,7 @@ services:
|
||||
|
||||
db:
|
||||
image: postgis/postgis:16-3.5
|
||||
container_name: adventurelog-db
|
||||
container_name: voyage-db
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
volumes:
|
||||
@@ -28,8 +28,8 @@ services:
|
||||
|
||||
server:
|
||||
build: ./backend/
|
||||
image: ghcr.io/seanmorley15/adventurelog-backend:latest
|
||||
container_name: adventurelog-backend
|
||||
image: ghcr.io/seanmorley15/voyage-backend:latest
|
||||
container_name: voyage-backend
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
environment:
|
||||
@@ -42,7 +42,7 @@ services:
|
||||
- db
|
||||
volumes:
|
||||
- ./backend/server:/code
|
||||
- adventurelog_media:/code/media/
|
||||
- voyage_media:/code/media/
|
||||
command: >
|
||||
sh -c "memcached -u nobody -m 64 -p 11211 -d;
|
||||
until pg_isready -h db -p 5432 >/dev/null 2>&1; do sleep 1; done;
|
||||
@@ -55,5 +55,5 @@ services:
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
adventurelog_media:
|
||||
voyage_media:
|
||||
pnpm_store:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
services:
|
||||
web:
|
||||
#build: ./frontend/
|
||||
image: ghcr.io/seanmorley15/adventurelog-frontend:latest
|
||||
container_name: adventurelog-frontend
|
||||
image: ghcr.io/seanmorley15/voyage-frontend:latest
|
||||
container_name: voyage-frontend
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
ports:
|
||||
@@ -12,7 +12,7 @@ services:
|
||||
|
||||
db:
|
||||
image: postgis/postgis:16-3.5
|
||||
container_name: adventurelog-db
|
||||
container_name: voyage-db
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
volumes:
|
||||
@@ -20,8 +20,8 @@ services:
|
||||
|
||||
server:
|
||||
#build: ./backend/
|
||||
image: ghcr.io/seanmorley15/adventurelog-backend:latest
|
||||
container_name: adventurelog-backend
|
||||
image: ghcr.io/seanmorley15/voyage-backend:latest
|
||||
container_name: voyage-backend
|
||||
restart: unless-stopped
|
||||
env_file: .env
|
||||
ports:
|
||||
@@ -29,8 +29,8 @@ services:
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- adventurelog_media:/code/media/
|
||||
- voyage_media:/code/media/
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
adventurelog_media:
|
||||
voyage_media:
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# AdventureLog: Development Timeline & Origin Story
|
||||
# Voyage: Development Timeline & Origin Story
|
||||
|
||||
By: Sean Morley, Founder & Lead Developer
|
||||
|
||||
This is the timeline of **how AdventureLog came to be, how it kept surviving my terrible early design choices, and how it slowly learned to be useful**. I wrote this as a detailed, phase-by-phase story so contributors, users, and future-me can see what decisions were made, why, and what problems we hit (and fixed) along the way.
|
||||
This is the timeline of **how Voyage came to be, how it kept surviving my terrible early design choices, and how it slowly learned to be useful**. I wrote this as a detailed, phase-by-phase story so contributors, users, and future-me can see what decisions were made, why, and what problems we hit (and fixed) along the way.
|
||||
|
||||
> TL;DR: started as _NextVenture_, learned web dev the hard way, resurrected as _AdventureLog_, switched stacks twice, survived an chaotic Reddit launch, grew through community requests, and today the project is very much alive.
|
||||
> TL;DR: started as _NextVenture_, learned web dev the hard way, resurrected as _Voyage_, switched stacks twice, survived an chaotic Reddit launch, grew through community requests, and today the project is very much alive.
|
||||
|
||||
## Quick roadmap
|
||||
|
||||
- **Phase 0 — Ideation & Prototyping:** March 2023 → July 2023
|
||||
The seed. Lots of learning, lots of scrapped prototypes.
|
||||
- **Phase 1 — AdventureLog, SvelteKit roots:** March 2024 → July 2024
|
||||
- **Phase 1 — Voyage, SvelteKit roots:** March 2024 → July 2024
|
||||
Frontend-first, local-storage MVP, severe Docker struggles, file storage chaos, MinIO pain.
|
||||
- **Phase 2 — Django saves the day:** July 2024 → August 2024
|
||||
Backend matured quickly; REST API, Django admin, file storage sanity.
|
||||
@@ -38,14 +38,14 @@ This phase was basically me being excited, naive, and wildly optimistic.
|
||||
|
||||
### Small but important pivots
|
||||
|
||||
- While on break I renamed the project to **AdventureLog** — it felt better, cleaner, and more fitting than the working title.
|
||||
- While on break I renamed the project to **Voyage** — it felt better, cleaner, and more fitting than the working title.
|
||||
- I played with tiny experiments, tested UI ideas, and tried different stacks mentally so the next attempt wouldn’t be purely guesswork. I was very intrested in the project just lacking the right technical foundation.
|
||||
|
||||
### Takeaway
|
||||
|
||||
Phase 0 was less about shipping and more about surviving the learning curve. The project’s DNA (places, visits, memories) was clear; I just needed the right tools and patience to implement it.
|
||||
|
||||
## Phase 1 — Initial Development of AdventureLog (SvelteKit era)
|
||||
## Phase 1 — Initial Development of Voyage (SvelteKit era)
|
||||
|
||||
**Dates:** March 2024 — July 2024
|
||||
**Versions:** v0.1.0-alpha → v0.3.1
|
||||
@@ -108,12 +108,12 @@ After the SvelteKit experiment I rewired the backend into Django + Django REST F
|
||||
|
||||
Switching to Django was the right move, it reduced friction, sped up backend feature development, and made the application more maintainable.
|
||||
|
||||
## Phase 3 — Defining AdventureLog & Community-Guided Growth
|
||||
## Phase 3 — Defining Voyage & Community-Guided Growth
|
||||
|
||||
**Dates:** September 2024 — June 2025
|
||||
**Versions:** v0.7.0 → v0.10.0
|
||||
|
||||
This phase is about defining the product: what is AdventureLog, what is it not, and how do we make it useful for other people?
|
||||
This phase is about defining the product: what is Voyage, what is it not, and how do we make it useful for other people?
|
||||
|
||||
### Core feature evolution
|
||||
|
||||
@@ -125,17 +125,17 @@ This phase is about defining the product: what is AdventureLog, what is it not,
|
||||
### UX polish & identity
|
||||
|
||||
- Logo: I swapped out the placeholder Windows map emoji for a proper logo designed by a friend (thanks, Jacob!). It made the app look more “real” and brandable.
|
||||
- Localization: Frontend got translations to make AdventureLog accessible to more users.
|
||||
- Localization: Frontend got translations to make Voyage accessible to more users.
|
||||
- Calendar view: added a calendar to visualize trips over time, another highly requested feature.
|
||||
|
||||
### Integrations & polish
|
||||
|
||||
- **Immich integration** (huge win): Sync photos from Immich to AdventureLog adventures. This solved the “where do my travel photos live?” problem for many self-hosters and reduced friction for users who already had an Immich instance.
|
||||
- **Immich integration** (huge win): Sync photos from Immich to Voyage adventures. This solved the “where do my travel photos live?” problem for many self-hosters and reduced friction for users who already had an Immich instance.
|
||||
- **Backend optimizations:** performance tweaks, PWA support, OIDC support for enterprise-friendly auth, and other server configurability options.
|
||||
|
||||
### Community milestones
|
||||
|
||||
- Docker image downloads crossed **100K** — a concrete, surreal milestone. GitHub stars crossed **1K** shortly after. These numbers matter because they mean people are using and relying on AdventureLog.
|
||||
- Docker image downloads crossed **100K** — a concrete, surreal milestone. GitHub stars crossed **1K** shortly after. These numbers matter because they mean people are using and relying on Voyage.
|
||||
- Collections received “smart recommendations” — algorithmic suggestions for new locations to add to a collection based on existing entries. This added a bit of discovery and delight.
|
||||
|
||||
### Ops & deployment improvements
|
||||
@@ -144,7 +144,7 @@ This phase is about defining the product: what is AdventureLog, what is it not,
|
||||
|
||||
### Takeaway
|
||||
|
||||
Phase 3 is where AdventureLog stopped being “my little project” and started becoming a community-shaped tool. The roadmap was heavily guided by user requests, and that made the app both more useful and more fun to build.
|
||||
Phase 3 is where Voyage stopped being “my little project” and started becoming a community-shaped tool. The roadmap was heavily guided by user requests, and that made the app both more useful and more fun to build.
|
||||
|
||||
## Phase 4 — Solidification & Expansion of the Core Platform
|
||||
|
||||
@@ -179,7 +179,7 @@ Now the project focuses on _polish, robustness, and expanding the core platform_
|
||||
|
||||
### Takeaway
|
||||
|
||||
This phase is about turning AdventureLog from “a promising tool” into “a dependable tool.” It’s less about big rewrites and more about incremental, meaningful improvements.
|
||||
This phase is about turning Voyage from “a promising tool” into “a dependable tool.” It’s less about big rewrites and more about incremental, meaningful improvements.
|
||||
|
||||
## Lessons, patterns, and a few thoughts
|
||||
|
||||
@@ -193,16 +193,16 @@ This phase is about turning AdventureLog from “a promising tool” into “a d
|
||||
- UUIDs as primary keys were scary, but doing it early saved headaches. Plan big breaking changes early; avoid them once people rely on your software.
|
||||
|
||||
4. **Simplicity wins in deployment**
|
||||
- Removing extra containers and simplifying deployment options made AdventureLog more approachable for hobbyist hosts — which is the core audience.
|
||||
- Removing extra containers and simplifying deployment options made Voyage more approachable for hobbyist hosts — which is the core audience.
|
||||
|
||||
5. **Iterate visibly**
|
||||
- Small, visible wins (better login flow, calendar, Immich sync) build momentum and community trust.
|
||||
|
||||
## Current state & what’s next
|
||||
|
||||
AdventureLog is alive, maintained, and focused on being the best self-hosted travel app it can be: accessible, performant, and useful for trip planning and personal travel history.
|
||||
Voyage is alive, maintained, and focused on being the best self-hosted travel app it can be: accessible, performant, and useful for trip planning and personal travel history.
|
||||
|
||||
Writing this made me realize how much of AdventureLog’s identity came from mistakes, feedback, and stubbornness. It’s the result of learning, throwing away things that didn’t work, embracing tools that did, and listening to people who actually used it. I’m proud of how it’s evolved and excited for the next phase.
|
||||
Writing this made me realize how much of Voyage’s identity came from mistakes, feedback, and stubbornness. It’s the result of learning, throwing away things that didn’t work, embracing tools that did, and listening to people who actually used it. I’m proud of how it’s evolved and excited for the next phase.
|
||||
|
||||
If you made it this far: thanks. If you want to help — issues, PRs, ideas, or design feedback are always welcome. The project is alive because of an amazing community of users and contributors!
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# AdventureLog v0.10.0 - Trip Maps, Google Maps Integration & Quick Deploy Script
|
||||
# Voyage v0.10.0 - Trip Maps, Google Maps Integration & Quick Deploy Script
|
||||
|
||||
Released 06-10-2025
|
||||
|
||||
Hi everyone,
|
||||
|
||||
I’m pleased to share **AdventureLog v0.10.0**, a focused update that brings timezone-aware planning, smoother maps, and simpler deployment. This release refines many of the core features you’ve been using and addresses feedback from the community. Thank you for your contributions, suggestions, and ongoing support!
|
||||
I’m pleased to share **Voyage v0.10.0**, a focused update that brings timezone-aware planning, smoother maps, and simpler deployment. This release refines many of the core features you’ve been using and addresses feedback from the community. Thank you for your contributions, suggestions, and ongoing support!
|
||||
|
||||
## 🧭 Time-Aware Travel Planning
|
||||
|
||||
@@ -45,7 +45,7 @@ I’m pleased to share **AdventureLog v0.10.0**, a focused update that brings ti
|
||||
|
||||
## 📷 Immich Integration Upgrades
|
||||
|
||||
- Choose whether to copy Immich images into AdventureLog storage or reference them via URL to avoid duplicating files.
|
||||
- Choose whether to copy Immich images into Voyage storage or reference them via URL to avoid duplicating files.
|
||||
- Toggle “Copy Images” on or off to manage storage preferences.
|
||||
- Updated logic to prevent duplicate image uploads when using Immich.
|
||||
|
||||
@@ -61,7 +61,7 @@ I’m pleased to share **AdventureLog v0.10.0**, a focused update that brings ti
|
||||
|
||||
- New guide for deploying with Caddy web server, covering TLS setup and reverse proxy configuration.
|
||||
- Updated instructions for Google Maps integration, including API key setup and troubleshooting.
|
||||
- Follow our Mastodon profile at [@adventurelog@mastodon.social](https://mastodon.social/@adventurelog) for updates and discussion.
|
||||
- Follow our Mastodon profile at [@voyage@mastodon.social](https://mastodon.social/@voyage) for updates and discussion.
|
||||
- Chat with other users on our [Discord server](https://discord.gg/wRbQ9Egr8C) to share feedback, ask questions, or swap travel tips.
|
||||
|
||||
## ✨ NEW: Quick Deploy Script
|
||||
@@ -71,7 +71,7 @@ Based on community feedback, we’ve added a simple deployment script:
|
||||
1. Run:
|
||||
|
||||
```bash
|
||||
curl -sSL https://get.adventurelog.app | bash
|
||||
curl -sSL https://get.voyage.app | bash
|
||||
```
|
||||
|
||||
2. Provide your domain/ip details when prompted.
|
||||
@@ -91,7 +91,7 @@ Self-hosting just got a bit easier—no more manual setup steps.
|
||||
This will link all adventures to their correct country, region, and city.
|
||||
|
||||
- **Timezone Migrations**
|
||||
If you have older trips without explicit timezones, simply view a trip’s detail page and AdventureLog will auto-convert the dates.
|
||||
If you have older trips without explicit timezones, simply view a trip’s detail page and Voyage will auto-convert the dates.
|
||||
|
||||
## 👥 Thanks to Our Contributors
|
||||
|
||||
@@ -106,18 +106,18 @@ Your pull requests, issue reports, and ongoing feedback have been instrumental.
|
||||
- @larsl-net
|
||||
- @marcschumacher
|
||||
|
||||
Every contribution helps make AdventureLog more reliable and user-friendly.
|
||||
Every contribution helps make Voyage more reliable and user-friendly.
|
||||
|
||||
## 💖 Support the Project
|
||||
|
||||
If you find AdventureLog helpful, consider sponsoring me! Your support keeps this project going:
|
||||
If you find Voyage helpful, consider sponsoring me! Your support keeps this project going:
|
||||
|
||||
[https://seanmorley.com/sponsor](https://seanmorley.com/sponsor)
|
||||
|
||||
📖 [View the Full Changelog on GitHub](https://github.com/seanmorley15/AdventureLog/compare/v0.9.0...v0.10.0)
|
||||
📖 [View the Full Changelog on GitHub](https://github.com/seanmorley15/Voyage/compare/v0.9.0...v0.10.0)
|
||||
|
||||
Thanks for being part of the AdventureLog community. I appreciate your feedback and look forward to seeing where your next journey takes you!
|
||||
Thanks for being part of the Voyage community. I appreciate your feedback and look forward to seeing where your next journey takes you!
|
||||
|
||||
Happy travels,
|
||||
**Sean Morley** (@seanmorley15)
|
||||
Project Lead, AdventureLog
|
||||
Project Lead, Voyage
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# AdventureLog v0.11.0 - Strava + Wanderer Integration, New UI, and More
|
||||
# Voyage v0.11.0 - Strava + Wanderer Integration, New UI, and More
|
||||
|
||||
Released 09-02-2025
|
||||
|
||||
Hi everyone,
|
||||
|
||||
I’m thrilled to announce **AdventureLog v0.11.0** - a huge update that **completely reimagines how you track and plan your adventures**. Adventures are now officially called **Locations**, and you can enrich them with **Activities** and **Trails**, whether added manually or imported via Strava and Wanderer.
|
||||
I’m thrilled to announce **Voyage v0.11.0** - a huge update that **completely reimagines how you track and plan your adventures**. Adventures are now officially called **Locations**, and you can enrich them with **Activities** and **Trails**, whether added manually or imported via Strava and Wanderer.
|
||||
|
||||
On top of that, the app has a **full UI rewrite** with a cleaner, smoother interface, enhanced navigation, and improved mobile experience. Combined with expanded localization, this release gives you more ways than ever to explore, manage, and relive your journeys.
|
||||
|
||||
@@ -96,22 +96,22 @@ Special thanks to:
|
||||
- @cathelijne
|
||||
- @mrekin
|
||||
|
||||
Every contribution makes AdventureLog more user-friendly and reliable.
|
||||
Every contribution makes Voyage more user-friendly and reliable.
|
||||
|
||||
---
|
||||
|
||||
## 💖 Support the Project
|
||||
|
||||
If you enjoy AdventureLog, consider sponsoring the project:
|
||||
If you enjoy Voyage, consider sponsoring the project:
|
||||
|
||||
[https://seanmorley.com/sponsor](https://seanmorley.com/sponsor)
|
||||
|
||||
---
|
||||
|
||||
📖 [Full Changelog on GitHub](https://github.com/seanmorley15/AdventureLog/compare/v0.10.0...v0.11.0)
|
||||
📖 [Full Changelog on GitHub](https://github.com/seanmorley15/Voyage/compare/v0.10.0...v0.11.0)
|
||||
|
||||
Thanks for being part of the AdventureLog community!
|
||||
Thanks for being part of the Voyage community!
|
||||
|
||||
Happy travels,
|
||||
**Sean Morley** (@seanmorley15)
|
||||
Project Lead, AdventureLog
|
||||
Project Lead, Voyage
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# AdventureLog v0.12.0 - Trip Planning Improvements, Itineraries & Budgets
|
||||
# Voyage v0.12.0 - Trip Planning Improvements, Itineraries & Budgets
|
||||
|
||||
Released 02-03-2026
|
||||
|
||||
Hi everyone 👋
|
||||
|
||||
I’m excited to announce **AdventureLog v0.12.0**, one of the **largest and most transformative updates** since the project began. This release takes AdventureLog beyond logging and into **true trip planning**, with a fully redesigned itinerary experience, smarter recommendations, budgeting tools, and major authentication improvements. The theme of this update is: **Planning, Itineraries & Smarter Trips**.
|
||||
I’m excited to announce **Voyage v0.12.0**, one of the **largest and most transformative updates** since the project began. This release takes Voyage beyond logging and into **true trip planning**, with a fully redesigned itinerary experience, smarter recommendations, budgeting tools, and major authentication improvements. The theme of this update is: **Planning, Itineraries & Smarter Trips**.
|
||||
|
||||
This update lays the foundation for **end-to-end trip planning** — from ideas, to routes, to schedules, to costs — all while continuing to strengthen self-hosted and privacy-respecting workflows.
|
||||
|
||||
@@ -121,16 +121,16 @@ A special thank you to the developers who directly contributed code to this rele
|
||||
- @fullstack-nick
|
||||
- @madmp87
|
||||
|
||||
Your contributions — whether large features, small fixes, documentation improvements, or refactors — directly improve AdventureLog for everyone. Thank you for being part of the project!
|
||||
Your contributions — whether large features, small fixes, documentation improvements, or refactors — directly improve Voyage for everyone. Thank you for being part of the project!
|
||||
|
||||
## 💖 Support the Project
|
||||
|
||||
If AdventureLog helps you plan, remember, or relive your travels, consider supporting the project:
|
||||
If Voyage helps you plan, remember, or relive your travels, consider supporting the project:
|
||||
|
||||
👉 https://seanmorley.com/sponsor
|
||||
|
||||
📖 **Full Changelog:**
|
||||
https://github.com/seanmorley15/AdventureLog/compare/v0.11.0...v0.12.0
|
||||
https://github.com/seanmorley15/Voyage/compare/v0.11.0...v0.12.0
|
||||
|
||||
Happy planning & happy travels!
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# AdventureLog v0.7.0
|
||||
# Voyage v0.7.0
|
||||
|
||||
Released 10-15-2024
|
||||
|
||||
Hi everyone! I am super excited to announce AdventureLog v0.7.0! This is one of the biggest updates I have ever released and I am super happy its finally ready for all of you to enjoy. The majority of this update is based around community feedback and ideas which is awesome!
|
||||
Hi everyone! I am super excited to announce Voyage v0.7.0! This is one of the biggest updates I have ever released and I am super happy its finally ready for all of you to enjoy. The majority of this update is based around community feedback and ideas which is awesome!
|
||||
|
||||
# What's New
|
||||
|
||||
@@ -33,7 +33,7 @@ Hi everyone! I am super excited to announce AdventureLog v0.7.0! This is one of
|
||||
|
||||
### Other
|
||||
|
||||
- New logo for AdventureLog! Thanks @redtechtiger!
|
||||
- New logo for Voyage! Thanks @redtechtiger!
|
||||
- Releases now include a multi-arch image like pushes to main
|
||||
- Docker compose file now has more comments for clarity
|
||||
- New Aesthetic Dark theme (its my favorite by far)
|
||||
@@ -41,7 +41,7 @@ Hi everyone! I am super excited to announce AdventureLog v0.7.0! This is one of
|
||||
# Sponsorship 💖
|
||||
|
||||
[](https://www.buymeacoffee.com/seanmorley15)
|
||||
As a computer science student, I pour my free time into developing and enhancing AdventureLog, driven by my passion for this project and its potential to make adventure planning easier for everyone. Your support, no matter the amount, means the world to me. It shows that you believe in the project and its future. I’m excited to announce that I’ve launched my page on Buy Me A Coffee—check it out!
|
||||
As a computer science student, I pour my free time into developing and enhancing Voyage, driven by my passion for this project and its potential to make adventure planning easier for everyone. Your support, no matter the amount, means the world to me. It shows that you believe in the project and its future. I’m excited to announce that I’ve launched my page on Buy Me A Coffee—check it out!
|
||||
|
||||
Hope you all enjoy!
|
||||
Feel free to join the release discussion below to share feedback and ideas or anything else related to this update!
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# AdventureLog v0.7.1
|
||||
# Voyage v0.7.1
|
||||
|
||||
Released 11-13-2024
|
||||
|
||||
Hi everyone! I am super excited to announce the release of AdventureLog v0.7.1. This update includes a lot of improvements that make using AdventureLog more enjoyable and accessible. This update is largely community driven as it addresses more than 10 enhancement requests (thanks everyone!).
|
||||
Hi everyone! I am super excited to announce the release of Voyage v0.7.1. This update includes a lot of improvements that make using Voyage more enjoyable and accessible. This update is largely community driven as it addresses more than 10 enhancement requests (thanks everyone!).
|
||||
|
||||
# What's New ✨
|
||||
|
||||
@@ -10,7 +10,7 @@ Hi everyone! I am super excited to announce the release of AdventureLog v0.7.1.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> _While the app will still function normally without these changes_, they are recommended for the best support and stability
|
||||
> The **migration guide** can be found here: https://docs.adventurelog.app/docs/Guides/nginx_migration
|
||||
> The **migration guide** can be found here: https://docs.voyage.app/docs/Guides/nginx_migration
|
||||
|
||||
- Migrated nginx inside of server container for easier deployment, removed external nginx requirement
|
||||
- App now uses gunicorn for better performance at scale
|
||||
@@ -50,7 +50,7 @@ Hi everyone! I am super excited to announce the release of AdventureLog v0.7.1.
|
||||
# Sponsorship 💖
|
||||
|
||||
[](https://www.buymeacoffee.com/seanmorley15)
|
||||
As a computer science student, I pour my free time into developing and enhancing AdventureLog, driven by my passion for this project and its potential to make adventure planning easier for everyone. Your support, no matter the amount, means the world to me. It shows that you believe in the project and its future. I’m excited to announce that I’ve launched my page on Buy Me A Coffee—check it out!
|
||||
As a computer science student, I pour my free time into developing and enhancing Voyage, driven by my passion for this project and its potential to make adventure planning easier for everyone. Your support, no matter the amount, means the world to me. It shows that you believe in the project and its future. I’m excited to announce that I’ve launched my page on Buy Me A Coffee—check it out!
|
||||
|
||||
Hope you all enjoy!
|
||||
Feel free to join the release discussion below to share feedback and ideas or anything else related to this update!
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# AdventureLog v0.8.0 - Immich Integration, Calendar and Customization
|
||||
# Voyage v0.8.0 - Immich Integration, Calendar and Customization
|
||||
|
||||
Released 01-08-2025
|
||||
|
||||
Hi everyone! 🚀
|
||||
I’m thrilled to announce the release of **AdventureLog v0.8.0**, a huge update packed with new features, improvements, and enhancements. This release focuses on delivering a better user experience, improved functionality, and expanded customization options. Let’s dive into what’s new!
|
||||
I’m thrilled to announce the release of **Voyage v0.8.0**, a huge update packed with new features, improvements, and enhancements. This release focuses on delivering a better user experience, improved functionality, and expanded customization options. Let’s dive into what’s new!
|
||||
|
||||
---
|
||||
|
||||
@@ -11,8 +11,8 @@ I’m thrilled to announce the release of **AdventureLog v0.8.0**, a huge update
|
||||
|
||||
### Immich Integration
|
||||
|
||||
- AdventureLog now integrates seamlessly with [Immich](https://github.com/immich-app), the amazing self-hostable photo library.
|
||||
- Import your photos from Immich directly into AdventureLog adventures and collections.
|
||||
- Voyage now integrates seamlessly with [Immich](https://github.com/immich-app), the amazing self-hostable photo library.
|
||||
- Import your photos from Immich directly into Voyage adventures and collections.
|
||||
- Use Immich Smart Search to search images to import based on natural queries.
|
||||
- Sort by photo album to easily import your trips photos to an adventure.
|
||||
|
||||
@@ -87,14 +87,14 @@ I’m thrilled to announce the release of **AdventureLog v0.8.0**, a huge update
|
||||
### 🌐 Infrastructure
|
||||
|
||||
- Added **Kubernetes Configurations** for scalable deployments (@MaximUltimatum).
|
||||
- Launched a **New [Documentation Site](https://adventurelog.app)** for better guidance and support.
|
||||
- Launched a **New [Documentation Site](https://voyage.app)** for better guidance and support.
|
||||
|
||||
---
|
||||
|
||||
## Sponsorship 💖
|
||||
|
||||
[](https://www.buymeacoffee.com/seanmorley15)
|
||||
As always, AdventureLog continues to grow thanks to your incredible support and feedback. If you love using the app and want to help shape its future, consider supporting me on **Buy Me A Coffee**. Your contributions go a long way in allowing for AdventureLog to continue to improve and thrive 😊
|
||||
As always, Voyage continues to grow thanks to your incredible support and feedback. If you love using the app and want to help shape its future, consider supporting me on **Buy Me A Coffee**. Your contributions go a long way in allowing for Voyage to continue to improve and thrive 😊
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# AdventureLog v0.9.0 - Smart Recommendations, Attachments, and Maps
|
||||
# Voyage v0.9.0 - Smart Recommendations, Attachments, and Maps
|
||||
|
||||
Released 03-19-2025
|
||||
|
||||
Hi travelers! 🌍
|
||||
I’m excited to unveil **AdventureLog v0.9.0**, one of our most feature-packed updates yet! From Smart Recommendations to enhanced maps and a refreshed profile system, this release is all about improving your travel planning and adventure tracking experience. Let’s dive into what’s new!
|
||||
I’m excited to unveil **Voyage v0.9.0**, one of our most feature-packed updates yet! From Smart Recommendations to enhanced maps and a refreshed profile system, this release is all about improving your travel planning and adventure tracking experience. Let’s dive into what’s new!
|
||||
|
||||
---
|
||||
|
||||
@@ -11,14 +11,14 @@ I’m excited to unveil **AdventureLog v0.9.0**, one of our most feature-packed
|
||||
|
||||
### 🧠 Smart Recommendations
|
||||
|
||||
- **AdventureLog Smart Recommendations**: Get tailored suggestions for new adventures and activities based on your collection destinations.
|
||||
- **Voyage Smart Recommendations**: Get tailored suggestions for new adventures and activities based on your collection destinations.
|
||||
- Leverages OpenStreetMap to recommend places and activities near your travel destinations.
|
||||
|
||||
---
|
||||
|
||||
### 🗂️ Attachments, GPX Maps & Global Search
|
||||
|
||||
- **Attachments System**: Attach files to your adventures to view key trip data like maps and tickets in AdventureLog!
|
||||
- **Attachments System**: Attach files to your adventures to view key trip data like maps and tickets in Voyage!
|
||||
- **GPX File Uploads & Maps**: Upload GPX tracks to adventures to visualize them directly on your maps.
|
||||
- **Global Search**: A universal search bar to quickly find adventures, cities, countries, and more across your instance.
|
||||
|
||||
@@ -54,7 +54,7 @@ I’m excited to unveil **AdventureLog v0.9.0**, one of our most feature-packed
|
||||
|
||||
### 🖥️ PWA Support
|
||||
|
||||
- **Progressive Web App (PWA) Support**: Install AdventureLog as a PWA on your desktop or mobile device for a native app experience.
|
||||
- **Progressive Web App (PWA) Support**: Install Voyage as a PWA on your desktop or mobile device for a native app experience.
|
||||
|
||||
---
|
||||
|
||||
@@ -111,14 +111,14 @@ A huge shoutout to our amazing new contributors! 🎉
|
||||
- @jyyyeung
|
||||
- @marcschumacher
|
||||
|
||||
Thank you for helping AdventureLog grow! 🙌
|
||||
Thank you for helping Voyage grow! 🙌
|
||||
|
||||
---
|
||||
|
||||
## Support My Work 💖
|
||||
|
||||
[](https://www.buymeacoffee.com/seanmorley15)
|
||||
If AdventureLog has made your travels more organized or your trip memories richer, consider supporting my work on **Buy Me A Coffee**. Your support directly helps shape the future of this project! ☕
|
||||
If Voyage has made your travels more organized or your trip memories richer, consider supporting my work on **Buy Me A Coffee**. Your support directly helps shape the future of this project! ☕
|
||||
|
||||
---
|
||||
|
||||
@@ -130,4 +130,4 @@ Happy travels,
|
||||
|
||||
---
|
||||
|
||||
**[Full Changelog](https://github.com/seanmorley15/AdventureLog/compare/v0.8.0...v0.9.0)**
|
||||
**[Full Changelog](https://github.com/seanmorley15/Voyage/compare/v0.8.0...v0.9.0)**
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Advanced Configuration
|
||||
|
||||
In addition to the primary configuration variables listed above, there are several optional environment variables that can be set to further customize your AdventureLog instance. These variables are not required for a basic setup but can enhance functionality and security.
|
||||
In addition to the primary configuration variables listed above, there are several optional environment variables that can be set to further customize your Voyage instance. These variables are not required for a basic setup but can enhance functionality and security.
|
||||
|
||||
| Name | Required | Description | Default Value | Variable Location |
|
||||
| ---------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------- | ----------------- |
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Umami Analytics is a free, open-source, and privacy-focused web analytics tool that can be used as an alternative to Google Analytics. Learn more about Umami Analytics [here](https://umami.is/).
|
||||
|
||||
To enable Umami Analytics for your AdventureLog instance, you can set the following variables in your `docker-compose.yml` under the `web` service:
|
||||
To enable Umami Analytics for your Voyage instance, you can set the following variables in your `docker-compose.yml` under the `web` service:
|
||||
|
||||
```yaml
|
||||
PUBLIC_UMAMI_SRC=https://cloud.umami.is/script.js # If you are using the hosted version of Umami
|
||||
|
||||
@@ -6,5 +6,5 @@ To disable registration, you can set the following variable in your docker-compo
|
||||
environment:
|
||||
- DISABLE_REGISTRATION=True
|
||||
# OPTIONAL: Set the message to display when registration is disabled
|
||||
- DISABLE_REGISTRATION_MESSAGE='Registration is disabled for this instance of AdventureLog.'
|
||||
- DISABLE_REGISTRATION_MESSAGE='Registration is disabled for this instance of Voyage.'
|
||||
```
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Google Maps Integration
|
||||
|
||||
To enable Google Maps integration in AdventureLog, you'll need to create a Google Maps API key. This key allows AdventureLog to use Google Maps services such as geocoding and location search throughout the application.
|
||||
To enable Google Maps integration in Voyage, you'll need to create a Google Maps API key. This key allows Voyage to use Google Maps services such as geocoding and location search throughout the application.
|
||||
|
||||
Follow the steps below to generate your own API key:
|
||||
|
||||
@@ -10,7 +10,7 @@ Follow the steps below to generate your own API key:
|
||||
2. Create an account if you don't have one in order to access the console.
|
||||
3. Click on the project dropdown in the top bar.
|
||||
4. Click **New Project**.
|
||||
5. Name your project (e.g., `AdventureLog Maps`) and click **Create**.
|
||||
5. Name your project (e.g., `Voyage Maps`) and click **Create**.
|
||||
6. Once the project is created, ensure it is selected in the project dropdown.
|
||||
7. Click on the **Navigation menu** (three horizontal lines in the top left corner).
|
||||
8. Navigate to **Google Maps Platform**.
|
||||
@@ -29,14 +29,14 @@ Follow the steps below to generate your own API key:
|
||||
1. Click the **Edit icon** next to your new API key.
|
||||
2. Under **Application restrictions**, choose one:
|
||||
- Choose **Websites** as the restriction type.
|
||||
- Add the domain of the AdventureLog **backend** (e.g., `https://your-adventurelog-backend.com`). -->
|
||||
- Add the domain of the Voyage **backend** (e.g., `https://your-voyage-backend.com`). -->
|
||||
|
||||
## Configuration in AdventureLog
|
||||
## Configuration in Voyage
|
||||
|
||||
Set the API key in your environment file or configuration under the backend service of AdventureLog. This is typically done in the `docker-compose.yml` file or directly in your environment variables `.env` file.
|
||||
Set the API key in your environment file or configuration under the backend service of Voyage. This is typically done in the `docker-compose.yml` file or directly in your environment variables `.env` file.
|
||||
|
||||
```env
|
||||
GOOGLE_MAPS_API_KEY=your_api_key_here
|
||||
```
|
||||
|
||||
Once this is set, AdventureLog will be able to utilize Google Maps services for geocoding and location searches instead of relying on the default OpenStreetMap services.
|
||||
Once this is set, Voyage will be able to utilize Google Maps services for geocoding and location searches instead of relying on the default OpenStreetMap services.
|
||||
|
||||
@@ -11,19 +11,19 @@ Immich is a self-hosted, open-source platform that allows users to backup and ma
|
||||
- [Immich Website and Documentation](https://immich.app/)
|
||||
- [GitHub Repository](https://github.com/immich-app/immich)
|
||||
|
||||
### How to integrate Immich with AdventureLog?
|
||||
### How to integrate Immich with Voyage?
|
||||
|
||||
To integrate Immich with AdventureLog, you need to have an Immich server running and accessible from where AdventureLog is running.
|
||||
To integrate Immich with Voyage, you need to have an Immich server running and accessible from where Voyage is running.
|
||||
|
||||
1. Obtain the Immich API Key from the Immich server.
|
||||
- In the Immich web interface, click on your user profile picture, go to `Account Settings` > `API Keys`.
|
||||
- Click `New API Key` and name it something like `AdventureLog`.
|
||||
- Click `New API Key` and name it something like `Voyage`.
|
||||
- Make sure the key has the following permissions: `asset.read, album.read, asset.view, library.read, user.read`
|
||||
- Copy the generated API Key, you will need it in the next step.
|
||||
2. Go to the AdventureLog web interface, click on your user profile picture, go to `Settings` and scroll down to the `Immich Integration` section.
|
||||
- Enter the URL of your Immich server, e.g. `https://immich.example.com/api`. Note that `localhost` or `127.0.0.1` will probably not work because Immich and AdventureLog are running on different docker networks. It is recommended to use the IP address of the server where Immich is running ex `http://my-server-ip:port` or a domain name.
|
||||
2. Go to the Voyage web interface, click on your user profile picture, go to `Settings` and scroll down to the `Immich Integration` section.
|
||||
- Enter the URL of your Immich server, e.g. `https://immich.example.com/api`. Note that `localhost` or `127.0.0.1` will probably not work because Immich and Voyage are running on different docker networks. It is recommended to use the IP address of the server where Immich is running ex `http://my-server-ip:port` or a domain name.
|
||||
- Paste the API Key you obtained in the previous step.
|
||||
- Click `Enable Immich` to save the settings.
|
||||
3. Now, when you are adding images to an adventure, you will see an option to search for images in Immich or upload from an album.
|
||||
|
||||
Enjoy the privacy and control of managing your travel media with Immich and AdventureLog! 🎉
|
||||
Enjoy the privacy and control of managing your travel media with Immich and Voyage! 🎉
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Social Authentication
|
||||
|
||||
AdventureLog support authentication via 3rd party services and self-hosted identity providers. Once these services are enabled, users can log in to AdventureLog using their accounts from these services and link existing AdventureLog accounts to these services for easier access.
|
||||
Voyage support authentication via 3rd party services and self-hosted identity providers. Once these services are enabled, users can log in to Voyage using their accounts from these services and link existing Voyage accounts to these services for easier access.
|
||||
|
||||
The steps for each service varies so please refer to the specific service's documentation for more information.
|
||||
|
||||
@@ -9,8 +9,8 @@ The steps for each service varies so please refer to the specific service's docu
|
||||
- [Authentik](social_auth/authentik.md) (self-hosted)
|
||||
- [GitHub](social_auth/github.md)
|
||||
- [Open ID Connect](social_auth/oidc.md)
|
||||
- [Authelia](https://www.authelia.com/integration/openid-connect/adventure-log/)
|
||||
- [Authelia](https://www.authelia.com/integration/openid-connect/voyage/)
|
||||
|
||||
## Linking Existing Accounts
|
||||
|
||||
If you already have an AdventureLog account and would like to link it to a 3rd party service, you can do so by logging in to AdventureLog and navigating to the `Account Settings` page. From there, scroll down to `Social and OIDC Authentication` and click the `Launch Account Connections` button. If identity providers have been enabled on your instance, you will see a list of available services to link to.
|
||||
If you already have an Voyage account and would like to link it to a 3rd party service, you can do so by logging in to Voyage and navigating to the `Account Settings` page. From there, scroll down to `Social and OIDC Authentication` and click the `Launch Account Connections` button. If identity providers have been enabled on your instance, you will see a list of available services to link to.
|
||||
|
||||
@@ -2,29 +2,29 @@
|
||||
|
||||
<img src="https://repository-images.githubusercontent.com/230885748/19f01d00-8e26-11eb-9a14-cf0d28a1b68d" alt="Authentik Logo" width="400" />
|
||||
|
||||
Authentik is a self-hosted identity provider that supports OpenID Connect and OAuth2. AdventureLog can be configured to use Authentik as an identity provider for social authentication. Learn more about Authentik at [goauthentik.io](https://goauthentik.io/).
|
||||
Authentik is a self-hosted identity provider that supports OpenID Connect and OAuth2. Voyage can be configured to use Authentik as an identity provider for social authentication. Learn more about Authentik at [goauthentik.io](https://goauthentik.io/).
|
||||
|
||||
Once Authentik is configured by the administrator, users can log in to AdventureLog using their Authentik account and link existing AdventureLog accounts to Authentik for easier access.
|
||||
Once Authentik is configured by the administrator, users can log in to Voyage using their Authentik account and link existing Voyage accounts to Authentik for easier access.
|
||||
|
||||
# Configuration
|
||||
|
||||
To enable Authentik as an identity provider, the administrator must first configure Authentik to allow AdventureLog to authenticate users.
|
||||
To enable Authentik as an identity provider, the administrator must first configure Authentik to allow Voyage to authenticate users.
|
||||
|
||||
### Authentik Configuration
|
||||
|
||||
1. Log in to Authentik and navigate to the `Providers` page and create a new provider.
|
||||
2. Select `OAuth2/OpenID Provider` as the provider type.
|
||||
3. Name it `AdventureLog` or any other name you prefer.
|
||||
4. Set the `Redirect URI` of type `Regex` to `^http://<adventurelog-server-url>/accounts/oidc/.*$` where `<adventurelog-url>` is the URL of your AdventureLog Server service.
|
||||
5. Copy the `Client ID` and `Client Secret` generated by Authentik, you will need these to configure AdventureLog.
|
||||
6. Create an application in Authentik and assign the provider to it, name the `slug` `adventurelog` or any other name you prefer.
|
||||
7. If you want the logo, you can find it [here](https://adventurelog.app/adventurelog.png).
|
||||
3. Name it `Voyage` or any other name you prefer.
|
||||
4. Set the `Redirect URI` of type `Regex` to `^http://<voyage-server-url>/accounts/oidc/.*$` where `<voyage-url>` is the URL of your Voyage Server service.
|
||||
5. Copy the `Client ID` and `Client Secret` generated by Authentik, you will need these to configure Voyage.
|
||||
6. Create an application in Authentik and assign the provider to it, name the `slug` `voyage` or any other name you prefer.
|
||||
7. If you want the logo, you can find it [here](https://voyage.app/voyage.png).
|
||||
|
||||
### AdventureLog Configuration
|
||||
### Voyage Configuration
|
||||
|
||||
This configuration is done in the [Admin Panel](../../guides/admin_panel.md). You can either launch the panel directly from the `Settings` page or navigate to `/admin` on your AdventureLog server.
|
||||
This configuration is done in the [Admin Panel](../../guides/admin_panel.md). You can either launch the panel directly from the `Settings` page or navigate to `/admin` on your Voyage server.
|
||||
|
||||
1. Login to AdventureLog as an administrator and navigate to the `Settings` page.
|
||||
1. Login to Voyage as an administrator and navigate to the `Settings` page.
|
||||
2. Scroll down to the `Administration Settings` and launch the admin panel.
|
||||
3. In the admin panel, navigate to the `Social Accounts` section and click the add button next to `Social applications`. Fill in the following fields:
|
||||
|
||||
@@ -43,7 +43,7 @@ This configuration is done in the [Admin Panel](../../guides/admin_panel.md). Yo
|
||||
```
|
||||
|
||||
::: warning
|
||||
`localhost` is most likely not a valid `server_url` for Authentik in this instance because `localhost` is the server running AdventureLog, not Authentik. You should use the IP address of the server running Authentik or the domain name if you have one.
|
||||
`localhost` is most likely not a valid `server_url` for Authentik in this instance because `localhost` is the server running Voyage, not Authentik. You should use the IP address of the server running Authentik or the domain name if you have one.
|
||||
|
||||
- Sites: move over the sites you want to enable Authentik on, usually `example.com` and `www.example.com` unless you renamed your sites.
|
||||
|
||||
@@ -53,18 +53,18 @@ This configuration is done in the [Admin Panel](../../guides/admin_panel.md). Yo
|
||||
|
||||
4. Save the configuration.
|
||||
|
||||
Ensure that the Authentik server is running and accessible by AdventureLog. Users should now be able to log in to AdventureLog using their Authentik account.
|
||||
Ensure that the Authentik server is running and accessible by Voyage. Users should now be able to log in to Voyage using their Authentik account.
|
||||
|
||||
## Linking to Existing Account
|
||||
|
||||
If a user has an existing AdventureLog account and wants to link it to their Authentik account, they can do so by logging in to their AdventureLog account and navigating to the `Settings` page. There is a button that says `Launch Account Connections`, click that and then choose the provider to link to the existing account.
|
||||
If a user has an existing Voyage account and wants to link it to their Authentik account, they can do so by logging in to their Voyage account and navigating to the `Settings` page. There is a button that says `Launch Account Connections`, click that and then choose the provider to link to the existing account.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### 404 error when logging in.
|
||||
|
||||
Ensure the `<adventurelog-server-url>/accounts` path is routed to the backend, as it shouldn't hit the frontend when it's properly configured.
|
||||
Ensure the `<voyage-server-url>/accounts` path is routed to the backend, as it shouldn't hit the frontend when it's properly configured.
|
||||
|
||||
### Authentik - No Permission
|
||||
|
||||
In the Authentik instance, check access to the AdventureLog application from a specific user by using the Check Access/Test button on the Application dashboard. If the user doesn't have access, you can add an existing user/group policy to give your specific user/group access to the AdventureLog application.
|
||||
In the Authentik instance, check access to the Voyage application from a specific user by using the Check Access/Test button on the Application dashboard. If the user doesn't have access, you can add an existing user/group policy to give your specific user/group access to the Voyage application.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# GitHub Social Authentication
|
||||
|
||||
AdventureLog can be configured to use GitHub as an identity provider for social authentication. Users can then log in to AdventureLog using their GitHub account.
|
||||
Voyage can be configured to use GitHub as an identity provider for social authentication. Users can then log in to Voyage using their GitHub account.
|
||||
|
||||
# Configuration
|
||||
|
||||
To enable GitHub as an identity provider, the administrator must first configure GitHub to allow AdventureLog to authenticate users.
|
||||
To enable GitHub as an identity provider, the administrator must first configure GitHub to allow Voyage to authenticate users.
|
||||
|
||||
### GitHub Configuration
|
||||
|
||||
@@ -12,17 +12,17 @@ To enable GitHub as an identity provider, the administrator must first configure
|
||||
2. Click on `New OAuth App`.
|
||||
3. Fill in the following fields:
|
||||
|
||||
- Application Name: `AdventureLog` or any other name you prefer.
|
||||
- Homepage URL: `<adventurelog-frontend-url>` where `<adventurelog-frontend-url>` is the URL of your AdventureLog Frontend service.
|
||||
- Application Description: `AdventureLog` or any other description you prefer.
|
||||
- Authorization callback URL: `http://<adventurelog-backend-url>/accounts/github/login/callback/` where `<adventurelog-backend-url>` is the URL of your AdventureLog Backend service.
|
||||
- If you want the logo, you can find it [here](https://adventurelog.app/adventurelog.png).
|
||||
- Application Name: `Voyage` or any other name you prefer.
|
||||
- Homepage URL: `<voyage-frontend-url>` where `<voyage-frontend-url>` is the URL of your Voyage Frontend service.
|
||||
- Application Description: `Voyage` or any other description you prefer.
|
||||
- Authorization callback URL: `http://<voyage-backend-url>/accounts/github/login/callback/` where `<voyage-backend-url>` is the URL of your Voyage Backend service.
|
||||
- If you want the logo, you can find it [here](https://voyage.app/voyage.png).
|
||||
|
||||
### AdventureLog Configuration
|
||||
### Voyage Configuration
|
||||
|
||||
This configuration is done in the [Admin Panel](../../guides/admin_panel.md). You can either launch the panel directly from the `Settings` page or navigate to `/admin` on your AdventureLog server.
|
||||
This configuration is done in the [Admin Panel](../../guides/admin_panel.md). You can either launch the panel directly from the `Settings` page or navigate to `/admin` on your Voyage server.
|
||||
|
||||
1. Login to AdventureLog as an administrator and navigate to the `Settings` page.
|
||||
1. Login to Voyage as an administrator and navigate to the `Settings` page.
|
||||
2. Scroll down to the `Administration Settings` and launch the admin panel.
|
||||
3. In the admin panel, navigate to the `Social Accounts` section and click the add button next to `Social applications`. Fill in the following fields:
|
||||
|
||||
@@ -37,11 +37,11 @@ This configuration is done in the [Admin Panel](../../guides/admin_panel.md). Yo
|
||||
|
||||
4. Save the configuration.
|
||||
|
||||
Users should now be able to log in to AdventureLog using their GitHub account, and link it to existing accounts.
|
||||
Users should now be able to log in to Voyage using their GitHub account, and link it to existing accounts.
|
||||
|
||||
## Linking to Existing Account
|
||||
|
||||
If a user has an existing AdventureLog account and wants to link it to their Github account, they can do so by logging in to their AdventureLog account and navigating to the `Settings` page. There is a button that says `Launch Account Connections`, click that and then choose the provider to link to the existing account.
|
||||
If a user has an existing Voyage account and wants to link it to their Github account, they can do so by logging in to their Voyage account and navigating to the `Settings` page. There is a button that says `Launch Account Connections`, click that and then choose the provider to link to the existing account.
|
||||
|
||||
#### What it Should Look Like
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# OIDC Social Authentication
|
||||
|
||||
AdventureLog can be configured to use OpenID Connect (OIDC) as an identity provider for social authentication. Users can then log in to AdventureLog using their OIDC account.
|
||||
Voyage can be configured to use OpenID Connect (OIDC) as an identity provider for social authentication. Users can then log in to Voyage using their OIDC account.
|
||||
|
||||
The configuration is basically the same as [Authentik](./authentik.md), but you replace the client and secret with the OIDC client and secret provided by your OIDC provider. The `server_url` should be the URL of your OIDC provider where you can find the OIDC configuration.
|
||||
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
|
||||
<img src="https://pocket-id.org/logo.png" alt="Pocket ID Logo" width="400" />
|
||||
|
||||
Pocket ID is a lightweight, self-hosted OpenID Connect (OIDC) identity provider. AdventureLog can be configured to use Pocket ID for social authentication using its built-in OpenID Connect support.
|
||||
Pocket ID is a lightweight, self-hosted OpenID Connect (OIDC) identity provider. Voyage can be configured to use Pocket ID for social authentication using its built-in OpenID Connect support.
|
||||
|
||||
Once Pocket ID is configured by an administrator, users can sign in to AdventureLog using their Pocket ID account and optionally link it to an existing AdventureLog account.
|
||||
Once Pocket ID is configured by an administrator, users can sign in to Voyage using their Pocket ID account and optionally link it to an existing Voyage account.
|
||||
|
||||
---
|
||||
|
||||
# Configuration
|
||||
|
||||
To enable Pocket ID as an identity provider, both Pocket ID and AdventureLog must be configured correctly. The most important (and least obvious) part of this setup is the **callback URL**, which must match AdventureLog’s internal OIDC routing.
|
||||
To enable Pocket ID as an identity provider, both Pocket ID and Voyage must be configured correctly. The most important (and least obvious) part of this setup is the **callback URL**, which must match Voyage’s internal OIDC routing.
|
||||
|
||||
---
|
||||
|
||||
@@ -20,29 +20,29 @@ To enable Pocket ID as an identity provider, both Pocket ID and AdventureLog mus
|
||||
|
||||
2. Navigate to **Clients** and create a new client.
|
||||
|
||||
3. Name the client something like `AdventureLog`.
|
||||
3. Name the client something like `Voyage`.
|
||||
|
||||
4. Set the **Redirect / Callback URL** to:
|
||||
|
||||
```
|
||||
https://<adventurelog-backend.example.com>/accounts/oidc/<CLIENT_ID>/login/callback/
|
||||
https://<voyage-backend.example.com>/accounts/oidc/<CLIENT_ID>/login/callback/
|
||||
```
|
||||
|
||||
- Replace `<adventurelog-backend.example.com>` with the **backend** URL of your AdventureLog instance.
|
||||
- Replace `<voyage-backend.example.com>` with the **backend** URL of your Voyage instance.
|
||||
- Replace `<CLIENT_ID>` with the **Pocket ID client ID** exactly as generated.
|
||||
- This path is required and currently not auto-documented by Pocket ID or AdventureLog.
|
||||
- This path is required and currently not auto-documented by Pocket ID or Voyage.
|
||||
|
||||
5. Ensure the client type is **Confidential**.
|
||||
|
||||
6. Copy the generated **Client ID** and **Client Secret** — you will need both for AdventureLog.
|
||||
6. Copy the generated **Client ID** and **Client Secret** — you will need both for Voyage.
|
||||
|
||||
---
|
||||
|
||||
## AdventureLog Configuration
|
||||
## Voyage Configuration
|
||||
|
||||
This configuration is done in the [Admin Panel](../../guides/admin_panel.md). You can launch it from the `Settings` page or navigate directly to `/admin` on your AdventureLog server.
|
||||
This configuration is done in the [Admin Panel](../../guides/admin_panel.md). You can launch it from the `Settings` page or navigate directly to `/admin` on your Voyage server.
|
||||
|
||||
1. Log in to AdventureLog as an administrator.
|
||||
1. Log in to Voyage as an administrator.
|
||||
2. Navigate to **Settings** → **Administration Settings** and launch the admin panel.
|
||||
3. Go to **Social Accounts**.
|
||||
4. Under **Social applications**, click **Add**.
|
||||
@@ -67,14 +67,14 @@ This configuration is done in the [Admin Panel](../../guides/admin_panel.md). Yo
|
||||
- Replace `<pocketid-url>` with the base URL of your Pocket ID instance.
|
||||
|
||||
::: warning
|
||||
Do **not** use `localhost` unless Pocket ID is running on the same machine and is resolvable from inside the AdventureLog container or service. Use a domain name or LAN IP instead.
|
||||
Do **not** use `localhost` unless Pocket ID is running on the same machine and is resolvable from inside the Voyage container or service. Use a domain name or LAN IP instead.
|
||||
:::
|
||||
|
||||
- **Sites**: Move the sites you want Pocket ID enabled on (usually `example.com` and `www.example.com`).
|
||||
|
||||
6. Save the configuration.
|
||||
|
||||
Ensure Pocket ID is running and reachable by AdventureLog.
|
||||
Ensure Pocket ID is running and reachable by Voyage.
|
||||
|
||||
---
|
||||
|
||||
@@ -82,16 +82,16 @@ Ensure Pocket ID is running and reachable by AdventureLog.
|
||||
|
||||
Once configured correctly:
|
||||
|
||||
- Pocket ID appears as a login option on the AdventureLog login screen.
|
||||
- Logging in redirects to Pocket ID, then back to AdventureLog without errors.
|
||||
- Pocket ID appears as a login option on the Voyage login screen.
|
||||
- Logging in redirects to Pocket ID, then back to Voyage without errors.
|
||||
|
||||
---
|
||||
|
||||
## Linking to an Existing Account
|
||||
|
||||
If a user already has an AdventureLog account:
|
||||
If a user already has an Voyage account:
|
||||
|
||||
1. Log in to AdventureLog normally.
|
||||
1. Log in to Voyage normally.
|
||||
2. Go to **Settings**.
|
||||
3. Click **Launch Account Connections**.
|
||||
4. Choose **Pocket ID** to link the identity to the existing account.
|
||||
@@ -119,13 +119,13 @@ Ensure that:
|
||||
/accounts/oidc/<CLIENT_ID>/login/callback/
|
||||
```
|
||||
|
||||
- The `<CLIENT_ID>` must match the value used in the AdventureLog social application.
|
||||
- The `<CLIENT_ID>` must match the value used in the Voyage social application.
|
||||
|
||||
---
|
||||
|
||||
### Cannot Reach Pocket ID
|
||||
|
||||
- Verify that the `.well-known/openid-configuration` endpoint is accessible from the AdventureLog server.
|
||||
- Verify that the `.well-known/openid-configuration` endpoint is accessible from the Voyage server.
|
||||
- Test by opening:
|
||||
|
||||
```
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Strava Integration
|
||||
|
||||
Strava is a popular platform for athletes to track their activities, share their workouts, and connect with other fitness enthusiasts. Integrating Strava with AdventureLog allows you to import your Strava activities directly into your vists, making it easier to keep track of your outdoor experiences.
|
||||
Strava is a popular platform for athletes to track their activities, share their workouts, and connect with other fitness enthusiasts. Integrating Strava with Voyage allows you to import your Strava activities directly into your vists, making it easier to keep track of your outdoor experiences.
|
||||
|
||||
To enable Strava integration in AdventureLog, you'll need to create a Strava API application. This application will provide you with the necessary client ID and client secret to authenticate with the Strava API.
|
||||
To enable Strava integration in Voyage, you'll need to create a Strava API application. This application will provide you with the necessary client ID and client secret to authenticate with the Strava API.
|
||||
|
||||
Follow the steps below to generate your own Strava API credentials:
|
||||
|
||||
@@ -12,32 +12,32 @@ Follow the steps below to generate your own Strava API credentials:
|
||||
2. Go to the [Strava API Applications page](https://www.strava.com/settings/api).
|
||||
3. Click on **Create a New Application**.
|
||||
4. Fill in the application details:
|
||||
- **Application Name**: AdventureLog Strava Integration
|
||||
- **Website**: Your AdventureLog instance URL (e.g., `https://your-adventurelog-instance.com`)
|
||||
- **Authorization Callback Domain**: Your AdventureLog instance domain (e.g., `your-adventurelog-instance.com`)
|
||||
- **Application Name**: Voyage Strava Integration
|
||||
- **Website**: Your Voyage instance URL (e.g., `https://your-voyage-instance.com`)
|
||||
- **Authorization Callback Domain**: Your Voyage instance domain (e.g., `your-voyage-instance.com`)
|
||||
5. Agree to the Strava API Terms
|
||||
6. Click **Create** to generate your application.
|
||||
7. After creation, you will see your **Client ID** and **Client Secret**. Keep these credentials safe as you will need them to configure AdventureLog.
|
||||
7. After creation, you will see your **Client ID** and **Client Secret**. Keep these credentials safe as you will need them to configure Voyage.
|
||||
|
||||
## Configuration in AdventureLog
|
||||
## Configuration in Voyage
|
||||
|
||||
8. Once you have your Strava API credentials, you can configure AdventureLog to use them. Open your `.env` file in the root of your AdventureLog project and add the following lines:
|
||||
8. Once you have your Strava API credentials, you can configure Voyage to use them. Open your `.env` file in the root of your Voyage project and add the following lines:
|
||||
|
||||
```env
|
||||
STRAVA_CLIENT_ID=your_client_id_here
|
||||
STRAVA_CLIENT_SECRET=your_client_secret_here
|
||||
```
|
||||
|
||||
9. After adding these lines, save the file and restart your AdventureLog server to apply the changes.
|
||||
10. Navigate to AdventureLog's settings page, click the integration tab, and find the Strava section.
|
||||
9. After adding these lines, save the file and restart your Voyage server to apply the changes.
|
||||
10. Navigate to Voyage's settings page, click the integration tab, and find the Strava section.
|
||||
11. Click the **Connect Account** button. This will redirect you to Strava's authorization page.
|
||||
12. Log in to your Strava account and authorize AdventureLog to access your Strava data.
|
||||
13. After authorization, you will be redirected back to AdventureLog, and your Strava account will be linked.
|
||||
12. Log in to your Strava account and authorize Voyage to access your Strava data.
|
||||
13. After authorization, you will be redirected back to Voyage, and your Strava account will be linked.
|
||||
|
||||
## Importing Strava Activities
|
||||
|
||||
The Strava integration appears on the visit create/edit part of the location edit popup. Once a visit is added, there will be a button on it to search for Strava activities. Clicking this button will search then you can import the activity into the visit. The imported activity will include details such as distance, duration, elevation gain, and more.
|
||||
|
||||
**Note**: Due to API limitations on Strava's side, when you import an activity, there will be a button that says **Download GPX** then you can download the GPX file of the activity and drop it into the input field of the visit. This manual action is necessary because Strava does not provide a direct way to import GPX files into AdventureLog.
|
||||
**Note**: Due to API limitations on Strava's side, when you import an activity, there will be a button that says **Download GPX** then you can download the GPX file of the activity and drop it into the input field of the visit. This manual action is necessary because Strava does not provide a direct way to import GPX files into Voyage.
|
||||
|
||||
Enjoy tracking your adventures with Strava and AdventureLog! If you encounter any issues or have questions about the integration, feel free to reach out to the AdventureLog community!
|
||||
Enjoy tracking your adventures with Strava and Voyage! If you encounter any issues or have questions about the integration, feel free to reach out to the Voyage community!
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Updating
|
||||
|
||||
Updating AdventureLog when using docker can be quite easy. Run the following commands to pull the latest version and restart the containers. Make sure you backup your instance before updating just in case!
|
||||
Updating Voyage when using docker can be quite easy. Run the following commands to pull the latest version and restart the containers. Make sure you backup your instance before updating just in case!
|
||||
|
||||
Note: Make sure you are in the same directory as your `docker-compose.yml` file.
|
||||
|
||||
@@ -11,7 +11,7 @@ docker compose up -d
|
||||
|
||||
## Updating the Region Data
|
||||
|
||||
Region and Country data in AdventureLog is provided by an open source project: [dr5hn/countries-states-cities-database](https://github.com/dr5hn/countries-states-cities-database). If you would like to update the region data in your AdventureLog instance, you can do so by running the following command. This will make sure your database is up to date with the latest region data for your version of AdventureLog. For security reasons, the region data is not automatically updated to the latest and is release version is controlled in the `settings.py` file.
|
||||
Region and Country data in Voyage is provided by an open source project: [dr5hn/countries-states-cities-database](https://github.com/dr5hn/countries-states-cities-database). If you would like to update the region data in your Voyage instance, you can do so by running the following command. This will make sure your database is up to date with the latest region data for your version of Voyage. For security reasons, the region data is not automatically updated to the latest and is release version is controlled in the `settings.py` file.
|
||||
|
||||
```bash
|
||||
docker exec -it <container> bash
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
# Wanderer Integration
|
||||
|
||||
[Wanderer](https://wanderer.to) is a self-hosted trail database. Integrating Wanderer with AdventureLog allows you to import trails directly into your locations, making it easier to plan and track your outdoor adventures.
|
||||
[Wanderer](https://wanderer.to) is a self-hosted trail database. Integrating Wanderer with Voyage allows you to import trails directly into your locations, making it easier to plan and track your outdoor adventures.
|
||||
|
||||
## Wanderer Integration Setup
|
||||
|
||||
1. Navigate to the AdventureLog settings page.
|
||||
1. Navigate to the Voyage settings page.
|
||||
2. Click on the **Integrations** tab.
|
||||
3. Find the **Wanderer** section and input the URL of your Wanderer instance, your username, and password.
|
||||
4. Click the **Connect Account** button to authenticate with your Wanderer instance.
|
||||
|
||||
### Important Notes
|
||||
|
||||
1. The URL to the Wanderer server must be accessible from the AdventureLog server. This means values like `localhost` or `127.0.0.1` will likely cause some issues.
|
||||
2. AdventureLog **does not store your Wanderer credentials**. They are only used to fetch an authorization token for the Wanderer API. This token will last for around 2 weeks before needing to be refreshed. Using the token refreshes the token for another 2 weeks. Should the token expire, you will need to re-enter your credentials in the AdventureLog settings page.
|
||||
1. The URL to the Wanderer server must be accessible from the Voyage server. This means values like `localhost` or `127.0.0.1` will likely cause some issues.
|
||||
2. Voyage **does not store your Wanderer credentials**. They are only used to fetch an authorization token for the Wanderer API. This token will last for around 2 weeks before needing to be refreshed. Using the token refreshes the token for another 2 weeks. Should the token expire, you will need to re-enter your credentials in the Voyage settings page.
|
||||
|
||||
## Importing Wanderer Trails
|
||||
|
||||
1. Open the create/edit location popup in AdventureLog.
|
||||
1. Open the create/edit location popup in Voyage.
|
||||
2. Naviage to the **Media** tab and scroll down to the **Trail Managment** section.
|
||||
3. Click the **Add Wanderer Trail** button.
|
||||
4. A search input will appear. Type in the name of the trail you want to import.
|
||||
5. Select the desired trail from the search results and click the link icon to import it into your location.
|
||||
6. The imported trail will be added to your location's trails list, and you can view its details, including distance, elevation gain, and more.
|
||||
|
||||
Enjoy exploring new trails with Wanderer and AdventureLog! If you encounter any issues or have questions about the integration, feel free to reach out to the AdventureLog community!
|
||||
Enjoy exploring new trails with Wanderer and Voyage! If you encounter any issues or have questions about the integration, feel free to reach out to the Voyage community!
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# AdventureLog Admin Panel
|
||||
# Voyage Admin Panel
|
||||
|
||||
The AdventureLog Admin Panel, powered by Django, is a web-based interface that allows administrators to manage objects in the AdventureLog database. The Admin Panel is accessible at the `/admin` endpoint of the AdventureLog server. Example: `https://al-server.yourdomain.com/admin`.
|
||||
The Voyage Admin Panel, powered by Django, is a web-based interface that allows administrators to manage objects in the Voyage database. The Admin Panel is accessible at the `/admin` endpoint of the Voyage server. Example: `https://al-server.yourdomain.com/admin`.
|
||||
|
||||
Features of the Admin Panel include:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Invite a User
|
||||
|
||||
AdventureLog allows for admin users to invite new users to create an account via an email invitation.
|
||||
Invites are sent from the AdventureLog [Admin Panel](admin_panel.md) or via a custom invite form. The invite section of the admin panel can be found at `/admin/invitations/invitation/add/`.
|
||||
Voyage allows for admin users to invite new users to create an account via an email invitation.
|
||||
Invites are sent from the Voyage [Admin Panel](admin_panel.md) or via a custom invite form. The invite section of the admin panel can be found at `/admin/invitations/invitation/add/`.
|
||||
|
||||
Tip: make sure you have a working email setup for AdventureLog to send emails. See the [Email Configuration Guide](../configuration/email.md) for more information.
|
||||
Tip: make sure you have a working email setup for Voyage to send emails. See the [Email Configuration Guide](../configuration/email.md) for more information.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# AdventureLog v0.7.1 Migration
|
||||
# Voyage v0.7.1 Migration
|
||||
|
||||
In order to make installation easier, the AdventureLog v0.7.1 release has **removed the need for a separate nginx container** and config to serve the media files. Instead, the media files are now served by an instance of nginx running in the same container as the Django application.
|
||||
In order to make installation easier, the Voyage v0.7.1 release has **removed the need for a separate nginx container** and config to serve the media files. Instead, the media files are now served by an instance of nginx running in the same container as the Django application.
|
||||
|
||||
## Docker Compose Changes
|
||||
|
||||
@@ -30,8 +30,8 @@ You can also just use the new `docker-compose.yml` file in the repository and ch
|
||||
|
||||
That's it! You should now be able to run the application with the new configuration! This update also includes some performance enhancements so there should be a slight speed increase as well, especially with multiple users.
|
||||
|
||||
Enjoy the new version of AdventureLog! 🎉
|
||||
Enjoy the new version of Voyage! 🎉
|
||||
|
||||
View the full changelog [here](https://github.com/seanmorley15/AdventureLog/releases/tag/v0.7.1)
|
||||
View the full changelog [here](https://github.com/seanmorley15/Voyage/releases/tag/v0.7.1)
|
||||
|
||||
Report any bugs [GitHub repository](https://github.com/seanmorley15/adventurelog) or ask for help in the [Discord server](https://discord.gg/wRbQ9Egr8C).
|
||||
Report any bugs [GitHub repository](https://github.com/seanmorley15/voyage) or ask for help in the [Discord server](https://discord.gg/wRbQ9Egr8C).
|
||||
|
||||
@@ -8,7 +8,7 @@ As an example, if you want to add Caddy to your Docker compose configuration, ad
|
||||
services:
|
||||
caddy:
|
||||
image: docker.io/library/caddy:2
|
||||
container_name: adventurelog-caddy
|
||||
container_name: voyage-caddy
|
||||
restart: unless-stopped
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
@@ -30,7 +30,7 @@ volumes:
|
||||
caddy_config:
|
||||
```
|
||||
|
||||
Since all ingress traffic to the AdventureLog containsers now travels through Caddy, we can also remove the external ports configuration from those containsers in the `docker-compose.yml`. Just delete this configuration:
|
||||
Since all ingress traffic to the Voyage containsers now travels through Caddy, we can also remove the external ports configuration from those containsers in the `docker-compose.yml`. Just delete this configuration:
|
||||
|
||||
```yaml
|
||||
web:
|
||||
@@ -47,7 +47,7 @@ That's it for the Docker compose changes. Of course, there are other methods to
|
||||
However, we also need to configure Caddy. For this, create a file `./caddy/Caddyfile` in which you configure the requests which are proxied to the frontend and backend respectively and what domain Caddy should request a certificate for:
|
||||
|
||||
```
|
||||
adventurelog.example.com {
|
||||
voyage.example.com {
|
||||
|
||||
@frontend {
|
||||
not path /media* /admin* /static* /accounts*
|
||||
@@ -64,4 +64,4 @@ Once configured, you can start up the containsers:
|
||||
docker compose up
|
||||
```
|
||||
|
||||
Your AdventureLog should now be up and running.
|
||||
Your Voyage should now be up and running.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Dev Container + WSL 🧰
|
||||
|
||||
Running AdventureLog in a **Dev Container** allows you to contribute to the project or work on features locally in a fully reproducible development environment with hot reloading, debugging, and tooling isolated inside Docker.
|
||||
Running Voyage in a **Dev Container** allows you to contribute to the project or work on features locally in a fully reproducible development environment with hot reloading, debugging, and tooling isolated inside Docker.
|
||||
|
||||
This guide focuses on **Windows using WSL 2**, but the workflow is similar on other platforms.
|
||||
|
||||
@@ -53,15 +53,15 @@ Open a WSL terminal (search for "WSL" in the Windows Start menu and open the WSL
|
||||
|
||||
```bash
|
||||
cd ~
|
||||
git clone https://github.com/seanmorley15/AdventureLog.git
|
||||
cd AdventureLog
|
||||
git clone https://github.com/seanmorley15/Voyage.git
|
||||
cd Voyage
|
||||
```
|
||||
|
||||
> **TIP**
|
||||
> If you plan to contribute changes, fork the repository on GitHub and clone your fork instead:
|
||||
>
|
||||
> ```bash
|
||||
> git clone https://github.com/<your-username>/AdventureLog.git
|
||||
> git clone https://github.com/<your-username>/Voyage.git
|
||||
> ```
|
||||
|
||||
### 2. Create the Development `.env` File (via WSL)
|
||||
@@ -159,7 +159,7 @@ Ensure:
|
||||
If the project lives under `/mnt/c/...`, move it to:
|
||||
|
||||
```bash
|
||||
/home/<user>/AdventureLog
|
||||
/home/<user>/Voyage
|
||||
```
|
||||
|
||||
This avoids performance issues and file watcher bugs.
|
||||
@@ -176,5 +176,5 @@ This avoids performance issues and file watcher bugs.
|
||||
For production or personal hosting, follow the standard
|
||||
[**Docker 🐋 installation guide**](docker.md).
|
||||
|
||||
Enjoy contributing to AdventureLog! 🎉
|
||||
Enjoy contributing to Voyage! 🎉
|
||||
If you run into issues not covered here, please open a discussion or issue so the docs can be improved.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Docker 🐋
|
||||
|
||||
Docker is the preferred way to run AdventureLog on your local machine. It is a lightweight containerization technology that allows you to run applications in isolated environments called containers.
|
||||
Docker is the preferred way to run Voyage on your local machine. It is a lightweight containerization technology that allows you to run applications in isolated environments called containers.
|
||||
|
||||
> **Note**: This guide mainly focuses on installation with a Linux-based host machine, but the steps are similar for other operating systems.
|
||||
|
||||
@@ -10,26 +10,26 @@ Docker is the preferred way to run AdventureLog on your local machine. It is a l
|
||||
|
||||
## Getting Started
|
||||
|
||||
Get the `docker-compose.yml` and `.env.example` files from the AdventureLog repository. You can download them here:
|
||||
Get the `docker-compose.yml` and `.env.example` files from the Voyage repository. You can download them here:
|
||||
|
||||
- [Docker Compose](https://github.com/seanmorley15/AdventureLog/blob/main/docker-compose.yml)
|
||||
- [Environment Variables](https://github.com/seanmorley15/AdventureLog/blob/main/.env.example)
|
||||
- [Docker Compose](https://github.com/seanmorley15/Voyage/blob/main/docker-compose.yml)
|
||||
- [Environment Variables](https://github.com/seanmorley15/Voyage/blob/main/.env.example)
|
||||
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/seanmorley15/AdventureLog/main/docker-compose.yml
|
||||
wget https://raw.githubusercontent.com/seanmorley15/AdventureLog/main/.env.example
|
||||
wget https://raw.githubusercontent.com/seanmorley15/Voyage/main/docker-compose.yml
|
||||
wget https://raw.githubusercontent.com/seanmorley15/Voyage/main/.env.example
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
::: tip
|
||||
|
||||
If running on an ARM based machine, you will need to use a different PostGIS Image. It is recommended to use the `imresamu/postgis:15-3.3-alpine3.21` image or a custom version found [here](https://hub.docker.com/r/imresamu/postgis/tags). The AdventureLog containers are ARM compatible.
|
||||
If running on an ARM based machine, you will need to use a different PostGIS Image. It is recommended to use the `imresamu/postgis:15-3.3-alpine3.21` image or a custom version found [here](https://hub.docker.com/r/imresamu/postgis/tags). The Voyage containers are ARM compatible.
|
||||
|
||||
:::
|
||||
|
||||
## Configuration
|
||||
|
||||
The `.env` file contains all the configuration settings for your AdventureLog instance. Here’s a breakdown of each section:
|
||||
The `.env` file contains all the configuration settings for your Voyage instance. Here’s a breakdown of each section:
|
||||
|
||||
### 🌐 Frontend (web)
|
||||
|
||||
@@ -73,10 +73,10 @@ The `.env` file contains all the configuration settings for your AdventureLog in
|
||||
|
||||
## Running the Containers
|
||||
|
||||
Once you've configured `.env`, you can start AdventureLog with:
|
||||
Once you've configured `.env`, you can start Voyage with:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Enjoy using AdventureLog! 🎉
|
||||
Enjoy using Voyage! 🎉
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# 🚀 Install Options for AdventureLog
|
||||
# 🚀 Install Options for Voyage
|
||||
|
||||
AdventureLog can be installed in a variety of ways, depending on your platform or preference.
|
||||
Voyage can be installed in a variety of ways, depending on your platform or preference.
|
||||
|
||||
## 📦 Docker Quick Start
|
||||
|
||||
::: tip Quick Start Script
|
||||
**The fastest way to get started:**
|
||||
[Install AdventureLog with a single command →](quick_start.md)
|
||||
[Install Voyage with a single command →](quick_start.md)
|
||||
Perfect for Docker beginners.
|
||||
:::
|
||||
|
||||
@@ -17,8 +17,8 @@ Perfect for Docker beginners.
|
||||
- [Synology NAS](synology_nas.md) — Self-host on your home NAS
|
||||
- [Kubernetes + Kustomize](kustomize.md) — Advanced, scalable deployment
|
||||
- [Unraid](unraid.md) — Easy integration for homelabbers
|
||||
- [Umbrel](https://apps.umbrel.com/app/adventurelog) — Home server app store
|
||||
- [TrueNAS](https://apps.truenas.com/catalog/adventurelog/) — TrueNAS app catalog
|
||||
- [Umbrel](https://apps.umbrel.com/app/voyage) — Home server app store
|
||||
- [TrueNAS](https://apps.truenas.com/catalog/voyage/) — TrueNAS app catalog
|
||||
|
||||
## ⚙️ Advanced & Alternative Setups
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# Kubernetes and Kustomize (k8s)
|
||||
|
||||
_AdventureLog can be run inside a kubernetes cluster using [kustomize](https://kustomize.io/)._
|
||||
_Voyage can be run inside a kubernetes cluster using [kustomize](https://kustomize.io/)._
|
||||
|
||||
## Prerequisites
|
||||
|
||||
A working kubernetes cluster. AdventureLog has been tested on k8s, but any Kustomize-capable flavor should be easy to use.
|
||||
A working kubernetes cluster. Voyage has been tested on k8s, but any Kustomize-capable flavor should be easy to use.
|
||||
|
||||
## Cluster Routing
|
||||
|
||||
Because the AdventureLog backend must be reachable by **both** the web browser and the AdventureLog frontend, k8s-internal routing mechanisms traditional for standing up other similar applications **cannot** be used.
|
||||
Because the Voyage backend must be reachable by **both** the web browser and the Voyage frontend, k8s-internal routing mechanisms traditional for standing up other similar applications **cannot** be used.
|
||||
|
||||
In order to host AdventureLog in your cluster, you must therefor configure an internally and externally resolvable ingress that routes to your AdventureLog backend container.
|
||||
In order to host Voyage in your cluster, you must therefor configure an internally and externally resolvable ingress that routes to your Voyage backend container.
|
||||
|
||||
Once you have made said ingress, set `PUBLIC_SERVER_URL` and `PUBLIC_URL` env variables below to the url of that ingress.
|
||||
|
||||
@@ -18,17 +18,17 @@ Once you have made said ingress, set `PUBLIC_SERVER_URL` and `PUBLIC_URL` env va
|
||||
|
||||
Many k8s homelabs choose to use [Tailscale](https://tailscale.com/) or similar projects to remove the need for open ports in your home firewall.
|
||||
|
||||
The [Tailscale k8s Operator](https://tailscale.com/kb/1185/kubernetes/) will set up an externally resolvable service/ingress for your AdventureLog instance,
|
||||
The [Tailscale k8s Operator](https://tailscale.com/kb/1185/kubernetes/) will set up an externally resolvable service/ingress for your Voyage instance,
|
||||
but it will fail to resolve internally.
|
||||
|
||||
You must [expose tailnet IPs to your cluster](https://tailscale.com/kb/1438/kubernetes-operator-cluster-egress#expose-a-tailnet-https-service-to-your-cluster-workloads) so the AdventureLog pods can resolve them.
|
||||
You must [expose tailnet IPs to your cluster](https://tailscale.com/kb/1438/kubernetes-operator-cluster-egress#expose-a-tailnet-https-service-to-your-cluster-workloads) so the Voyage pods can resolve them.
|
||||
|
||||
## Getting Started
|
||||
|
||||
Take a look at the [example config](https://github.com/seanmorley15/AdventureLog/blob/main/kustomization.yml) and modify it for your use case.
|
||||
Take a look at the [example config](https://github.com/seanmorley15/Voyage/blob/main/kustomization.yml) and modify it for your use case.
|
||||
|
||||
## Environment Variables
|
||||
|
||||
Look at the [environment variable summary](docker.md#configuration) in the docker install section to see available and required configuration options.
|
||||
|
||||
Enjoy AdventureLog! 🎉
|
||||
Enjoy Voyage! 🎉
|
||||
|
||||
@@ -2,26 +2,26 @@
|
||||
|
||||
Nginx Proxy Manager is a simple and powerful tool that allows you to manage Nginx proxy hosts and SSL certificates. It is designed to be easy to use and configure, and it integrates well with Docker.
|
||||
|
||||
It is fairly simple to set up Nginx Proxy Manager with AdventureLog.
|
||||
It is fairly simple to set up Nginx Proxy Manager with Voyage.
|
||||
|
||||
## Deploy AdventureLog using Docker
|
||||
## Deploy Voyage using Docker
|
||||
|
||||
View the [Docker installation guide](docker.md) for instructions on how to deploy AdventureLog using Docker.
|
||||
View the [Docker installation guide](docker.md) for instructions on how to deploy Voyage using Docker.
|
||||
|
||||
## Ensure Correct Environment Variables
|
||||
|
||||
- `ORIGIN` - The domain where you will be hosting AdventureLog. This is where the **frontend** will be served from.
|
||||
- `ORIGIN` - The domain where you will be hosting Voyage. This is where the **frontend** will be served from.
|
||||
- `PUBLIC_URL` - This needs to match the **outward port of the server** and be accessible from where the app is used. It is used for the creation of image URLs.
|
||||
|
||||
## Setup Docker Network
|
||||
|
||||
Ensure that the Nginx Proxy Manager and AdventureLog containers are on the same Docker network. You can create a new network using the following command:
|
||||
Ensure that the Nginx Proxy Manager and Voyage containers are on the same Docker network. You can create a new network using the following command:
|
||||
|
||||
```bash
|
||||
docker network create nginx-proxy-manager
|
||||
```
|
||||
|
||||
Add the following to the bottom of the `docker-compose.yml` file for the Nginx Proxy Manager service and the AdventureLog service.
|
||||
Add the following to the bottom of the `docker-compose.yml` file for the Nginx Proxy Manager service and the Voyage service.
|
||||
|
||||
```yaml
|
||||
networks:
|
||||
@@ -34,15 +34,15 @@ networks:
|
||||
|
||||
1. Install Nginx Proxy Manager on your server. You can find the installation instructions [here](https://nginxproxymanager.com/setup/).
|
||||
2. Open the Nginx Proxy Manager web interface and log in with your credentials.
|
||||
3. Add a new proxy host for the AdventureLog **frontend**:
|
||||
- **Domain Names**: Enter the domain name where you will be hosting AdventureLog.
|
||||
3. Add a new proxy host for the Voyage **frontend**:
|
||||
- **Domain Names**: Enter the domain name where you will be hosting Voyage.
|
||||
- **Scheme**: `http`
|
||||
- **Forward Hostname/IP**: `adventurelog-frontend` The name of the AdventureLog **frontend** container in the `docker-compose.yml` file.
|
||||
- **Forward Port**: `3000` This is the internal port of the AdventureLog **frontend** container so you will not need to change it even if you change the external port.
|
||||
4. Add a new proxy host for the AdventureLog **backend**:
|
||||
- **Domain Names**: Enter the domain name where you will be hosting AdventureLog.
|
||||
- **Forward Hostname/IP**: `voyage-frontend` The name of the Voyage **frontend** container in the `docker-compose.yml` file.
|
||||
- **Forward Port**: `3000` This is the internal port of the Voyage **frontend** container so you will not need to change it even if you change the external port.
|
||||
4. Add a new proxy host for the Voyage **backend**:
|
||||
- **Domain Names**: Enter the domain name where you will be hosting Voyage.
|
||||
- **Scheme**: `http`
|
||||
- **Forward Hostname/IP**: `adventurelog-backend` The name of the AdventureLog **backend** container in the `docker-compose.yml` file.
|
||||
- **Forward Port**: `80` This is the internal port of the AdventureLog **backend** container so you will not need to change it even if you change the external port.
|
||||
- **Forward Hostname/IP**: `voyage-backend` The name of the Voyage **backend** container in the `docker-compose.yml` file.
|
||||
- **Forward Port**: `80` This is the internal port of the Voyage **backend** container so you will not need to change it even if you change the external port.
|
||||
|
||||
This will allow you to access AdventureLog using the domain name you specified in the Nginx Proxy Manager configuration.
|
||||
This will allow you to access Voyage using the domain name you specified in the Nginx Proxy Manager configuration.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Proxmox LXC 🐧
|
||||
|
||||
AdventureLog can be installed in a Proxmox LXC container. This script created by the community will help you install AdventureLog in a Proxmox LXC container.
|
||||
[Proxmox VE Helper-Scripts](https://community-scripts.github.io/ProxmoxVE/scripts?id=adventurelog)
|
||||
Voyage can be installed in a Proxmox LXC container. This script created by the community will help you install Voyage in a Proxmox LXC container.
|
||||
[Proxmox VE Helper-Scripts](https://community-scripts.github.io/ProxmoxVE/scripts?id=voyage)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# 🚀 Quick Start Install
|
||||
|
||||
Install **AdventureLog** in seconds using our automated script.
|
||||
Install **Voyage** in seconds using our automated script.
|
||||
|
||||
## 🧪 One-Liner Install
|
||||
|
||||
```bash
|
||||
curl -sSL https://get.adventurelog.app | bash
|
||||
curl -sSL https://get.voyage.app | bash
|
||||
```
|
||||
|
||||
This will:
|
||||
@@ -14,7 +14,7 @@ This will:
|
||||
- Set up project directory
|
||||
- Download required files
|
||||
- Prompt for basic configuration (like domain name)
|
||||
- Start AdventureLog with Docker Compose
|
||||
- Start Voyage with Docker Compose
|
||||
|
||||
## ✅ Requirements
|
||||
|
||||
@@ -37,9 +37,9 @@ The script automatically:
|
||||
To remove everything:
|
||||
|
||||
```bash
|
||||
cd adventurelog
|
||||
cd voyage
|
||||
docker compose down -v
|
||||
rm -rf adventurelog
|
||||
rm -rf voyage
|
||||
```
|
||||
|
||||
Need more control? Explore other [install options](getting_started.md) like Docker, Proxmox, Synology NAS, and more.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Installation on a Synology NAS
|
||||
|
||||
AdventureLog can be deployed on a Synology NAS using Docker. This guide from Marius Hosting will walk you through the process.
|
||||
Voyage can be deployed on a Synology NAS using Docker. This guide from Marius Hosting will walk you through the process.
|
||||
|
||||
[Read the guide Here](https://mariushosting.com/how-to-install-adventurelog-on-your-synology-nas/)
|
||||
[Read the guide Here](https://mariushosting.com/how-to-install-voyage-on-your-synology-nas/)
|
||||
|
||||
In recent versions of Synology DSM, there might be some adjustments needed to fix Nginx should a 502 Bad Gateway Error be returned. That guide can be found [here](https://mariushosting.com/synology-nginx-reverse-proxy-how-to-fix-502-bad-gateway-error/).
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
Traefik is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy. It is designed to be simple to use and configure, and it integrates well with Docker.
|
||||
|
||||
AdventureLog has a built-in Traefik configuration that makes it easy to deploy and manage your AdventureLog instance.
|
||||
Voyage has a built-in Traefik configuration that makes it easy to deploy and manage your Voyage instance.
|
||||
|
||||
The most recent version of the Traefik `docker-compose.yml` file can be found in the [AdventureLog GitHub repository](https://github.com/seanmorley15/AdventureLog/blob/main/docker-compose-traefik.yaml).
|
||||
The most recent version of the Traefik `docker-compose.yml` file can be found in the [Voyage GitHub repository](https://github.com/seanmorley15/Voyage/blob/main/docker-compose-traefik.yaml).
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Installation with Unraid
|
||||
|
||||
AdventureLog is available in the Unraid Community Applications store. You can install it by searching for `AdventureLog` in the Community Applications store, where you will find the frontend and the backend. The database can be found by searching `PostGIS`.
|
||||
Voyage is available in the Unraid Community Applications store. You can install it by searching for `Voyage` in the Community Applications store, where you will find the frontend and the backend. The database can be found by searching `PostGIS`.
|
||||
|
||||
Community Applications Page for AdventureLog: [AdventureLog on CA Store](https://unraid.net/community/apps?q=AdventureLog)\
|
||||
Community Applications Page for Voyage: [Voyage on CA Store](https://unraid.net/community/apps?q=Voyage)\
|
||||
Community Applications Page for PostGIS: [PostGIS on CA Store](https://unraid.net/community/apps?q=PostGIS)
|
||||
|
||||
## Installation Configuration
|
||||
@@ -18,7 +18,7 @@ docker network create example
|
||||
## Database
|
||||
|
||||
- Network type should be set to your **custom network**.
|
||||
- There is **no** AdventureLog---Database app, to find the database application search for `PostGIS` on the Unraid App Store then add and fill out the fields as shown below
|
||||
- There is **no** Voyage---Database app, to find the database application search for `PostGIS` on the Unraid App Store then add and fill out the fields as shown below
|
||||
- Change the repository version to `postgis/postgis:15-3.3`
|
||||
- Ensure that the variables `POSTGRES_DB`, `POSTGRES_USER`, and `POSTGRES_PASSWORD` are set in the `PostGIS` container. If not, then add them as custom variables. The template should have `POSTGRES_PASSWORD` already and you will simply have to add `POSTGRES_DB` and `POSTGRES_USER`.
|
||||
- The forwarded port of `5012` is not needed unless you plan to access the database outside of the container's network.
|
||||
@@ -72,6 +72,6 @@ docker network create example
|
||||
|
||||
## Additional Resources
|
||||
|
||||
Youtuber AlienTech42 has created a helpful video walking through the installation of AdventureLog on Unraid:
|
||||
Youtuber AlienTech42 has created a helpful video walking through the installation of Voyage on Unraid:
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/hJnoePdAhXg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
# About AdventureLog
|
||||
|
||||
Starting from a simple idea of tracking travel locations, AdventureLog has grown into a full-fledged travel companion. With AdventureLog, you can log your adventures, keep track of where you've been on the world map, plan your next trip collaboratively, and share your experiences with friends and family. **AdventureLog is the ultimate travel companion for the modern-day explorer**.
|
||||
|
||||
## Features
|
||||
|
||||
- **Track Your Adventures** 🌍: Log your adventures and keep track of where you've been on the world map.
|
||||
- Locations can store a variety of information, including the location, date, and description.
|
||||
- Locations can be sorted into custom categories for easy organization.
|
||||
- Locations can be marked as private or public, allowing you to share your adventures with friends and family.
|
||||
- Keep track of the countries and regions you've visited with the world travel book.
|
||||
- Upload trails and activities to your locations to remember your experiences with detailed maps and stats.
|
||||
- **Plan Your Next Trip** 📃: Take the guesswork out of planning your next adventure with an easy-to-use itinerary planner.
|
||||
- Itineraries can be created for any number of days and can include multiple destinations.
|
||||
- Itineraries include many planning features like flight information, notes, checklists, and links to external resources.
|
||||
- Itineraries can be shared with friends and family for collaborative planning.
|
||||
- **Share Your Experiences** 📸: Share your adventures with friends and family and collaborate on trips together.
|
||||
- Locations and itineraries can be shared via a public link or directly with other AdventureLog users.
|
||||
- Collaborators can view and edit shared itineraries (collections), making planning a breeze.
|
||||
|
||||
## Why AdventureLog?
|
||||
|
||||
AdventureLog was created to solve a problem: the lack of a modern, open-source, user-friendly travel companion. Many existing travel apps are either too complex, too expensive, or too closed-off to be useful for the average traveler. AdventureLog aims to be the opposite: simple, beautiful, and open to everyone.
|
||||
|
||||
### Open Source (GPL-3.0)
|
||||
|
||||
AdventureLog is open-source software, licensed under the GPL-3.0 license. This means that you are free to use, modify, and distribute AdventureLog as you see fit. The source code is available on GitHub, and contributions are welcome from anyone who wants to help improve the project.
|
||||
|
||||
## About the Maintainer
|
||||
|
||||
Hi, I'm [Sean Morley](https://seanmorley.com), the creator of AdventureLog. I'm an Electrical Engineering student at the University of Connecticut, and I'm passionate about open-source software and building modern tools that help people solve real-world problems. I created AdventureLog to solve a problem: the lack of a modern, open-source, user-friendly travel companion. Many existing travel apps are either too complex, too expensive, or too closed-off to be useful for the average traveler. AdventureLog aims to be the opposite: simple, beautiful, and open to everyone.
|
||||
|
||||
I hope you enjoy using AdventureLog as much as I enjoy creating it! If you have any questions, feedback, or suggestions, feel free to reach out to me via the email address listed on my website. I'm always happy to hear from users and help in any way I can. Thank you for using AdventureLog, and happy travels! 🌍
|
||||
|
||||
If you want to check out the origins of AdventureLog and the timeline, process, and story of its development, check out the [Development Timeline](/docs/changelogs/development_timeline.md).
|
||||
33
documentation/docs/intro/voyage_overview.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# About Voyage
|
||||
|
||||
> **Voyage is a fork of [AdventureLog](https://github.com/seanmorley15/AdventureLog)**, the open-source travel companion created by [Sean Morley](https://seanmorley.com). Voyage builds on AdventureLog's foundation to make additional changes and improvements.
|
||||
|
||||
Voyage is a full-fledged travel companion. With Voyage, you can log your adventures, keep track of where you've been on the world map, plan your next trip collaboratively, and share your experiences with friends and family. **Voyage is the ultimate travel companion for the modern-day explorer**.
|
||||
|
||||
## Features
|
||||
|
||||
- **Track Your Adventures** 🌍: Log your adventures and keep track of where you've been on the world map.
|
||||
- Locations can store a variety of information, including the location, date, and description.
|
||||
- Locations can be sorted into custom categories for easy organization.
|
||||
- Locations can be marked as private or public, allowing you to share your adventures with friends and family.
|
||||
- Keep track of the countries and regions you've visited with the world travel book.
|
||||
- Upload trails and activities to your locations to remember your experiences with detailed maps and stats.
|
||||
- **Plan Your Next Trip** 📃: Take the guesswork out of planning your next adventure with an easy-to-use itinerary planner.
|
||||
- Itineraries can be created for any number of days and can include multiple destinations.
|
||||
- Itineraries include many planning features like flight information, notes, checklists, and links to external resources.
|
||||
- Itineraries can be shared with friends and family for collaborative planning.
|
||||
- **Share Your Experiences** 📸: Share your adventures with friends and family and collaborate on trips together.
|
||||
- Locations and itineraries can be shared via a public link or directly with other Voyage users.
|
||||
- Collaborators can view and edit shared itineraries (collections), making planning a breeze.
|
||||
|
||||
## Why Voyage?
|
||||
|
||||
Voyage inherits AdventureLog's mission: to provide a modern, open-source, user-friendly alternative to travel apps that are too complex, too expensive, or too closed off. Voyage builds on this foundation with additional changes and improvements.
|
||||
|
||||
### Open Source (GPL-3.0)
|
||||
|
||||
Voyage is open-source software, licensed under the GPL-3.0 license. This means that you are free to use, modify, and distribute Voyage as you see fit. The source code is available on GitHub, and contributions are welcome from anyone who wants to help improve the project.
|
||||
|
||||
## Upstream Project
|
||||
|
||||
Voyage is a fork of [AdventureLog](https://github.com/seanmorley15/AdventureLog), created by [Sean Morley](https://seanmorley.com). Credit and thanks go to Sean and all contributors to the original project for building the foundation that Voyage is built upon.
|
||||
@@ -1,6 +1,6 @@
|
||||
# Troubleshooting: Login and Registration Unresponsive
|
||||
|
||||
When you encounter issues with the login and registration pages being unresponsive in AdventureLog, it can be due to various reasons. This guide will help you troubleshoot and resolve the unresponsive login and registration pages in AdventureLog.
|
||||
When you encounter issues with the login and registration pages being unresponsive in Voyage, it can be due to various reasons. This guide will help you troubleshoot and resolve the unresponsive login and registration pages in Voyage.
|
||||
|
||||
1. Check to make sure the backend container is running and accessible.
|
||||
|
||||
@@ -15,4 +15,4 @@ When you encounter issues with the login and registration pages being unresponsi
|
||||
- Check that the `ORIGIN` variable in the frontend is set to the URL where the frontend is access and you are accessing the app from currently.
|
||||
- Check that the `CSRF_TRUSTED_ORIGINS` variable in the backend is set to a comma separated list of the origins where you use your backend server and frontend. One of these values should match the `ORIGIN` variable in the frontend.
|
||||
|
||||
4. If you are still experiencing issues, please refer to the [AdventureLog Discord Server](https://discord.gg/wRbQ9Egr8C) for further assistance, providing as much detail as possible about the issue you are experiencing!
|
||||
4. If you are still experiencing issues, please refer to the [Voyage Discord Server](https://discord.gg/wRbQ9Egr8C) for further assistance, providing as much detail as possible about the issue you are experiencing!
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Troubleshooting: `Starting nginx: nginx failed!` in the Backend Container
|
||||
|
||||
::: tip
|
||||
As of 1-10-2024, this should be resolved in the latest version of AdventureLog. If you are still experiencing this issue, please reach out to the AdventureLog community on Discord or GitHub for further assistance.
|
||||
As of 1-10-2024, this should be resolved in the latest version of Voyage. If you are still experiencing this issue, please reach out to the Voyage community on Discord or GitHub for further assistance.
|
||||
:::
|
||||
|
||||
The AdventureLog backend container uses a built-in Nginx container with a built-in nginx config that relies on the name `server` to be the service name of the backend container. If the Nginx service fails to start in the backend container, the whole backend service will keep restarting and fail to start.
|
||||
The Voyage backend container uses a built-in Nginx container with a built-in nginx config that relies on the name `server` to be the service name of the backend container. If the Nginx service fails to start in the backend container, the whole backend service will keep restarting and fail to start.
|
||||
|
||||
**The primary reason for this error is changing the backend service name `server` to something different**
|
||||
|
||||
@@ -16,30 +16,30 @@ If you're experiencing issues with the Nginx service failing to start in the bac
|
||||
- The service name should be set to `server` in the `docker-compose.yml` file. For example:
|
||||
```yaml
|
||||
server:
|
||||
image: ghcr.io/seanmorley15/adventurelog-backend:latest
|
||||
container_name: adventurelog-backend
|
||||
image: ghcr.io/seanmorley15/voyage-backend:latest
|
||||
container_name: voyage-backend
|
||||
```
|
||||
|
||||
### 2. **To keep the backend service name different**:
|
||||
|
||||
- If you want to keep the backend service name different from `server`, you can mount a custom Nginx configuration file to the backend container.
|
||||
|
||||
- Get the default Nginx configuration file from the AdventureLog repository:
|
||||
- Get the default Nginx configuration file from the Voyage repository:
|
||||
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/backend/nginx.conf
|
||||
wget https://raw.githubusercontent.com/seanmorley15/Voyage/refs/heads/main/backend/nginx.conf
|
||||
```
|
||||
|
||||
- Update the `nginx.conf` file to replace all occurrences of `server` with your custom service name.
|
||||
- Mount the custom Nginx configuration file to the backend container in the `docker-compose.yml` file. For example:
|
||||
```yaml
|
||||
server:
|
||||
image: ghcr.io/seanmorley15/adventurelog-backend:latest
|
||||
container_name: adventurelog-backend
|
||||
image: ghcr.io/seanmorley15/voyage-backend:latest
|
||||
container_name: voyage-backend
|
||||
volumes:
|
||||
- ./nginx.conf:/etc/nginx/nginx.conf
|
||||
```
|
||||
|
||||
### 3. **Restart the Backend Container**:
|
||||
|
||||
These steps should help you resolve the issue with the Nginx service failing to start in the backend container. If you continue to face issues, please reach out to the AdventureLog community on Discord or GitHub for further assistance.
|
||||
These steps should help you resolve the issue with the Nginx service failing to start in the backend container. If you continue to face issues, please reach out to the Voyage community on Discord or GitHub for further assistance.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Troubleshooting: Images Not Displayed in AdventureLog
|
||||
# Troubleshooting: Images Not Displayed in Voyage
|
||||
|
||||
The AdventureLog backend container uses a built-in Nginx container to serve media to the frontend. The `PUBLIC_URL` environment variable is set to the external URL of the **backend** container. This URL is used to generate the URLs for the images in the frontend. If this URL is not set correctly or not accessible from the frontend, the images will not be displayed.
|
||||
The Voyage backend container uses a built-in Nginx container to serve media to the frontend. The `PUBLIC_URL` environment variable is set to the external URL of the **backend** container. This URL is used to generate the URLs for the images in the frontend. If this URL is not set correctly or not accessible from the frontend, the images will not be displayed.
|
||||
|
||||
If you're experiencing issues with images not displaying in AdventureLog, follow these troubleshooting steps to resolve the issue.
|
||||
If you're experiencing issues with images not displaying in Voyage, follow these troubleshooting steps to resolve the issue.
|
||||
|
||||
1. **Check the `PUBLIC_URL` Environment Variable**:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# How to use AdventureLog
|
||||
# How to use Voyage
|
||||
|
||||
Welcome to AdventureLog! This guide will help you get started with AdventureLog and provide you with an overview of the features available to you.
|
||||
Welcome to Voyage! This guide will help you get started with Voyage and provide you with an overview of the features available to you.
|
||||
|
||||
## Key Terms
|
||||
|
||||
@@ -11,7 +11,7 @@ Welcome to AdventureLog! This guide will help you get started with AdventureLog
|
||||
The term "Location" is now used instead of "Adventure" - the usage remains the same, just the name has changed to better reflect the purpose of the feature.
|
||||
:::
|
||||
|
||||
- **Location**: think of a location as a point on a map, a place you want to visit, have visited, or a place you want to explore. A location can be anything you want it to be, from a local park to a famous landmark. These are the building blocks of AdventureLog and are the fundamental unit of information in the app.
|
||||
- **Location**: think of a location as a point on a map, a place you want to visit, have visited, or a place you want to explore. A location can be anything you want it to be, from a local park to a famous landmark. These are the building blocks of Voyage and are the fundamental unit of information in the app.
|
||||
- **Visit**: a visit is added to an location. It contains a date and notes about when the location was visited. If a location is visited multiple times, multiple visits can be added. If there are no visits on a location or the date of all visits is in the future, the location is considered planned. If the date of the visit is in the past, the location is considered completed.
|
||||
- **Category**: a category is a way to group locations together. For example, you could have a category for parks, a category for museums, and a category for restaurants.
|
||||
- **Tag**: a tag is a way to add additional information to a location. For example, you could have a tag for the type of cuisine at a restaurant or the type of art at a museum. Multiple tags can be added to a location.
|
||||
@@ -30,7 +30,7 @@ The term "Location" is now used instead of "Adventure" - the usage remains the s
|
||||
|
||||
#### World Travel
|
||||
|
||||
- **World Travel**: the world travel feature of AdventureLog allows you to track the countries, regions, and cities you have visited during your lifetime. You can add visits to countries, regions, and cities, and view statistics about your travels. The world travel feature is a fun way to visualize where you have been and where you want to go next.
|
||||
- **World Travel**: the world travel feature of Voyage allows you to track the countries, regions, and cities you have visited during your lifetime. You can add visits to countries, regions, and cities, and view statistics about your travels. The world travel feature is a fun way to visualize where you have been and where you want to go next.
|
||||
- **Country**: a country is a geographical area that is recognized as an independent nation. You can add visits to countries to track where you have been.
|
||||
- **Region**: a region is a geographical area that is part of a country. You can add visits to regions to track where you have been within a country.
|
||||
- **City**: a city is a geographical area that is a populated urban center. You can add visits to cities to track where you have been within a region.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
layout: home
|
||||
|
||||
hero:
|
||||
name: "AdventureLog"
|
||||
name: "Voyage"
|
||||
text: "The ultimate travel companion."
|
||||
tagline: Discover new places, track your adventures, and share your experiences with friends and family.
|
||||
actions:
|
||||
@@ -12,13 +12,13 @@ hero:
|
||||
link: /docs/install/getting_started
|
||||
- theme: alt
|
||||
text: About
|
||||
link: /docs/intro/adventurelog_overview
|
||||
link: /docs/intro/voyage_overview
|
||||
- theme: alt
|
||||
text: Demo
|
||||
link: https://demo.adventurelog.app
|
||||
link: https://demo.voyage.app
|
||||
image:
|
||||
src: ./adventurelog.svg
|
||||
alt: AdventureLog Map Logo
|
||||
src: ./voyage.svg
|
||||
alt: Voyage Map Logo
|
||||
|
||||
features:
|
||||
- title: "Track Your Adventures"
|
||||
@@ -34,10 +34,10 @@ features:
|
||||
|
||||
## ⚡️ Quick Start
|
||||
|
||||
Get AdventureLog running in under 60 seconds:
|
||||
Get Voyage running in under 60 seconds:
|
||||
|
||||
```bash [One-Line Install]
|
||||
curl -sSL https://get.adventurelog.app | bash
|
||||
curl -sSL https://get.voyage.app | bash
|
||||
```
|
||||
|
||||
You can also explore our [full installation guide](/docs/install/getting_started) for plenty of options, including Docker, Proxmox, Synology NAS, and more.
|
||||
@@ -46,46 +46,46 @@ You can also explore our [full installation guide](/docs/install/getting_started
|
||||
|
||||
::: details 🗂️ **Location Overview & Management**
|
||||
Manage your full list of locations with ease. View upcoming and past trips, filter and sort by status, date, or category to find exactly what you want quickly.
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/brand/screenshots/adventures.png" alt="Location Overview" style="max-width:100%; margin-top:10px;" />
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/Voyage/refs/heads/main/brand/screenshots/adventures.png" alt="Location Overview" style="max-width:100%; margin-top:10px;" />
|
||||
:::
|
||||
|
||||
::: details 📋 **Detailed Adventure Logs**
|
||||
Capture rich details for every location: name, dates, precise locations, vivid descriptions, personal ratings, photos, and customizable categories. Your memories deserve to be more than just map pins — keep them alive with full, organized logs.
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/brand/screenshots/details.png" alt="Detailed Adventure Logs" style="max-width:100%; margin-top:10px;" />
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/Voyage/refs/heads/main/brand/screenshots/details.png" alt="Detailed Adventure Logs" style="max-width:100%; margin-top:10px;" />
|
||||
:::
|
||||
|
||||
::: details 🗺️ **Interactive World Map**
|
||||
Track every destination you’ve visited or plan to visit with our beautifully detailed, interactive world map. Easily filter locations by visit status — visited or planned — and add new locations by simply clicking on the map. Watch your travel story unfold visually as your journey grows.
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/brand/screenshots/map.png" alt="Interactive World Map" style="max-width:100%; margin-top:10px;" />
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/brand/screenshots/map-satellite.png" alt="Interactive World Map" style="max-width:100%; margin-top:10px;" />
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/Voyage/refs/heads/main/brand/screenshots/map.png" alt="Interactive World Map" style="max-width:100%; margin-top:10px;" />
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/Voyage/refs/heads/main/brand/screenshots/map-satellite.png" alt="Interactive World Map" style="max-width:100%; margin-top:10px;" />
|
||||
:::
|
||||
|
||||
::: details ✈️ **Comprehensive Trip Planning**
|
||||
Organize your multi-day trips with detailed itineraries, including flight information, daily activities, collaborative notes, packing checklists, and handy resource links. Stay on top of your plans and ensure every adventure runs smoothly.
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/brand/screenshots/itinerary.png" alt="Comprehensive Trip Planning" style="max-width:100%; margin-top:10px;" />
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/Voyage/refs/heads/main/brand/screenshots/itinerary.png" alt="Comprehensive Trip Planning" style="max-width:100%; margin-top:10px;" />
|
||||
:::
|
||||
|
||||
::: details 📊 **Travel Statistics Dashboard**
|
||||
Unlock insights into your travel habits and milestones through elegant, easy-to-understand analytics. Track total countries visited, regions explored, cities logged, and more. Visualize your world travels with ease and celebrate your achievements.
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/brand/screenshots/dashboard.png" alt="Travel Statistics Dashboard" style="max-width:100%; margin-top:10px;" />
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/Voyage/refs/heads/main/brand/screenshots/dashboard.png" alt="Travel Statistics Dashboard" style="max-width:100%; margin-top:10px;" />
|
||||
:::
|
||||
|
||||
::: details ✏️ **Edit & Customize Locations**
|
||||
Make quick updates or deep customizations to any location using a clean and intuitive editing interface. Add photos, update notes, adjust dates, and more—keeping your records accurate and personal.
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/brand/screenshots/edit.png" alt="Edit Location Modal" style="max-width:100%; margin-top:10px;" />
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/Voyage/refs/heads/main/brand/screenshots/edit.png" alt="Edit Location Modal" style="max-width:100%; margin-top:10px;" />
|
||||
:::
|
||||
|
||||
::: details 🌍 **Countries & Regions Explorer**
|
||||
Explore and manage the countries you’ve visited or plan to visit with an organized list, filtering by visit status. Dive deeper into each country’s regions, complete with interactive maps to help you visually select and track your regional travels.
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/brand/screenshots/countries.png" alt="Countries List" style="max-width:100%; margin-top:10px;" />
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/brand/screenshots/regions.png" alt="Regions Explorer" style="max-width:100%; margin-top:10px;" />
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/Voyage/refs/heads/main/brand/screenshots/countries.png" alt="Countries List" style="max-width:100%; margin-top:10px;" />
|
||||
<img src="https://raw.githubusercontent.com/seanmorley15/Voyage/refs/heads/main/brand/screenshots/regions.png" alt="Regions Explorer" style="max-width:100%; margin-top:10px;" />
|
||||
:::
|
||||
|
||||
## 💬 What People Are Saying
|
||||
|
||||
::: details ✈️ **XDA Travel Week Reviews**
|
||||
|
||||
> “I stumbled upon AdventureLog. It's an open-source, self-hosted travel planner that's completely free to use and has a bunch of cool features that make it a treat to plan, organize, and log your journey across the world. Safe to say, it's become a mainstay in Docker for me.”
|
||||
> “I stumbled upon Voyage. It's an open-source, self-hosted travel planner that's completely free to use and has a bunch of cool features that make it a treat to plan, organize, and log your journey across the world. Safe to say, it's become a mainstay in Docker for me.”
|
||||
>
|
||||
> — _Sumukh Rao, Senior Author at XDA_
|
||||
|
||||
@@ -97,7 +97,7 @@ Explore and manage the countries you’ve visited or plan to visit with an organ
|
||||
|
||||
**Overall Ranking: #1**
|
||||
|
||||
> “The most important part of travelling in this socially connected world is to log everything and showcase all of your adventures. AdventureLog is aptly named, as it allows you to do just that. It just so happens to be one of the best apps for the job and can be fully self-hosted at home.”
|
||||
> “The most important part of travelling in this socially connected world is to log everything and showcase all of your adventures. Voyage is aptly named, as it allows you to do just that. It just so happens to be one of the best apps for the job and can be fully self-hosted at home.”
|
||||
>
|
||||
> — _Rich Edmonds, Lead PC Hardware Editor at XDA_
|
||||
|
||||
@@ -107,17 +107,17 @@ Explore and manage the countries you’ve visited or plan to visit with an organ
|
||||
|
||||
::: details 📆 **Open Source Daily**
|
||||
|
||||
> “Your travel memories are your personal treasures—don’t let them be held hostage by closed platforms, hidden fees, or privacy risks. AdventureLog represents a new era of travel tracking: open, private, comprehensive, and truly yours. Whether you’re a casual traveler, digital nomad, family vacation planner, or anyone who values their adventures, AdventureLog offers a compelling alternative that puts you back in control.”
|
||||
> “Your travel memories are your personal treasures—don’t let them be held hostage by closed platforms, hidden fees, or privacy risks. Voyage represents a new era of travel tracking: open, private, comprehensive, and truly yours. Whether you’re a casual traveler, digital nomad, family vacation planner, or anyone who values their adventures, Voyage offers a compelling alternative that puts you back in control.”
|
||||
>
|
||||
> — _Open Source Daily_
|
||||
|
||||
[Article Link](https://opensourcedaily.blog/adventurelog-private-open-source-travel-tracking-trip-planning/)
|
||||
[Article Link](https://opensourcedaily.blog/voyage-private-open-source-travel-tracking-trip-planning/)
|
||||
|
||||
:::
|
||||
|
||||
::: details 📱 **Android Authority**
|
||||
|
||||
> "AdventureLog behaves more like a super-charged travel journal than yet another travel app.”
|
||||
> "Voyage behaves more like a super-charged travel journal than yet another travel app.”
|
||||
>
|
||||
> — _Dhruv Bhutani, Android Authority_
|
||||
|
||||
@@ -161,7 +161,7 @@ Explore and manage the countries you’ve visited or plan to visit with an organ
|
||||
|
||||
### 🎯 **Active Development**
|
||||
|
||||
Regular updates, new features, and community-driven improvements keep AdventureLog at the forefront of travel technology.
|
||||
Regular updates, new features, and community-driven improvements keep Voyage at the forefront of travel technology.
|
||||
|
||||
</div>
|
||||
|
||||
@@ -185,12 +185,12 @@ GPL 3.0 licensed, fully transparent, and built for the community. By travelers,
|
||||
|
||||
## 💖 Support the Project
|
||||
|
||||
AdventureLog is lovingly maintained by passionate developers and supported by amazing users like you:
|
||||
Voyage is lovingly maintained by passionate developers and supported by amazing users like you:
|
||||
|
||||
- ⭐ [Star us on GitHub](https://github.com/seanmorley15/AdventureLog)
|
||||
- ⭐ [Star us on GitHub](https://github.com/seanmorley15/Voyage)
|
||||
- 💬 [Join our Discord community](https://discord.gg/wRbQ9Egr8C)
|
||||
- 💖 [Sponsor The Project](https://seanmorley.com/sponsor) to help us keep improving AdventureLog
|
||||
- 🐛 [Report bugs & request features](https://github.com/seanmorley15/AdventureLog/issues)
|
||||
- 💖 [Sponsor The Project](https://seanmorley.com/sponsor) to help us keep improving Voyage
|
||||
- 🐛 [Report bugs & request features](https://github.com/seanmorley15/Voyage/issues)
|
||||
|
||||
---
|
||||
|
||||
@@ -200,7 +200,7 @@ AdventureLog is lovingly maintained by passionate developers and supported by am
|
||||
|
||||
Stop letting amazing adventures fade from memory. Start documenting, planning, and sharing your travel story today.
|
||||
|
||||
[**🚀 Get Started Now**](/docs/install/getting_started) • [**📱 Try the Demo**](https://demo.adventurelog.app) • [**📚 Read the Docs**](/docs/intro/adventurelog_overview)
|
||||
[**🚀 Get Started Now**](/docs/install/getting_started) • [**📱 Try the Demo**](https://demo.voyage.app) • [**📚 Read the Docs**](/docs/intro/voyage_overview)
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 87 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
4
frontend/package-lock.json
generated
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "adventurelog-frontend",
|
||||
"name": "voyage-frontend",
|
||||
"version": "0.12.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "adventurelog-frontend",
|
||||
"name": "voyage-frontend",
|
||||
"version": "0.12.0",
|
||||
"dependencies": {
|
||||
"@lukulent/svelte-umami": "^0.0.3",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "adventurelog-frontend",
|
||||
"name": "voyage-frontend",
|
||||
"version": "0.12.0",
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
|
||||
@@ -46,11 +46,11 @@
|
||||
<div class="flex items-center justify-between mb-6">
|
||||
<div class="flex items-center gap-3">
|
||||
<div class="p-2 bg-primary/10 rounded-lg">
|
||||
<img src="/favicon.png" alt="AdventureLog" class="w-12 h-12" />
|
||||
<img src="/favicon.png" alt="Voyage" class="w-12 h-12" />
|
||||
</div>
|
||||
<div>
|
||||
<h1 class="text-2xl font-bold text-primary">
|
||||
{$t('about.about')} AdventureLog
|
||||
{$t('about.about')} Voyage
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
@@ -176,7 +176,7 @@
|
||||
</p>
|
||||
|
||||
<a
|
||||
href="https://github.com/seanmorley15/AdventureLog/blob/main/LICENSE"
|
||||
href="https://github.com/seanmorley15/Voyage/blob/main/LICENSE"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="link link-primary mt-2"
|
||||
@@ -191,7 +191,7 @@
|
||||
<div class="card-body p-4">
|
||||
<div class="flex flex-wrap gap-3">
|
||||
<a
|
||||
href="https://github.com/seanmorley15/AdventureLog"
|
||||
href="https://github.com/seanmorley15/Voyage"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="btn btn-outline btn-sm"
|
||||
@@ -208,7 +208,7 @@
|
||||
</a>
|
||||
<!-- documentation -->
|
||||
<a
|
||||
href="https://adventurelog.app"
|
||||
href="https://voyage.app"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="btn btn-outline btn-sm"
|
||||
|
||||
@@ -203,8 +203,8 @@
|
||||
<!-- Logo -->
|
||||
<a class="btn btn-ghost hover:bg-transparent p-2 text-2xl font-bold tracking-tight" href="/">
|
||||
<div class="flex items-center gap-3">
|
||||
<img src="/favicon.png" alt="AdventureLog" class="w-10 h-10" />
|
||||
<span class="hidden sm:inline mb-1"> AdventureLog </span>
|
||||
<img src="/favicon.png" alt="Voyage" class="w-10 h-10" />
|
||||
<span class="hidden sm:inline mb-1"> Voyage </span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -289,7 +289,7 @@
|
||||
</button>
|
||||
<button
|
||||
class="btn btn-ghost w-full justify-start gap-3"
|
||||
on:click={() => (window.location.href = 'https://adventurelog.app')}
|
||||
on:click={() => (window.location.href = 'https://voyage.app')}
|
||||
>
|
||||
{$t('navbar.documentation')}
|
||||
</button>
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
const data = await res.json();
|
||||
if (res.status == 404) {
|
||||
secret = data.meta.secret;
|
||||
totpUrl = `otpauth://totp/AdventureLog:${user?.username}?secret=${secret}&issuer=AdventureLog`;
|
||||
totpUrl = `otpauth://totp/Voyage:${user?.username}?secret=${secret}&issuer=Voyage`;
|
||||
generateQRCode(totpUrl);
|
||||
} else if (res.ok) {
|
||||
close();
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
on:keydown={handleKeydown}
|
||||
tabindex="0"
|
||||
>
|
||||
<!-- Header Section - Following adventurelog pattern -->
|
||||
<!-- Header Section - Following voyage pattern -->
|
||||
<div
|
||||
class="top-0 z-10 bg-base-100/90 backdrop-blur-lg border-b border-base-300 -mx-6 -mt-6 px-6 py-4 mb-6"
|
||||
>
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
on:keydown={handleKeydown}
|
||||
tabindex="0"
|
||||
>
|
||||
<!-- Header Section - Following adventurelog pattern -->
|
||||
<!-- Header Section - Following voyage pattern -->
|
||||
<div
|
||||
class="top-0 z-10 bg-base-100/90 backdrop-blur-lg border-b border-base-300 -mx-6 -mt-6 px-6 py-4 mb-6"
|
||||
>
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
on:keydown={handleKeydown}
|
||||
tabindex="0"
|
||||
>
|
||||
<!-- Header Section - Following adventurelog pattern -->
|
||||
<!-- Header Section - Following voyage pattern -->
|
||||
<div
|
||||
class="top-0 z-10 bg-base-100/90 backdrop-blur-lg border-b border-base-300 -mx-6 -mt-6 px-6 py-4 mb-6"
|
||||
>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
export let appVersion = 'v0.12.0-main-022726';
|
||||
export let versionChangelog = 'https://github.com/seanmorley15/AdventureLog/releases/tag/v0.12.0';
|
||||
export let appTitle = 'AdventureLog';
|
||||
export let versionChangelog = 'https://github.com/seanmorley15/Voyage/releases/tag/v0.12.0';
|
||||
export let appTitle = 'Voyage';
|
||||
export let copyrightYear = '2023-2026';
|
||||
|
||||
@@ -418,9 +418,9 @@ export function getRandomBackground() {
|
||||
newYearsEnd.setHours(23, 59, 59, 999);
|
||||
if (today >= newYearsStart && today <= newYearsEnd) {
|
||||
return {
|
||||
url: 'backgrounds/adventurelog_new_year.webp',
|
||||
url: 'backgrounds/voyage_new_year.webp',
|
||||
author: 'Roven Images',
|
||||
location: "Happy New Year's from the AdventureLog team!"
|
||||
location: "Happy New Year's from the Voyage team!"
|
||||
} as Background;
|
||||
}
|
||||
|
||||
@@ -432,9 +432,9 @@ export function getRandomBackground() {
|
||||
|
||||
if (today >= christmasStart && today <= christmasEnd) {
|
||||
return {
|
||||
url: 'backgrounds/adventurelog_christmas.webp',
|
||||
url: 'backgrounds/voyage_christmas.webp',
|
||||
author: 'Annie Spratt',
|
||||
location: 'Merry Christmas from the AdventureLog team!'
|
||||
location: 'Merry Christmas from the Voyage team!'
|
||||
} as Background;
|
||||
}
|
||||
|
||||
|
||||