diff --git a/backend/Dockerfile b/backend/Dockerfile index aa0f9f4..fae48fb 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -12,7 +12,7 @@ WORKDIR /code # Install system dependencies (Nginx included) RUN apt-get update \ - && apt-get install -y git postgresql-client gdal-bin libgdal-dev nginx \ + && apt-get install -y git postgresql-client gdal-bin libgdal-dev nginx supervisor \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* @@ -31,6 +31,9 @@ COPY ./server /code/ # Copy Nginx configuration COPY ./nginx.conf /etc/nginx/nginx.conf +# Copy Supervisor configuration +COPY ./supervisord.conf /etc/supervisor/conf.d/supervisord.conf + # Collect static files RUN python3 manage.py collectstatic --noinput --verbosity 2 @@ -41,5 +44,5 @@ RUN chmod +x /code/entrypoint.sh # Expose ports for NGINX and Gunicorn EXPOSE 80 8000 -# Command to start Nginx and Gunicorn -CMD ["bash", "-c", "service nginx start && /code/entrypoint.sh"] \ No newline at end of file +# Command to start Supervisor (which starts Nginx and Gunicorn) +CMD ["supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"] diff --git a/backend/entrypoint.sh b/backend/entrypoint.sh index 9ca926c..780a182 100644 --- a/backend/entrypoint.sh +++ b/backend/entrypoint.sh @@ -62,5 +62,8 @@ fi cat /code/adventurelog.txt -# Start gunicorn -gunicorn main.wsgi:application --bind [::]:8000 --timeout 120 --workers 2 \ No newline at end of file +# Start Gunicorn in foreground +exec gunicorn main.wsgi:application \ + --bind 0.0.0.0:8000 \ + --workers 4 \ + --timeout 120 diff --git a/backend/supervisord.conf b/backend/supervisord.conf new file mode 100644 index 0000000..7657f7f --- /dev/null +++ b/backend/supervisord.conf @@ -0,0 +1,10 @@ +[supervisord] +nodaemon=true + +[program:nginx] +command=/usr/sbin/nginx -g "daemon off;" +autorestart=true + +[program:gunicorn] +command=/code/entrypoint.sh +autorestart=true diff --git a/documentation/.vitepress/config.mts b/documentation/.vitepress/config.mts index 4877f62..4ef995d 100644 --- a/documentation/.vitepress/config.mts +++ b/documentation/.vitepress/config.mts @@ -172,6 +172,10 @@ export default defineConfig({ text: "Changelogs", collapsed: false, items: [ + { + text: "v0.9.0", + link: "/docs/changelogs/v0-9-0", + }, { text: "v0.8.0", link: "/docs/changelogs/v0-8-0", diff --git a/documentation/docs/changelogs/v0-9-0.md b/documentation/docs/changelogs/v0-9-0.md new file mode 100644 index 0000000..18764ee --- /dev/null +++ b/documentation/docs/changelogs/v0-9-0.md @@ -0,0 +1,133 @@ +# AdventureLog 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! + +--- + +## What's New ✨ + +### 🧠 Smart Recommendations + +- **AdventureLog 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! +- **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. + +--- + +### 🏨 Lodging & Itinerary + +- **Lodging Tracking**: Add and manage lodging accommodations as part of your collections, complete with check-in/check-out dates. +- **Improved Itinerary Views**: Better day-by-day itinerary display with clear UI enhancements. + +--- + +### πŸ—ΊοΈ Maps & Locations + +- **Open Locations in Maps**: Directly open adventure locations and points of interest in your preferred mapping service. +- **Adventure Category Icons on Maps**: View custom category icons right on your adventure and collection maps. + +--- + +### πŸ—“οΈ Calendar + +- **Collection Range View**: Improved calendar view showing the full date range of collections. + +--- + +### 🌐 Authentication & Security + +- **OIDC Authentication**: Added support for OpenID Connect (OIDC) for seamless integration with identity providers. +- **Secure Session Cookies**: Improved session cookie handling with dynamic domain detection and better security for IP addresses. +- **Disable Password Auth**: Option to disable password auth for users with connected OIDC/Social accounts. + +--- + +### πŸ–₯️ PWA Support + +- **Progressive Web App (PWA) Support**: Install AdventureLog as a PWA on your desktop or mobile device for a native app experience. + +--- + +### πŸ—οΈ Infrastructure & DevOps + +- **Dual-Stack Backend**: IPv4 and IPv6 ready backend system (@larsl-net). +- **Kubernetes Configs** continue to be improved for scalable deployments. + +--- + +### 🌐 Localization + +- **Korean language support** (@seanmorley15). +- **Improved Dutch** (@ThomasDetemmerman), **Simplified Chinese** (@jyyyeung), **German** (@Cathnan and @marcschumacher) translations. +- **Polish and Swedish** translations improved in prior release! + +--- + +### πŸ“ Documentation + +- **New Unraid Installation Guide** with community-contributed updates (@ThunderLord956, @evertyang). +- Updated **OIDC** and **Immich integration** docs for clarity (@UndyingSoul, @motox986). +- General spell-check and documentation polish (@ThunderLord956, @mcguirepr89). + +--- + +### πŸ› Bug Fixes and Improvements + +- Fixed CSRF issues with admin tools. +- Backend ready for **dual-stack** environments. +- Improved itinerary element display and GPX file handling. +- Optimized session cookie handling for domain/IP setups. +- Various **small Python fixes** (@larsl-net). +- Fixed container relations (@bucherfa). +- Django updated to **5.0.11** for security and performance improvements. +- General **codebase clean-up** and UI polish. + +--- + +## 🌟 New Contributors + +A huge shoutout to our amazing new contributors! πŸŽ‰ + +- @larsl-net +- @bucherfa +- @UndyingSoul +- @ThunderLord956 +- @evertyang +- @Thiesjoo +- @motox986 +- @mcguirepr89 +- @ThomasDetemmerman +- @Cathnan +- @jyyyeung +- @marcschumacher + +Thank you for helping AdventureLog grow! πŸ™Œ + +--- + +## Support My Work πŸ’– + +[![Buy Me A Coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](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! β˜• + +--- + +Enjoy this update and keep sharing your journeys with us! 🌍✈️ +As always, drop your feedback and ideas in the [official Discord](https://discord.gg/wRbQ9Egr8) or in the discussions! + +Happy travels, +**Sean Morley** (@seanmorley15) + +--- + +**[Full Changelog](https://github.com/seanmorley15/AdventureLog/compare/v0.8.0...v0.9.0)** diff --git a/frontend/src/lib/config.ts b/frontend/src/lib/config.ts index d201582..8cff439 100644 --- a/frontend/src/lib/config.ts +++ b/frontend/src/lib/config.ts @@ -1,4 +1,4 @@ -export let appVersion = 'v0.8.0'; -export let versionChangelog = 'https://github.com/seanmorley15/AdventureLog/releases/tag/v0.8.0'; +export let appVersion = 'v0.9.0'; +export let versionChangelog = 'https://github.com/seanmorley15/AdventureLog/releases/tag/v0.9.0'; export let appTitle = 'AdventureLog'; export let copyrightYear = '2023-2025'; diff --git a/frontend/startup.sh b/frontend/startup.sh index 1b611e3..67dbb1e 100644 --- a/frontend/startup.sh +++ b/frontend/startup.sh @@ -2,4 +2,4 @@ echo "The origin to be set is: $ORIGIN" # Start the application -ORIGIN=$ORIGIN node build \ No newline at end of file +ORIGIN=$ORIGIN exec node build