Host tour gpx file on my own server

Hello

I do a lot of hiking (day, multi-day tours) but also ski touring or climbing, less often sailing trips.

I have gpx files of all activities
now I would like to display these activities on a map.

The idea is to open a subdomain map.domain.ch which is needed in a VM (not docker) to install Linux/PHP a database.
Not the whole planet is needed as a map but mainly in Switzerland.
As a layer, however
public transport, slope inclination, hiking trails, protection zones, SAC huts, mountain huts can be switched on
would it also be possible to add the swisstopo maps?

then I imagine that I have a directory for my data
like
\tourendaten\2024\11\14
in this I would copy in the gpx file
but also a csv file with info like
tour name
starting point
starting altitude

destination
Finish altitude

MaxAltitude

but also insert tags like [3 Alpine Panorama Trail] or [Tour Muveran 2024]

I would like to be able to search for places or list an entire route via tags.
or could also show by activities (activities last 3 months) all (hikes in 2023) all (Jakobsweg hikes) etc

but I would also like such a representation of a tour

greetings
vinc

Translated with DeepL.com (free version)