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.12 or higher
- Redis
-
Create the database in MySQL.
-
Clone the repository.
git clone https://github.com/eusonlito/GPS-Tracker.git
- Copy the
.env.example
file as.env
and 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=user@domain.com --name=Admin --password=StrongPassword2 --enabled --admin
-
Configure the web server
DocumentRoot
to/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.example
to.env
and configure your own settings
cp docker/.env.example .env
- [OPTIONAL] Copy file
docker/docker-compose.yml.example
todocker/docker-compose.yml
and 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-app
properties indocker-compose.yml
to 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.