All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 29s
78 lines
1.7 KiB
Markdown
78 lines
1.7 KiB
Markdown
# FreeMoto Web
|
|
|
|
A web-based motorcycle route planner built with Go, Leaflet, Bootstrap, and Valhalla routing, ready for containerized deployment.
|
|
|
|
## Features
|
|
|
|
- Interactive map with OpenStreetMap tiles
|
|
- Route planning with options (avoid highways, tolls, ferries, unpaved, shortest route)
|
|
- Docker-ready and configurable via `.env`
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
- [Go](https://golang.org/) (1.22+ recommended)
|
|
- [Docker](https://www.docker.com/) (for container builds)
|
|
- [Valhalla](https://github.com/valhalla/valhalla) routing backend
|
|
- [Gitea](https://gitea.io/) (optional, for CI/CD and registry)
|
|
|
|
### Configuration
|
|
|
|
Create a `.env` file in the project root:
|
|
|
|
```
|
|
VALHALLA_URL=http://valhalla:8002/route
|
|
PORT=8080
|
|
```
|
|
|
|
### Local Development
|
|
|
|
```bash
|
|
cd app/web
|
|
go run main.go
|
|
```
|
|
|
|
Visit [http://localhost:8080](http://localhost:8080) in your browser.
|
|
|
|
### Docker
|
|
|
|
Build and run the container:
|
|
|
|
```bash
|
|
docker build -t freemoto-web .
|
|
docker run --env-file .env -p 8080:8080 freemoto-web
|
|
```
|
|
|
|
### Docker Compose
|
|
|
|
Example `docker-compose.yml`:
|
|
|
|
```yaml
|
|
services:
|
|
freemoto-web:
|
|
image: git.ztsw.de/pedan/freemoto/freemoto-web:latest
|
|
ports:
|
|
- "8080:8080"
|
|
env_file:
|
|
- .env
|
|
valhalla-scripted:
|
|
image: ghcr.io/valhalla/valhalla-scripted:latest
|
|
ports:
|
|
- 8002:8002
|
|
volumes:
|
|
- $PWD/custom_files:/custom_files
|
|
environment:
|
|
- tile_urls=https://download.geofabrik.de/europe/germany-latest.osm.pbf
|
|
```
|
|
|
|
## Customization
|
|
|
|
- **Map UI:** Edit `static/index.html` and `static/main.js`
|
|
- **Routing logic:** Edit `static/route.js`
|
|
- **Geolocation/autocomplete:** Edit `static/geolocate.js`
|
|
- **Backend proxy:** Edit `main.go`
|
|
|
|
## License
|
|
|
|
MIT |