Sinotrack ST-90x device management platform built with Laravel 10 + PHP 8.1 and MySQL 8.
- PHP 8.1 or higher (bcmath bz2 intl mbstring opcache pdo_mysql pcntl redis sockets xsl zip)
- MySQL 8.0
- Redis
-
Create the database in MySQL.
-
Clone the repository.
git clone https://github.com/eusonlito/GPS-Tracker.git- Copy the
.env.examplefile as.envand fill in the necessary variables.
cp .env.example .env- Install composer dependencies (remember that we always use the PHP 8.1 binary).
composer install --no-dev --optimize-autoloader --classmap-authoritative --ansi- Generate the application key.
php artisan key:generate- Regenerate the caches.
composer artisan-cache- Launch the initial migration.
php artisan migrate --path=database/migrations- Launch the seeder.
php artisan db:seed --class=Database\\Seeders\\Database- Fill Timezones GeoJSON.
php artisan timezone:geojson- Configure the cron job for the user related to the project:
* * * * * cd /var/www/tracker.domain.com && install -d storage/logs/artisan/$(date +"\%Y-\%m-\%d") && /usr/bin/php artisan schedule:run >> storage/logs/artisan/$(date +"\%Y-\%m-\%d")/schedule-run.log 2>&1
- Create the main user.
php artisan user:create [email protected] --name=Admin --password=StrongPassword2 --enabled --admin-
Configure the web server
DocumentRootto/var/www/project/public. -
Profit!
Updating the platform can be done in a simple way with the composer deploy command executed by the user who manages that project (usually www-data).
- Clone the repository.
git clone https://github.com/eusonlito/GPS-Tracker.git- [OPTIONAL] Copy file
docker/.env.exampleto.envand configure your own settings
cp docker/.env.example .env- [OPTIONAL] Copy file
docker/docker-compose.yml.exampletodocker/docker-compose.ymland configure your own settings
cp docker/docker-compose.yml.example docker/docker-compose.yml- Build docker images (will ask for the sudo password)
./docker/build.sh- Start containers (will ask for the sudo password)
./docker/run.sh- Create the admin user (will ask for the sudo password)
./docker/user.sh- Launch the Timezone GeoJSON fill (will ask for the sudo password)
./docker/timezone-geojson.sh-
Open your web browser and goto http://localhost:8080
-
Remember to add a web server (apache2, nginx, etc...) as a proxy to add features as SSL.
-
If you are going to add or change the default ports for GPS Devices (
8091) you must edit thegpstracker-appproperties indocker-compose.ymlto adapt them to your own configuration.
- Update the project source
git pull- Build docker images (will ask for the sudo password)
./docker/build.sh- Start containers (will ask for the sudo password)
./docker/run.sh- Open your web browser and goto http://localhost:8080
The default port for devices with H02 protocol is 8091, but it can be customized on configuration panel (as admin).
To configure your device via SMS you can do it with the following command:
804{PASSWORD} {IP/HOST} {PORT}
You can configure the connection server in the device using either the IP or a HOST that will resolve internally BUT ONLY AT THE TIME OF RECEIVING THE COMMAND, so if the server does not have a fixed IP as soon as it changes you will stop receiving data from the device.
{PHONE}{PASSWORD} 1
896{PASSWORD}E00
710{PASSWORD}
803{PASSWORD} {OPERATOR}
804{PASSWORD} {IP/HOST} {PORT}
805{PASSWORD} {SECONDS}
809{PASSWORD} {SECONDS}
SLEEP{PASSWORD} {MINUTES}
151{PASSWORD}
011{PASSWORD}
010{PASSWORD}
777{PASSWORD-NEW}{PASSWORD-OLD}
RESTART
RCONF
php artisan user:create {--email=} {--name=} {--password=} {--enabled} {--admin}The reset option allows you to reset the port in case it is being used.
php artisan server:start:all {--reset}The reset option allows you to reset the port in case it is being used.
php artisan server:start {--port=} {--reset}Screenshots are in spanish, you can change the system language to english.

























