Ownware
Home›Fleetora›Quickstart
Fleetora · Quickstart

Fleetora Quickstart, as shipped in the download

The QUICKSTART.txt in the download — the same steps your delivery email carries.

FLEETORA — QUICKSTART
=====================

Vehicle & fleet register. Self-hosted PHP 8 + MySQL/MariaDB or SQLite.
No Composer, no build step, no external services.


1 · WHAT YOU NEED
-----------------
  * PHP 8.0 or newer with PDO (pdo_mysql or pdo_sqlite)
  * MySQL/MariaDB, OR nothing at all if you use SQLite
  * Any web server that serves PHP


2 · INSTALL (2 minutes)
-----------------------
  a. Upload the "app" folder to your server.
  b. Point a domain or subdomain at it.
  c. Open it in a browser. The installer runs automatically.
  d. Choose SQLite (zero config) or enter your MySQL details.
  e. Create your admin account. Done.

  The installer writes config.php. If you would rather write it yourself,
  copy config.sample.php to config.php and fill it in.


3 · TAKE A LOOK FIRST
---------------------
  With PHP on your own machine:

      cd app
      php -S localhost:8080

  Then open http://localhost:8080 and follow the installer.

  Or with Docker, from inside the app folder:

      docker compose -f deploy/compose.yml up -d

  Load the sample fleet from Settings -> Demo data. It contains a vehicle in
  every state — expired paperwork, a service due by distance, one that cannot
  be scheduled yet because the vehicle has no odometer reading — so you can see
  what the register is actually for.
      (demo login: admin@fleetora.app / admin123 — change it)


4 · WEB SERVER SNIPPETS
-----------------------
  Apache — the shipped .htaccess handles routing. Just:

    <VirtualHost *:80>
      ServerName fleet.example.com
      DocumentRoot /var/www/fleetora/app
      <Directory /var/www/fleetora/app>
        AllowOverride All
        Require all granted
      </Directory>
    </VirtualHost>

  nginx:

    server {
      listen 80;
      server_name fleet.example.com;
      root /var/www/fleetora/app;
      index index.php;
      location / { try_files $uri /index.php?$query_string; }
      location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      }
      location ~ ^/(data|config\.php) { deny all; }
    }


5 · FIRST FIVE MINUTES IN THE APP
---------------------------------
  1. Settings -> Document types. Rename them to what YOUR operation keeps.
     Fleetora ships neutral names on purpose: vehicle compliance is called
     something different in every country and Fleetora does not pretend to
     know yours.
  2. Add a vehicle, or import a spreadsheet (Vehicles -> Import CSV — it runs
     a dry run first and writes nothing until you confirm).
  3. Add a document with its expiry. It appears on the home screen, ranked.
  4. Schedule a service. Set an interval in days, in distance, or both.
  5. Log an odometer reading. Distance-based services can only be scheduled
     once a reading exists — until then they honestly say "unknown".
  6. Set your warning windows in Settings. What counts as "due soon" is your
     judgement, not ours.


6 · GOING FURTHER
-----------------
  * API.md — REST API, signed webhooks, and the MCP endpoint for assistants.
  * Settings -> API & Webhooks — mint a key. Choose "Read only" for anything
    that should answer questions but never change anything.
  * Settings -> Calendar feed — subscribe any calendar to the deadline list.
    The link is a secret; treat it like a password and revoke it when done.
  * Settings -> Outbound mail — driver notices, through your own SMTP, off
    until you switch them on.
  * Backup & restore — JSON export always; a byte-exact .sqlite download on
    SQLite installs. Restore previews the diff before it commits.


7 · HONEST LIMITS
-----------------
  * Fleetora records what you enter. It reads no telematics box and queries no
    licensing authority, insurer or manufacturer.
  * It is not legal or compliance advice. The document types you track and the
    intervals you set are yours to decide.
  * A service tracked by distance has no due DATE until a reading exists.
    Fleetora says so rather than estimating one.
  * Distances are never converted between miles and kilometres. Each vehicle
    keeps the unit its own dashboard shows.


8 · SUPPORT
-----------
  README.md covers the design decisions. Run `php tests/run.php` to prove the
  install against its own suite.

← Back to Fleetora · Manual · API · Test run

Affiliate program
Recommend tools people own — earn 35% on every sale. 90-day tracking, instant delivery, payouts by Lemon Squeezy.
Become an affiliate →