8000 feat(docs): adding haproxy configuration example by kirby0025 · Pull Request #640 · seanmorley15/AdventureLog · GitHub
[go: up one dir, main page]

Skip to content

Conversation

kirby0025
Copy link

Hello,

When I installed Adventurelog (great app btw), I had trouble understanding how I was supposed to configure HAProxy to make the images work, and especially that some requests needed to go to the backend.
So here is a little configuration example, let me know if something is unclear or wrong.

Thank you

@kirby0025 kirby0025 requested a review from seanmorley15 as a code owner June 2, 2025 09:44
Copy link
vercel bot commented Jun 2, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
adventurelog ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 7, 2025 2:17pm

@seanmorley15 seanmorley15 changed the base branch from main to development June 23, 2025 21:10
taninme and others added 2 commits June 23, 2025 18:48
* added-fix-image-deletion

* feat(commands): add image cleanup command to find and delete unused files

* fix(models): ensure associated AdventureImages are deleted and files cleaned up on Adventure deletion

* fix(models): ensure associated Attachment files are deleted and their filesystem cleaned up on Adventure deletion

---------

Co-authored-by: ferdousahmed <taninme@gmail.com>
Co-authored-by: Sean Morley
Copy link
Owner
@seanmorley15 seanmorley15 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi there! Just made a few changes to make it render properly on the docs site. I have not used HAProxy before, but it seems like this is a little snippet of the config. Any chance you could provide the full config (that is generalized) so users can get a example they can just change a few things around on?
Thanks a lot - let me know if there is anything I can do the help!

seanmorley15 and others added 3 commits June 25, 2025 11:49
* Refactor user_id to user in adventures and related models, views, and components

- Updated all instances of user_id to user in the adventures app, including models, serializers, views, and frontend components.
- Adjusted queries and filters to reflect the new user field naming convention.
- Ensured consistency across the codebase for user identification in adventures, collections, notes, and transportation entities.
- Modified frontend components to align with the updated data structure, ensuring proper access control and rendering based on user ownership.

* Refactor adventure-related views and components to use "Location" terminology

- Updated GlobalSearchView to replace AdventureSerializer with LocationSerializer.
- Modified IcsCalendarGeneratorViewSet to use LocationSerializer instead of AdventureSerializer.
- Created new LocationImageViewSet for managing location images, including primary image toggling and image deletion.
- Introduced LocationViewSet for managing locations with enhanced filtering, sorting, and sharing capabilities.
- Updated ReverseGeocodeViewSet to utilize LocationSerializer.
- Added ActivityTypesView to retrieve distinct activity types from locations.
- Refactored user views to replace AdventureSerializer with LocationSerializer.
- Updated frontend components to reflect changes from "adventure" to "location", including AdventureCard, AdventureLink, AdventureModal, and others.
- Adjusted API endpoints in frontend routes to align with new location-based structure.
- Ensured all references to adventures are replaced with locations across the codebase.

* refactor: rename adventures to locations across the application

- Updated localization files to replace adventure-related terms with location-related terms.
- Refactored TypeScript types and variables from Adventure to Location in various routes and components.
- Adjusted UI elements and labels to reflect the change from adventures to locations.
- Ensured all references to adventures in the codebase are consistent with the new location terminology.

* Refactor code structure for improved readability and maintainability

* feat: Implement location details page with server-side loading and deletion functionality

- Added +page.server.ts to handle server-side loading of additional location info.
- Created +page.svelte for displaying location details, including images, visits, and maps.
- Integrated GPX file handling and rendering on the map.
- Updated map route to link to locations instead of adventures.
- Refactored profile and search routes to use LocationCard instead of AdventureCard.

* docs: Update terminology from "Adventure" to "Location" and enhance project overview

* docs: Clarify collection examples in usage documentation

* feat: Enable credentials for GPX file fetch and add CORS_ALLOW_CREDENTIALS setting

* Refactor adventure references to locations across the backend and frontend

- Updated CategoryViewSet to reflect location context instead of adventures.
- Modified ChecklistViewSet to include locations in retrieval logic.
- Changed GlobalSearchView to search for locations instead of adventures.
- Adjusted IcsCalendarGeneratorViewSet to handle locations instead of adventures.
- Refactored LocationImageViewSet to remove unused import.
- Updated LocationViewSet to clarify public access for locations.
- Changed LodgingViewSet to reference locations instead of adventures.
- Modified NoteViewSet to prevent listing all locations.
- Updated RecommendationsViewSet to handle locations in parsing and response.
- Adjusted ReverseGeocodeViewSet to search through user locations.
- Updated StatsViewSet to count locations instead of adventures.
- Changed TagsView to reflect activity types for locations.
- Updated TransportationViewSet to reference locations instead of adventures.
- Added new translations for search results related to locations in multiple languages.
- Updated dashboard and profile pages to reflect location counts instead of adventure counts.
- Adjusted search routes to handle locations instead of adventures.

* Update banner image

* style: Update stats component background and border for improved visibility

* refactor: Rename AdventureCard and AdventureModal to LocationCard and LocationModal for consistency
* feat(backup): add BackupViewSet for data export and import functionality

* Fixed frontend returning corrupt binary data

* feat(import): enhance import functionality with confirmation check and improved city/region/country handling

* Potential fix for code scanning alert no. 29: Information exposure through an exception

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Refactor response handling to use arrayBuffer instead of bytes

* Refactor image cleanup command to use LocationImage model and update import/export view to include backup and restore functionality

* Update backup export versioning and improve data restore warning message

* Enhance image navigation and localization support in modal components

* Refactor location handling in Immich integration components for consistency

* Enhance backup and restore functionality with improved localization and error handling

* Improve accessibility by adding 'for' attribute to backup file input label

---------

Co-authored-by: Christian Zäske <blitzdose@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
@kirby0025
Copy link
Author

Hello @seanmorley15 ,
I updated the branch and the example as you asked, there is not a lot more but it's clearer.

mode http

acl is_adventurelog hdr_sub(Host) -i adventurelog
acl is_adventurelog_backend path_beg /media/ or /admin/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be this, right?

Suggested change
acl is_adventurelog_backend path_beg /media/ or /admin/
acl is_adventurelog_backend path_beg /media/ or /admin/ or /static/ or /accounts/

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't seen any issue with the software using only media and admin to route to backend.

use_backend adventurelog if is_adventurelog

backend adventurelog
server adventurelog 192.168.1.100:3000 check
Copy link
Contributor
@UndyingSoul UndyingSoul Jul 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't really used HAProxy, but I would think the 192.x ip address shoul be either 127.0.0.1 or localhost, no?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It depends on your local network. My local is haproxy balancing to other VMs, but if you do container on the same host it shoud be 127.0.0.1 yes.

@seanmorley15 seanmorley15 deleted the branch seanmorley15:development August 31, 2025 20:25
@kirby0025
Copy link
Author

Hello,
I'm not sure why this was close.

@seanmorley15 seanmorley15 reopened this Sep 15, 2025
@seanmorley15
Copy link
Owner

Sorry - it was an error in development!

Will check this out soon

@kirby0025
Copy link
Author

No problem, that's what i figured :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants
0