53 lines
1.5 KiB
Markdown
53 lines
1.5 KiB
Markdown
# Spot Project
|
|
[Spot](https://www.findmespot.com) & GPX integration
|
|
|
|
## Dependencies
|
|
|
|
* npm 18+
|
|
* composer
|
|
* php-mbstring
|
|
* php-imagick
|
|
* php-gd
|
|
* php-mysql
|
|
* php-exif
|
|
* ffprobe & ffmpeg
|
|
* STARTTLS Email Server (use Gmail if none available)
|
|
* Optional: Geo Caching Server (WMTS Caching Service)
|
|
|
|
## PHP Configuration
|
|
|
|
* max_execution_time = 300
|
|
* memory_limit = 500M
|
|
* post_max_size = 4G
|
|
* upload_max_filesize = 4G
|
|
* max_file_uploads = 50
|
|
|
|
## Getting started
|
|
|
|
1. Clone Git onto web server
|
|
2. composer install
|
|
3. npm install webpack
|
|
4. npm run dev
|
|
5. Update php.ini parameters
|
|
6. Copy timezone data: mariadb-tzinfo-to-sql /usr/share/zoneinfo | mariadb -u root mysql
|
|
7. Copy settings-sample.php to settings.php and populate
|
|
8. Go to #admin and create a new project, feed & maps
|
|
9. Add a GPX file named <project_codename>.gpx to /geo/
|
|
|
|
## Local Development
|
|
|
|
When developing Spot and the sibling `objects` library together, install dependencies through the local Composer manifest:
|
|
|
|
```bash
|
|
COMPOSER=composer.dev.json composer update
|
|
```
|
|
|
|
This makes Composer link `vendor/franzz/objects` to `../objects` and autoload that namespace directly from the local source path. Production continues to use `composer.json`, which installs `franzz/objects` from its Git repository. Commit and publish `objects` changes before updating/deploying a Spot version that relies on them.
|
|
|
|
## To Do List
|
|
|
|
* Add mail frequency slider
|
|
* Use WMTS servers directly when not using Geo Caching Server
|
|
* Allow HEIF picture format
|
|
* Garmin InReach Integration
|