Franzz 17b998ee60
All checks were successful
Deploy Spot / deploy (push) Successful in 35s
CI/CD: Do not redeploy identical files
2026-06-02 16:12:37 +02:00
2026-06-01 23:41:16 +02:00
2026-06-01 09:51:25 +02:00
2026-05-31 23:18:22 +02:00
2026-06-02 11:22:28 +02:00
2026-05-25 22:01:40 +02:00
2026-05-30 01:39:49 +02:00
2026-06-01 23:41:16 +02:00

Spot Project

Spot & GPX integration

Dependencies

  • npm 24+
  • 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. Update php.ini parameters
  3. Copy timezone data: mariadb-tzinfo-to-sql /usr/share/zoneinfo | mariadb -u root mysql
  4. Copy settings-sample.php to settings.php and populate
  5. Follow CI/CD script in .gitea/workflows/deploy.yml
  6. Go to #admin and create a new project, feed & maps
  7. Add a GPX file named <project_codename>.gpx to /resources/geo/

Web Root

The web server should serve public/ as the application document root. PHP source, configuration, Composer dependencies, uploaded files, and GPX data stay outside the public tree; public/index.php is the front controller and webpack writes generated frontend assets to public/assets/.

Runtime data is exposed through symlinks only: public/files -> ../files and public/geo -> ../resources/geo. The build must not copy uploaded media or GPX data into public/.

Local Development

When developing Spot and the sibling objects library together, install dependencies through the local Composer manifest:

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
Description
No description provided
Readme 148 MiB
Languages
PHP 37.8%
Vue 28.1%
JavaScript 19%
SCSS 12.8%
HTML 2.2%