mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-07-27 16:59:37 +02:00
chore(docker): Refactor service startup to use supervisord and foreground processes
This commit is contained in:
commit
6eebd5b70a
7 changed files with 161 additions and 8 deletions
|
@ -12,7 +12,7 @@ WORKDIR /code
|
||||||
|
|
||||||
# Install system dependencies (Nginx included)
|
# Install system dependencies (Nginx included)
|
||||||
RUN apt-get update \
|
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 \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
@ -31,6 +31,9 @@ COPY ./server /code/
|
||||||
# Copy Nginx configuration
|
# Copy Nginx configuration
|
||||||
COPY ./nginx.conf /etc/nginx/nginx.conf
|
COPY ./nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
|
# Copy Supervisor configuration
|
||||||
|
COPY ./supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||||
|
|
||||||
# Collect static files
|
# Collect static files
|
||||||
RUN python3 manage.py collectstatic --noinput --verbosity 2
|
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 ports for NGINX and Gunicorn
|
||||||
EXPOSE 80 8000
|
EXPOSE 80 8000
|
||||||
|
|
||||||
# Command to start Nginx and Gunicorn
|
# Command to start Supervisor (which starts Nginx and Gunicorn)
|
||||||
CMD ["bash", "-c", "service nginx start && /code/entrypoint.sh"]
|
CMD ["supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
|
||||||
|
|
|
@ -62,5 +62,8 @@ fi
|
||||||
|
|
||||||
cat /code/adventurelog.txt
|
cat /code/adventurelog.txt
|
||||||
|
|
||||||
# Start gunicorn
|
# Start Gunicorn in foreground
|
||||||
gunicorn main.wsgi:application --bind [::]:8000 --timeout 120 --workers 2
|
exec gunicorn main.wsgi:application \
|
||||||
|
--bind 0.0.0.0:8000 \
|
||||||
|
--workers 4 \
|
||||||
|
--timeout 120
|
||||||
|
|
10
backend/supervisord.conf
Normal file
10
backend/supervisord.conf
Normal file
|
@ -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
|
|
@ -172,6 +172,10 @@ export default defineConfig({
|
||||||
text: "Changelogs",
|
text: "Changelogs",
|
||||||
collapsed: false,
|
collapsed: false,
|
||||||
items: [
|
items: [
|
||||||
|
{
|
||||||
|
text: "v0.9.0",
|
||||||
|
link: "/docs/changelogs/v0-9-0",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
text: "v0.8.0",
|
text: "v0.8.0",
|
||||||
link: "/docs/changelogs/v0-8-0",
|
link: "/docs/changelogs/v0-8-0",
|
||||||
|
|
133
documentation/docs/changelogs/v0-9-0.md
Normal file
133
documentation/docs/changelogs/v0-9-0.md
Normal file
|
@ -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 💖
|
||||||
|
|
||||||
|
[](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)**
|
|
@ -1,4 +1,4 @@
|
||||||
export let appVersion = 'v0.8.0';
|
export let appVersion = 'v0.9.0';
|
||||||
export let versionChangelog = 'https://github.com/seanmorley15/AdventureLog/releases/tag/v0.8.0';
|
export let versionChangelog = 'https://github.com/seanmorley15/AdventureLog/releases/tag/v0.9.0';
|
||||||
export let appTitle = 'AdventureLog';
|
export let appTitle = 'AdventureLog';
|
||||||
export let copyrightYear = '2023-2025';
|
export let copyrightYear = '2023-2025';
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
|
|
||||||
echo "The origin to be set is: $ORIGIN"
|
echo "The origin to be set is: $ORIGIN"
|
||||||
# Start the application
|
# Start the application
|
||||||
ORIGIN=$ORIGIN node build
|
ORIGIN=$ORIGIN exec node build
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue