fleetbase
★ 4.4kAbout
Community Ratings
No ratings yetNew this week
Read recap →Features
- modular extensions
- RESTful API
- socket and webhooks
- native apps
- chat and comments
- IAM security
- telematics integration
- multilingual support
- dynamic rules and flows
- dashboards and widgets
Details
- Last Updated
- Oct 31, 2026
- Created
- Sep 23, 2022
- Install Methods
- dockerdocker-composesourcepackage-manager
- Requirements
- Node.js v22DockerDocker ComposeGitOSRM serverMAIL_MAILER service (ses, smtp, mailgun, postmark, sendgrid)IPINFO_API_KEYGOOGLE_MAPS_API_KEYTWILIO_SIDTWILIO_TOKENTWILIO_FROM
- API
- RESTWEBSOCKET
- Privacy & Independence
- Cloud: Optional
- User Model
- Multi-User
- Deployment
Deployment: Docker Compose ✓8 Containers — heavy hosting footprintRuns as 8 containers
Run fleetbase yourself
Pick how much you want to manage.
HetznerBest match
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
DigitalOcean
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
OVHcloud
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
1 more way to host
Is this your project? Sponsor a listing
Run fleetbase with Docker Compose
Compose file from the fleetbase project repository.
8 services · database: mysql · infra: redis, mysql · 1 unclassified (socketcluster)
no resource limits declared
needs persistent storage (5 volumes)
docker-compose.yml · @ 4ff6980 · scanned Sep 23, 2026
services:
cache:
image: redis:4-alpine
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
database:
image: mysql:8.0-oracle
restart: unless-stopped
# Binary logging is on by default in MySQL 8 with a 30-day expiry. Nothing
# here replicates from or reads the binlog, and the telematics ingest made it
# grow past 300 GB locally, so it is switched off.
command: ["mysqld", "--skip-log-bin"]
ports:
- "3306:3306"
volumes:
- "./docker/database/:/docker-entrypoint-initdb.d/"
- "./docker/database/mysql:/var/lib/mysql"
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
MYSQL_DATABASE: "fleetbase"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
socket:
image: socketcluster/socketcluster:v17.4.0
platform: linux/amd64
restart: unless-stopped
ports:
- "38000:8000"
environment:
SOCKETCLUSTER_WORKERS: 10
SOCKETCLUSTER_BROKERS: 10
# SOCKETCLUSTER_OPTIONS can be set via docker-compose.override.yml for specific environments
# For production, use: SOCKETCLUSTER_OPTIONS: '{"origins":"https://yourdomain.com:*"}'
# For development, use: SOCKETCLUSTER_OPTIONS: '{"origins":"http://localhost:*"}'
scheduler:
image: fleetbase/fleetbase-api:latest
command: ["go-crond", "--verbose", "root:./crontab"]
restart: unless-stopped
environment:
DATABASE_URL: "mysql://root@database/fleetbase"
QUEUE_CONNECTION: redis
CACHE_DRIVER: redis
CACHE_PATH: /fleetbase/api/storage/framework/cache
CACHE_URL: tcp://cache
REDIS_URL: tcp://cache
depends_on:
- database
- cache
queue:
image: fleetbase/fleetbase-api:latest
command: ["php", "artisan", "queue:work"]
restart: unless-stopped
healthcheck:
test: ["CMD", "php", "artisan", "queue:status"]
interval: 30s
timeout: 10s
retries: 3
environment:
DATABASE_URL: "mysql://root@database/fleetbase"
QUEUE_CONNECTION: redis
CACHE_DRIVER: redis
CACHE_PATH: /fleetbase/api/storage/framework/cache
CACHE_URL: tcp://cache
REDIS_URL: tcp://cache
depends_on:
- database
- cache
console:
restart: unless-stopped
build:
context: ./console
dockerfile: Dockerfile
args:
ENVIRONMENT: development
ports:
- "4200:4200"
volumes:
- ./console/fleetbase.config.json:/usr/share/nginx/html/fleetbase.config.json
application:
restart: unless-stopped
image: fleetbase/fleetbase-api:latest
volumes:
- ./api/.env:/fleetbase/api/.env
- ./api/storage/app:/fleetbase/api/storage/app
environment:
ENVIRONMENT: development
DATABASE_URL: "mysql://root@database/fleetbase"
QUEUE_CONNECTION: redis
CACHE_DRIVER: redis
CACHE_PATH: /fleetbase/api/storage/framework/cache
CACHE_URL: tcp://cache
REDIS_URL: tcp://cache
SESSION_DOMAIN: localhost
BROADCAST_DRIVER: socketcluster
MAIL_FROM_NAME: Fleetbase
APP_NAME: Fleetbase
LOG_CHANNEL: daily
REGISTRY_HOST: https://registry.fleetbase.io
REGISTRY_PREINSTALLED_EXTENSIONS: "true"
OSRM_HOST: https://router.project-osrm.org
depends_on:
- database
- cache
- queue
httpd:
restart: unless-stopped
build:
context: .
dockerfile: docker/httpd/Dockerfile
ports:
- "8000:80"
depends_on:
- application
This file may be out of date. Check the fleetbase documentation for current setup steps.
Tags
Track your self-hosted stack
Bookmark software to try, rate tools you've used, and keep your collection in one place.