diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cf4f549..51597f8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -35,8 +35,6 @@ jobs:
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- with:
- version: ^10.2
- name: Get pnpm Store Directory
id: pnpm-cache
diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml
new file mode 100644
index 0000000..c4016de
--- /dev/null
+++ b/.github/workflows/create-release.yml
@@ -0,0 +1,21 @@
+name: Create Release
+on:
+ push:
+ tags:
+ - 'v*'
+
+jobs:
+ create:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Publish GitHub Release
+ uses: softprops/action-gh-release@v2
+ with:
+ tag_name: ${{ github.ref_name }}
+ name: ${{ github.ref_name }}
+ generate_release_notes: true
+ draft: false
+ prerelease: false
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/docs/deploying/deploy-cloud.md b/docs/deploying/deploy-cloud.md
index 900409a..440d7f5 100644
--- a/docs/deploying/deploy-cloud.md
+++ b/docs/deploying/deploy-cloud.md
@@ -6,7 +6,7 @@ slug: /deploying/cloud
# Deploy to Cloud
-Deploy Fleetbase on any cloud provider using Docker containers. This guide provides step-by-step instructions for deploying Fleetbase on popular cloud platforms including AWS, Google Cloud Platform, Microsoft Azure, DigitalOcean, and others.
+Deploy Fleetbase on any cloud provider using Docker containers. This guide provides step-by-step instructions for deploying Fleetbase on popular cloud platforms including DigitalOcean, Google Cloud Platform, Microsoft Azure, Linode, and others.
## Overview
@@ -35,30 +35,26 @@ Before starting the deployment, ensure you have:
- **SSL Certificates**: For HTTPS (Let's Encrypt recommended)
### External Services (Optional)
-- **Email Service**: AWS SES, SendGrid, Mailgun, or SMTP server
+- **Email Service**: SendGrid, Mailgun, Postmark, or SMTP server
- **SMS Service**: Twilio account for SMS notifications
- **Maps Service**: Google Maps API key
- **Monitoring**: CloudWatch, Datadog, or similar
## Step 1: Provision Cloud Infrastructure
-### AWS (Amazon Web Services)
+### DigitalOcean
-1. **Launch EC2 Instance**:
- ```bash
- # Create EC2 instance with Ubuntu 20.04 LTS
- # Instance type: t3.medium or larger
- # Security group: Allow ports 22, 80, 443, 4200, 8000
- ```
+1. **Create Droplet**:
+ - Choose Ubuntu 20.04 LTS or later
+ - Select $20/month plan (2 vCPUs, 4GB RAM) or higher
+ - Add SSH key for secure access
+ - Enable monitoring and backups
-2. **Configure Security Groups**:
- - SSH (22): Your IP address
- - HTTP (80): 0.0.0.0/0
- - HTTPS (443): 0.0.0.0/0
- - Custom (4200): 0.0.0.0/0 (Console)
- - Custom (8000): 0.0.0.0/0 (API)
+2. **Configure Firewall**:
+ - Create firewall rules for ports 22, 80, 443, 4200, 8000
+ - Restrict SSH access to your IP address
-3. **Attach Elastic IP** (recommended for production)
+3. **Assign Reserved IP** (recommended for production)
### Google Cloud Platform (GCP)
diff --git a/docs/deploying/deploy-on-premise.md b/docs/deploying/deploy-on-premise.md
index 0b2b8f9..5b659e9 100644
--- a/docs/deploying/deploy-on-premise.md
+++ b/docs/deploying/deploy-on-premise.md
@@ -6,11 +6,32 @@ slug: /deploying/on-premise
# Deploy on Premise
-Deploy Fleetbase on your own infrastructure with complete control over your data and environment. This guide covers both Docker-based and native installations for on-premise deployments.
+Deploy Fleetbase on your own infrastructure with complete control over your data and environment. This guide covers both CLI-based installation and manual Docker setup for on-premise deployments.
-## Overview
+## Recommended: CLI Installation
-On-premise deployment gives you full control over your Fleetbase installation, ensuring data sovereignty, compliance with internal policies, and customization capabilities. This guide covers:
+The easiest way to deploy Fleetbase on-premise is using the Fleetbase CLI:
+
+```bash
+npm install -g @fleetbase/cli
+flb install-fleetbase --host 0.0.0.0 --environment production
+```
+
+This method:
+- Automatically configures Docker containers
+- Sets up production-ready environment variables
+- Initializes all required services
+- Takes approximately 5 minutes
+
+For detailed instructions, see the [CLI Installation Guide](/getting-started/install/with-cli).
+
+## Advanced: Manual Docker Setup
+
+For users who need full control over the deployment process, follow the manual Docker setup below.
+
+### Overview
+
+Manual on-premise deployment gives you complete control over your Fleetbase installation, ensuring data sovereignty, compliance with internal policies, and customization capabilities. This guide covers:
- **Docker Deployment**: Containerized setup for easy management
- **Native Installation**: Direct installation on the host system
diff --git a/docs/deploying/deploy-to-aws.md b/docs/deploying/deploy-to-aws.md
deleted file mode 100644
index ccb13dd..0000000
--- a/docs/deploying/deploy-to-aws.md
+++ /dev/null
@@ -1,188 +0,0 @@
----
-title: Deploy to AWS
-sidebar_position: 1
-slug: /deploying/aws
----
-
-# Deploy to AWS
-
-
-
-
-
-Deploy your complete Fleetbase logistics platform on AWS with enterprise-grade security, scalability, and reliability. Our one-click deployment solution provisions a production-ready infrastructure in under 30 minutes with no DevOps expertise required.
-
-## Why Choose AWS One-Click Deployment?
-
-### đ Lightning Fast Setup
-Get your complete logistics platform running in **25 minutes or less**. Our automated CloudFormation template handles all the complexity of provisioning and configuring your AWS infrastructure.
-
-### đĸ Enterprise-Grade Infrastructure
-Deploy with confidence using AWS best practices including:
-- **High Availability**: Multi-AZ deployment across multiple availability zones
-- **Auto-Scaling**: ECS Fargate services that scale automatically based on demand
-- **Security**: VPC isolation, encrypted storage, and secrets management
-- **Monitoring**: Comprehensive CloudWatch logging and monitoring
-- **Backup**: Automated database backups with point-in-time recovery
-
-### đ° Cost-Optimized
-- **Pay-as-you-use**: Only pay for the AWS resources you actually consume
-- **Optimized Resource Allocation**: Right-sized instances and services
-- **Spot Instances**: Optional spot instances for non-production environments
-- **Estimated AWS costs**: $45-350/month depending on traffic and configuration
-
-### đ Production-Ready Security
-- **VPC Isolation**: Private subnets with NAT gateways
-- **Encrypted Storage**: All data encrypted at rest and in transit
-- **Secrets Management**: AWS Secrets Manager for sensitive configuration
-- **SSL/TLS**: Automatic SSL certificate provisioning and renewal
-- **IAM Roles**: Least-privilege access controls
-
-## What's Included
-
-Your AWS deployment includes a complete, production-ready infrastructure stack:
-
-### Compute & Containers
-- **ECS Fargate Cluster**: Serverless container platform
-- **Auto-scaling Services**: Automatic scaling based on CPU/memory usage
-- **Application Load Balancer**: Distributes traffic across multiple containers
-- **Container Health Checks**: Automatic container restart on failure
-
-### Database & Cache
-- **RDS MySQL 8.0**: Managed database with automated backups
-- **ElastiCache Redis**: High-performance in-memory caching
-- **Multi-AZ Support**: Database replication across availability zones
-- **Automated Backups**: Daily backups with configurable retention
-
-### Storage & CDN
-- **S3 Object Storage**: Scalable file storage for uploads and assets
-- **CloudFront CDN**: Global content delivery network
-- **SSL Certificates**: Automatic SSL certificate management
-- **Global Distribution**: Fast content delivery worldwide
-
-### Networking & Security
-- **VPC with Private Subnets**: Isolated network environment
-- **NAT Gateways**: Secure outbound internet access
-- **Security Groups**: Firewall rules for network access control
-- **Secrets Manager**: Secure storage for sensitive configuration
-
-### Monitoring & Logs
-- **CloudWatch Logs**: Centralized application and system logging
-- **Container Insights**: Detailed container performance metrics
-- **Health Monitoring**: Automatic health checks and alerting
-- **Performance Metrics**: Real-time performance monitoring
-
-### Queue & Events
-- **SQS Message Queues**: Reliable message queuing for background jobs
-- **Event Processing**: Asynchronous task processing
-- **Background Jobs**: Automated order processing and notifications
-- **Real-time Updates**: Live tracking and status updates
-
-## Pricing Options
-
-### AGPL v3 Community Edition
-**$2,500 one-time deployment fee**
-
-Perfect for startups, developers, and open-source projects.
-
-**⨠What's Included:**
-- Complete Fleetbase platform with all features
-- Production-ready AWS infrastructure
-- Full source code access for modifications
-- Community support via GitHub and Discord
-- Auto-scaling and high availability
-- Regular updates with new features
-
-**đ AGPL v3 Requirements:**
-- Must share source code modifications
-- Must clearly state any significant changes to software
-- Network use triggers copyleft obligations
-- Ideal for internal use or open-source projects
-
-### FCL Commercial License
-**$25,000 per year (includes deployment service)**
-
-For businesses requiring commercial flexibility and enterprise support.
-
-**đ Everything in AGPL v3 Plus:**
-- **Commercial Use Rights**: No copyleft obligations or source sharing requirements
-- **Private Modifications**: Keep your customizations and integrations private
-- **White-Label Solutions**: Rebrand and resell as your own product
-- **Priority Support**: Direct access to Fleetbase engineering team
-- **99.9% Uptime SLA**: Commercial support with guaranteed uptime
-- **Custom Development**: Paid custom feature development available
-- **Fleetbase Navigator App**: Included driver mobile application
-
-**đŧ Commercial Benefits:**
-- No open-source license obligations
-- Proprietary integrations and customizations
-- Commercial redistribution rights
-- Enterprise-grade support and SLA
-
-:::note AWS Infrastructure Costs
-AWS infrastructure costs are separate and billed directly by AWS based on your usage. Estimated costs range from $45-350/month depending on traffic and configuration.
-:::
-
-## Deployment Process
-
-### Step 1: Configure Parameters
-Choose your environment type, instance sizes, and custom domain settings. Our smart defaults work great out of the box.
-
-### Step 2: Launch CloudFormation
-Click deploy and watch as AWS CloudFormation automatically provisions your entire infrastructure stack in the background.
-
-### Step 3: Start Managing Logistics
-Access your Fleetbase console and start managing orders, tracking vehicles, and optimizing your logistics operations immediately.
-
-## Technical Specifications
-
-### Application Stack
-- **Fleetbase**: v0.7.8 with extension architecture
-- **Real-time Engine**: SocketCluster v17.4.0
-- **Container Runtime**: FrankenPHP + Octane for high performance
-- **Queue System**: Laravel Queues + SQS for reliable job processing
-
-### AWS Services
-- **Compute**: ECS Fargate for serverless containers
-- **Database**: RDS MySQL 8.0 with Multi-AZ
-- **Cache**: ElastiCache Redis for performance
-- **Storage**: S3 + CloudFront for global distribution
-- **Load Balancer**: Application Load Balancer with SSL
-- **Monitoring**: CloudWatch + X-Ray for observability
-
-## Getting Started
-
-Ready to deploy Fleetbase on AWS? Choose your licensing option and get started:
-
-[**đ Deploy with AGPL v3 License**](https://aws.amazon.com/marketplace/pp/prodview-6ehco3zrjqsj6)
-[**đĸ Deploy with Commercial License**](https://aws.amazon.com/marketplace/pp/prodview-6ehco3zrjqsj6)
-[**đŦ Talk to Sales**](https://cal.com/shivthakker/enquiry)
-
-## Frequently Asked Questions
-
-### How long does deployment take?
-The CloudFormation stack typically takes 15-20 minutes to deploy completely. Most of this time is spent provisioning the database and setting up networking components.
-
-### Can I use my own domain name?
-Yes! You can specify your own domain name and the template will automatically create SSL certificates and configure DNS records through Route53.
-
-### What about data backups?
-Automated backups are enabled by default with configurable retention periods. Your RDS database is automatically backed up daily, and you can restore to any point in time.
-
-### How do I scale the infrastructure?
-The infrastructure auto-scales based on demand. You can also manually adjust instance types and counts through the CloudFormation parameters or ECS console.
-
-### Is this suitable for production use?
-Absolutely! The template follows AWS best practices for production deployments including Multi-AZ databases, auto-scaling, monitoring, and security configurations.
-
-### What support is available?
-- **AGPL v3**: Community support via GitHub issues and Discord
-- **FCL Commercial**: Priority support with direct access to engineering team and 99.9% uptime SLA
-
-### Can I customize the deployment?
-Yes! Both licensing options include full source code access. The FCL Commercial license allows you to keep modifications private, while AGPL v3 requires sharing modifications.
-
----
-
-**Ready to get started?** [Deploy to AWS now](https://console.fleetbase.io/aws-marketplace) or [contact our sales team](https://cal.com/shivthakker/enquiry) for enterprise inquiries.
-
diff --git a/docs/extensions/fleetbase-cli.md b/docs/extensions/fleetbase-cli.md
index 8399e6c..d335af4 100644
--- a/docs/extensions/fleetbase-cli.md
+++ b/docs/extensions/fleetbase-cli.md
@@ -6,9 +6,15 @@ slug: /extensions/cli
## Introduction
-FLB (Fleetbase CLI) is a command-line interface tool designed for managing Fleetbase Extensions. It simplifies the process of publishing and managing both npm and PHP Composer packages, particularly for Fleetbase extensions.
+FLB (Fleetbase CLI) is a command-line interface tool designed for managing Fleetbase Extensions and installations. It simplifies the process of installing Fleetbase, publishing and managing both npm and PHP Composer packages, and handling developer account registration for self-hosted instances.
-The CLI is used to setup authentication with the Fleetbase Registry, install and uninstall extensions, as well as scaffold new extensions for development.
+The CLI is used to:
+- Install Fleetbase with Docker
+- Setup authentication with the Fleetbase Registry
+- Register and manage developer accounts
+- Install and uninstall extensions
+- Scaffold new extensions for development
+- Publish extensions to registries
### Installation
@@ -18,94 +24,478 @@ To install FLB, run the following command:
npm install -g @fleetbase/cli
```
+## Quick Start: Installing Fleetbase
+
+The easiest way to install Fleetbase is using the CLI:
+
+```bash
+npm install -g @fleetbase/cli
+flb install-fleetbase
+```
+
+This command will guide you through an interactive installation process. See the [Installation Guide](/getting-started/install/with-cli) for detailed instructions.
+
+## Quick Start: Developer Account Registration
+
+For self-hosted instances, you'll need to register a Registry Developer Account to publish and install extensions:
+
+### Step 1: Register Your Account
+
+```bash
+flb register --host localhost:8000
+```
+
+You'll be prompted for:
+- **Username**: Your desired username
+- **Email**: Your email address
+- **Password**: A secure password (minimum 8 characters)
+- **Name**: Your display name (optional)
+
+### Step 2: Verify Your Email
+
+Check your email for a verification code:
+
+```bash
+flb verify -e your@email.com -c 123456 --host localhost:8000
+```
+
+Upon successful verification, you'll receive your registry token.
+
+### Step 3: Set Your Registry Token
+
+```bash
+flb set-auth flb_your_token_here --registry http://localhost:8000
+```
+
+### Step 4: You're Ready!
+
+You can now publish and install extensions on your self-hosted instance.
+
## Usage
+### Installing Fleetbase
+
+Install Fleetbase using Docker with an interactive wizard.
+
+```bash
+flb install-fleetbase
+```
+
+**Options:**
+- `--host `: Host or IP address to bind to (default: `localhost`)
+- `--environment `: `development` or `production` (default: `development`)
+- `--directory `: Installation directory (default: current directory)
+
+**Example:**
+```bash
+flb install-fleetbase --host 0.0.0.0 --environment production --directory /opt/fleetbase
+```
+
+This command will:
+1. Create the installation directory
+2. Generate Docker Compose configuration
+3. Create environment files
+4. Pull Docker images
+5. Start all services
+6. Initialize the database
+
+See the [CLI Installation Guide](/getting-started/install/with-cli) for more details.
+
+### Registry Developer Account Commands
+
+#### Register a Developer Account
+
+Create a new Registry Developer Account for self-hosted instances.
+
+```bash
+flb register
+```
+
+**Options:**
+- `-u, --username `: Username for your account
+- `-e, --email `: Email address
+- `-p, --password `: Password (minimum 8 characters)
+- `-n, --name `: Display name (optional)
+- `-h, --host `: API host (default: `https://api.fleetbase.io`)
+
+**Example:**
+```bash
+flb register --host localhost:8000
+flb register -u myusername -e my@email.com --host localhost:8000
+```
+
+#### Verify Email Address
+
+Verify your email using the code sent to your inbox.
+
+```bash
+flb verify
+```
+
+**Options:**
+- `-e, --email `: Email address
+- `-c, --code `: Verification code from email
+- `-h, --host `: API host (default: `https://api.fleetbase.io`)
+
+**Example:**
+```bash
+flb verify -e my@email.com -c 123456 --host localhost:8000
+```
+
+#### Resend Verification Code
+
+Request a new verification code if the previous one expired.
+
+```bash
+flb resend-verification
+```
+
+**Options:**
+- `-e, --email `: Email address
+- `-h, --host `: API host (default: `https://api.fleetbase.io`)
+
+**Example:**
+```bash
+flb resend-verification -e my@email.com --host localhost:8000
+```
+
+#### Generate or Regenerate Token
+
+Generate a new registry token or regenerate an existing one.
+
+```bash
+flb generate-token
+```
+
+**Options:**
+- `-e, --email `: Email address
+- `-p, --password `: Password
+- `-h, --host `: API host (default: `https://api.fleetbase.io`)
+
+**Example:**
+```bash
+flb generate-token -e my@email.com --host localhost:8000
+```
+
+**Note:** This command is useful for:
+- Accounts created before automatic token generation
+- Regenerating tokens for security reasons
+- Lost or compromised tokens
+
+**Important:** Each time you generate a token, it replaces the previous one.
+
+### Setup Registry Auth Token
+
+To install extensions, you must set up authorization linked to your Fleetbase account.
+
+**For Self-Hosted Users:**
+Use the developer account registration flow:
+1. `flb register` - Create your account
+2. `flb verify` - Verify your email
+3. Token is automatically provided after verification
+
+**For Cloud Users:**
+Generate a registry token at [console.fleetbase.io/extensions/developers/credentials](https://console.fleetbase.io/extensions/developers/credentials)
+
+**Set the token:**
+
+```bash
+flb set-auth [token]
+```
+
+**Options:**
+- `-p, --path `: Path of the Fleetbase instance (default: `.`)
+- `-r, --registry `: Registry URL (default: `https://registry.fleetbase.io`)
+
+**Example:**
+```bash
+# For self-hosted
+flb set-auth flb_your_token --registry http://localhost:8000
+
+# For cloud
+flb set-auth flb_your_token
+```
+
+### Login to Registry
+
+Authenticate with the Fleetbase registry using your credentials.
+
+```bash
+flb login
+```
+
+**Options:**
+- `-u, --username `: Username for the registry
+- `-p, --password `: Password for the registry
+- `-e, --email `: Email associated with your account
+- `-r, --registry `: Registry URL (default: `https://registry.fleetbase.io`)
+- `--scope `: Scope for the registry (optional)
+- `--quotes `: Quotes option for `npm-cli-login` (optional)
+- `--config-path `: Path to the npm config file (optional)
+
+**Example:**
+```bash
+flb login -u myusername -r http://localhost:8000
+```
+
### Publishing a Extension
-To publish a extension, navigate to the extension directory and run:
+To publish an extension, navigate to the extension directory and run:
```bash
flb publish [path]
```
+**Options:**
- `[path]`: (Optional) The path to the extension directory to be published. Defaults to the current directory.
+- `-r, --registry `: Custom registry URL
+
+**Example:**
+```bash
+flb publish
+flb publish ./my-extension
+flb publish -r http://localhost:8000
+```
For PHP only extensions, `flb` will automatically convert `composer.json` to `package.json` before publishing.
### Unpublishing a Extension
-To unpublish a extension, use:
+To unpublish an extension, use:
```bash
flb unpublish [extension]
```
+**Options:**
- `[extension]`: (Optional) The name of the extension to unpublish. If not provided, FLB will attempt to determine the extension name from the current directory.
+- `-r, --registry `: Custom registry URL
-### Setup Registry Auth Token
-
-To install purchased extensions you must setup authorization first which is linked to your Fleetbase account. You can generate a registry token at [https://console.fleetbase.io/extensions/developers/credentials](https://console.fleetbase.io/extensions/developers/credentials)
-
-To setup registry auth use:
-
+**Example:**
```bash
-flb set-auth [token] --path /fleetbase
+flb unpublish
+flb unpublish @fleetbase/my-extension
+flb unpublish @fleetbase/my-extension -r http://localhost:8000
```
-- `-p, --path`: (Optional) The path to the fleetbase instance directory. Defaults to the current directory.
-
### Scaffolding a Extension
Fleetbase CLI has the ability to scaffold a starter extension if you intend to develop your own extension. This greatly speeds up the development process as it gives you a correct starting point to build on.
-To scaffold a extension, use:
+To scaffold an extension, use:
```bash
flb scaffold
```
-- `-p, --path`: The path to place the scaffold extension.
-- `-n, --name`: The name of the extension to scaffold.
-- `-d, --description`: The description of the extension to scaffold.
-- `-a, --author`: The name of the extension author.
-- `-e, --email`: The email of the extension author.
-- `-k, --keywords`: The keywords of the extension to scaffold.
-- `-n, --namespace`: The PHP Namespace of the extension to scaffold.
-- `-r, --repo`: The Repository URL of the extension to scaffold.
+**Options:**
+- `-p, --path `: The path to place the scaffold extension
+- `-n, --name `: The name of the extension to scaffold
+- `-d, --description `: The description of the extension to scaffold
+- `-a, --author `: The name of the extension author
+- `-e, --email `: The email of the extension author
+- `-k, --keywords `: The keywords of the extension to scaffold
+- `--namespace `: The PHP Namespace of the extension to scaffold
+- `-r, --repo `: The Repository URL of the extension to scaffold
+
+**Example:**
+```bash
+flb scaffold -n my-extension -d "My custom extension" -a "John Doe"
+```
### Installing a Extension
-To install a extension, use:
+To install an extension, use:
```bash
-flb install [extension] --path /fleetbase
+flb install [extension]
```
-- `[extension]`: The name of the extension to install.
-- `-p, --path`: (Optional) The path to the fleetbase instance directory. Defaults to the current directory.
+**Options:**
+- `[extension]`: The name of the extension to install
+- `-p, --path `: (Optional) The path to the fleetbase instance directory. Defaults to the current directory
+
+**Example:**
+```bash
+flb install @fleetbase/storefront-api
+flb install @fleetbase/storefront-api --path /opt/fleetbase
+```
### Uninstalling a Extension
-To uninstall a extension, use:
+To uninstall an extension, use:
+
+```bash
+flb uninstall [extension]
+```
+
+**Options:**
+- `[extension]`: The name of the extension to uninstall
+- `-p, --path `: (Optional) The path to the fleetbase instance directory. Defaults to the current directory
+
+**Example:**
+```bash
+flb uninstall @fleetbase/storefront-api
+flb uninstall @fleetbase/storefront-api --path /opt/fleetbase
+```
+
+### Bundling a Extension
+
+To bundle an extension, use:
+
+```bash
+flb bundle
+```
+
+or to bundle and upload the created bundle, use:
+
+```bash
+flb bundle --upload
+```
+
+**Options:**
+- `-p, --path `: Path of the Fleetbase extension (default: `.`)
+- `--upload`: After bundling, upload the bundle to the Fleetbase registry using your authentication token
+- `--auth-token `: Auth token for uploading the bundle (used with `--upload` option)
+- `-r, --registry `: Registry URL (default: `https://registry.fleetbase.io`)
+**Example:**
```bash
-flb uninstall [extension] --path /fleetbase
+flb bundle
+flb bundle --upload --auth-token flb_your_token
```
-- `[extension]`: The name of the extension to install.
-- `-p, --path`: (Optional) The path to the fleetbase instance directory. Defaults to the current directory.
+### Uploading a Extension Bundle
-### Setting a Custom Registry
+To upload an extension bundle, use:
-To specify a custom registry for publishing and unpublishing, use the `-r` or `--registry` option:
+```bash
+flb bundle-upload [bundleFile]
+```
+
+**Options:**
+- `[bundleFile]`: Path to the bundle file to upload. If not provided, it will look for the bundle in the current directory
+- `-p, --path `: Path where the bundle is located (default: `.`)
+- `--auth-token `: Auth token for uploading the bundle. If not provided, the token will be read from the `.npmrc` file
+- `-r, --registry `: Registry URL (default: `https://registry.fleetbase.io`)
+
+**Example:**
+```bash
+flb bundle-upload
+flb bundle-upload ./my-extension-1.0.0.flb.tgz
+```
+
+### Version Bump
+
+To bump the version on an extension, use:
+
+```bash
+flb version-bump
+```
+**Options:**
+- `-p, --path `: Path of the Fleetbase extension (default: `.`)
+- `--major`: Bump major version (e.g., `1.0.0` â `2.0.0`)
+- `--minor`: Bump minor version (e.g., `1.0.0` â `1.1.0`)
+- `--patch`: Bump patch version (e.g., `1.0.0` â `1.0.1`). This is the default if no flag is provided
+- `--pre-release [identifier]`: Add a pre-release identifier (e.g., `1.0.0` â `1.0.0-beta`)
+
+**Example:**
```bash
-flb publish -r http://my-registry.com
-flb unpublish -r http://my-registry.com
+flb version-bump --patch
+flb version-bump --minor
+flb version-bump --major
+flb version-bump --pre-release beta
+```
+
+## Self-Hosted vs Cloud
+
+### Self-Hosted Users
+
+If you're running Fleetbase on your own infrastructure:
+
+1. Use `flb register` to create a Registry Developer Account
+2. Verify your email with `flb verify`
+3. Use the provided token with `flb set-auth`
+4. Specify `--host` parameter for all commands pointing to your instance
+
+**Example Workflow:**
+```bash
+# Install Fleetbase
+flb install-fleetbase --host 0.0.0.0
+
+# Register developer account
+flb register --host localhost:8000
+
+# Verify email
+flb verify -e you@email.com -c 123456 --host localhost:8000
+
+# Set auth token
+flb set-auth flb_token_here --registry http://localhost:8000
+
+# Install extensions
+flb install @fleetbase/storefront-api --path /opt/fleetbase
+```
+
+### Cloud Users
+
+If you're using Fleetbase Cloud (console.fleetbase.io):
+
+1. Generate a registry token from the Console at [Extensions > Developers > Credentials](https://console.fleetbase.io/extensions/developers/credentials)
+2. Use the token with `flb set-auth`
+3. No need to specify `--host` parameter (defaults to cloud)
+
+**Example Workflow:**
+```bash
+# Get token from console.fleetbase.io/extensions/developers/credentials
+
+# Set auth token
+flb set-auth flb_token_here
+
+# Install extensions
+flb install @fleetbase/storefront-api
```
## Configuration
FLB can be configured via command-line options. The most common options include:
-- `-r, --registry [url]`: Specify a custom registry URL.
+- `-r, --registry [url]`: Specify a custom registry URL
+- `-h, --host [url]`: Specify the API host for developer account operations
+- `-p, --path [path]`: Specify the path to Fleetbase instance or extension
+
+## Troubleshooting
+
+### Authentication Issues
+
+If you're having trouble authenticating:
+
+1. Ensure you've verified your email address
+2. Check that you're using the correct token
+3. Verify the `--registry` URL matches your instance
+4. Try regenerating your token with `flb generate-token`
+
+### Installation Issues
+
+If `flb install-fleetbase` fails:
+
+1. Ensure Docker is running
+2. Check that required ports are available (8000, 4200, 3306, 6379)
+3. Verify you have sufficient disk space
+4. Check Docker logs for errors
+
+### Extension Installation Issues
+
+If extension installation fails:
+
+1. Ensure you've set up authentication with `flb set-auth`
+2. Verify the extension name is correct
+3. Check that the Fleetbase instance path is correct
+4. Ensure the extension is compatible with your Fleetbase version
+
+## Next Steps
+
+- [Installation Guide](/getting-started/install/with-cli) - Install Fleetbase with CLI
+- [Extension Development](/developers/building-an-extension) - Build your own extensions
+- [Configuration Guide](/getting-started/configuration) - Configure Fleetbase
+- [API Documentation](/developers/api) - Integrate with Fleetbase API
diff --git a/docs/getting-started/configuration.md b/docs/getting-started/configuration.md
index 8839977..fd93fcd 100644
--- a/docs/getting-started/configuration.md
+++ b/docs/getting-started/configuration.md
@@ -50,7 +50,7 @@ REDIS_URL=redis://localhost:6379
- `MODEL_CACHE_ENABLED`: Toggle to enable/disable model caching.
- `RESPONSE_CACHE_ENABLED`: Toggle to enable/disable response caching.
- `RESPONSE_CACHE_DRIVER`: Specifies the caching driver for responses.
-- `MAIL_MAILER`: Defines the mail backend, for example: Sendgrid, SES (Amazon Simple Email Service), Postmark.
+- `MAIL_MAILER`: Defines the mail backend, for example: Sendgrid, Mailgun, Postmark, or SMTP.
- `IPINFO_API_KEY`: API key for IPInfo service, if used.
- `GOOGLE_MAPS_API_KEY`: API key for Google Maps services.
- `GOOGLE_MAPS_LOCALE`: Locale setting for Google Maps.
diff --git a/docs/getting-started/install/install-for-dev.md b/docs/getting-started/install/install-for-dev.md
index 03f8946..f756f9e 100644
--- a/docs/getting-started/install/install-for-dev.md
+++ b/docs/getting-started/install/install-for-dev.md
@@ -1,6 +1,6 @@
---
title: Install for Development
-sidebar_position: 1
+sidebar_position: 3
slug: /getting-started/install/for-development
---
diff --git a/docs/getting-started/install/install-from-source.md b/docs/getting-started/install/install-from-source.md
index 2921a09..b4459ff 100644
--- a/docs/getting-started/install/install-from-source.md
+++ b/docs/getting-started/install/install-from-source.md
@@ -1,6 +1,6 @@
---
title: Install from Source
-sidebar_position: 3
+sidebar_position: 4
slug: /getting-started/install/from-source
---
@@ -287,7 +287,7 @@ In the .env file, add the following environment variables. These variables are e
- `MODEL_CACHE_ENABLED`: Toggle to enable/disable model caching.
- `RESPONSE_CACHE_ENABLED`: Toggle to enable/disable response caching.
- `RESPONSE_CACHE_DRIVER`: Specifies the caching driver for responses.
-- `MAIL_MAILER`: Defines the mail backend, for example: Sendgrid, SES (Amazon Simple Email Service), Postmark.
+- `MAIL_MAILER`: Defines the mail backend, for example: Sendgrid, Mailgun, Postmark, or SMTP.
- `IPINFO_API_KEY`: API key for IPInfo service, if used.
- `GOOGLE_MAPS_API_KEY`: API key for Google Maps services.
- `GOOGLE_MAPS_LOCALE`: Locale setting for Google Maps.
diff --git a/docs/getting-started/install/install-with-cli.md b/docs/getting-started/install/install-with-cli.md
new file mode 100644
index 0000000..b605f3a
--- /dev/null
+++ b/docs/getting-started/install/install-with-cli.md
@@ -0,0 +1,206 @@
+---
+title: Install with CLI (Recommended)
+sidebar_position: 1
+slug: /getting-started/install/with-cli
+---
+
+# Install with CLI
+
+The fastest and easiest way to install Fleetbase is using the Fleetbase CLI tool. This method handles all the complexity of Docker setup, environment configuration, and service initialization automatically.
+
+## Prerequisites
+
+- **Node.js**: Version 14 or later
+- **npm**: Comes with Node.js
+- **Docker**: Docker Desktop (Mac/Windows) or Docker Engine (Linux)
+- **Docker Compose**: Version 2.0 or later (usually included with Docker Desktop)
+
+## Installation Steps
+
+### 1. Install Fleetbase CLI
+
+```bash
+npm install -g @fleetbase/cli
+```
+
+Verify the installation:
+
+```bash
+flb --version
+```
+
+### 2. Run the Installation Command
+
+```bash
+flb install-fleetbase
+```
+
+The interactive installer will prompt you for:
+
+- **Host**: The IP address or hostname to bind to (default: `localhost`)
+ - Use `localhost` for local development
+ - Use `0.0.0.0` to allow external access
+ - Use your server's IP for production
+
+- **Environment**: Choose between `development` or `production`
+ - `development`: Optimized for local development with debug mode enabled
+ - `production`: Optimized for production with caching and performance features
+
+- **Directory**: Installation directory (default: current directory)
+ - The CLI will create a `fleetbase` directory with all necessary files
+
+### 3. Wait for Installation
+
+The CLI will:
+1. Create the installation directory
+2. Generate Docker Compose configuration
+3. Create environment files for API and Console
+4. Pull Docker images
+5. Start all services (MySQL, Redis, API, Console, SocketCluster)
+6. Initialize the database
+
+This process typically takes 3-5 minutes depending on your internet connection.
+
+### 4. Access Fleetbase
+
+Once installation is complete, you'll see:
+
+```
+đ Fleetbase is up!
+ API â http://localhost:8000
+ Console â http://localhost:4200
+
+âšī¸ Next steps:
+ 1. Open the Console URL in your browser
+ 2. Complete the onboarding process to create your admin account
+```
+
+Open your browser to `http://localhost:4200` to access the Fleetbase Console.
+
+## Post-Installation
+
+### Complete Onboarding
+
+1. Open the Console at `http://localhost:4200`
+2. Follow the onboarding wizard to:
+ - Create your admin account
+ - Set up your organization
+ - Configure basic settings
+
+### Configure External Services (Optional)
+
+For production use, you'll want to configure:
+
+- **Email Service**: For sending notifications and verifications
+- **SMS Service**: For driver notifications (Twilio)
+- **Maps Service**: For geocoding and routing (Google Maps)
+- **Monitoring**: For error tracking (Sentry)
+
+See the [Configuration Guide](/getting-started/configuration) for details.
+
+### Register Developer Account (For Extension Development)
+
+If you plan to develop or publish extensions:
+
+```bash
+# Register account
+flb register --host localhost:8000
+
+# Verify email
+flb verify -e your@email.com -c 123456 --host localhost:8000
+
+# Set auth token (provided after verification)
+flb set-auth flb_your_token --registry http://localhost:8000
+```
+
+See the [CLI Documentation](/extensions/cli) for more details.
+
+## Troubleshooting
+
+### Port Already in Use
+
+If you see errors about ports already in use:
+
+```bash
+# Check what's using the ports
+lsof -i :8000 # API
+lsof -i :4200 # Console
+lsof -i :3306 # MySQL
+lsof -i :6379 # Redis
+
+# Stop the conflicting services or choose different ports
+```
+
+### Docker Not Running
+
+Ensure Docker is running:
+
+```bash
+docker --version
+docker compose version
+```
+
+If Docker isn't running, start Docker Desktop (Mac/Windows) or the Docker service (Linux):
+
+```bash
+# Linux
+sudo systemctl start docker
+```
+
+### Permission Denied
+
+On Linux, you may need to add your user to the docker group:
+
+```bash
+sudo usermod -aG docker $USER
+newgrp docker
+```
+
+### Services Not Starting
+
+Check the logs:
+
+```bash
+cd fleetbase # or your installation directory
+docker compose logs -f
+```
+
+## Updating Fleetbase
+
+To update Fleetbase to the latest version:
+
+```bash
+cd fleetbase # your installation directory
+docker compose pull
+docker compose up -d
+```
+
+See the [Upgrading Guide](/getting-started/upgrading) for more details.
+
+## Uninstalling
+
+To completely remove Fleetbase:
+
+```bash
+cd fleetbase # your installation directory
+docker compose down -v # -v removes volumes (databases)
+cd ..
+rm -rf fleetbase
+```
+
+## Next Steps
+
+- [Configuration Guide](/getting-started/configuration) - Configure external services
+- [CLI Documentation](/extensions/cli) - Learn about CLI commands
+- [Extension Development](/developers/building-an-extension) - Build your own extensions
+- [API Documentation](/developers/api) - Integrate with the Fleetbase API
+
+## Comparison with Other Installation Methods
+
+| Method | Difficulty | Time | Best For |
+|--------|-----------|------|----------|
+| **CLI (Recommended)** | Easy | 5 min | Everyone, especially beginners |
+| [Docker Manual](/getting-started/install/with-docker) | Medium | 15 min | Advanced users who want control |
+| [From Source](/getting-started/install/from-source) | Hard | 30 min | Developers and contributors |
+
+The CLI method is recommended for most users as it handles all the complexity automatically while still giving you full control over the installation.
diff --git a/docs/getting-started/install/install-with-docker.md b/docs/getting-started/install/install-with-docker.md
index 8707cb6..91192aa 100644
--- a/docs/getting-started/install/install-with-docker.md
+++ b/docs/getting-started/install/install-with-docker.md
@@ -65,7 +65,7 @@ REDIS_URL=redis://localhost:6379
- `MODEL_CACHE_ENABLED`: Toggle to enable/disable model caching.
- `RESPONSE_CACHE_ENABLED`: Toggle to enable/disable response caching.
- `RESPONSE_CACHE_DRIVER`: Specifies the caching driver for responses.
-- `MAIL_MAILER`: Defines the mail backend, for example: Sendgrid, SES (Amazon Simple Email Service), Postmark.
+- `MAIL_MAILER`: Defines the mail backend, for example: Sendgrid, Mailgun, Postmark, or SMTP.
- `IPINFO_API_KEY`: API key for IPInfo service, if used.
- `GOOGLE_MAPS_API_KEY`: API key for Google Maps services.
- `GOOGLE_MAPS_LOCALE`: Locale setting for Google Maps.
diff --git a/docs/guides/admin/introduction.md b/docs/guides/admin/introduction.md
index ba984f9..471a974 100644
--- a/docs/guides/admin/introduction.md
+++ b/docs/guides/admin/introduction.md
@@ -54,7 +54,7 @@ Create an upload the avatars that you want users to use in your Fleetbase instan
### Services
-Add in your API Keys for 3rd party services such as Google Maps, AWS, Twilio & Sentry in the Services section.
+Add in your API Keys for 3rd party services such as Google Maps, Twilio, Sentry, and email providers in the Services section.

diff --git a/docs/introduction.md b/docs/introduction.md
index 12ff98a..5e9d3a9 100644
--- a/docs/introduction.md
+++ b/docs/introduction.md
@@ -42,48 +42,20 @@ Fleetbase stands out in the logistics software landscape due to its exceptional
Fleetbase is not just a platform; it's a comprehensive solution engineered to transform the logistics and supply chain operations of any business, paving the way for a more efficient and reliable future in the industry.
-## đ Deploy to AWS
+## đ Quick Installation
-Deploy your complete Fleetbase logistics platform on AWS with enterprise-grade security, scalability, and reliability. No DevOps expertise required!
+Get Fleetbase up and running in minutes with our CLI-based Docker installation:
-[](https://console.fleetbase.io/aws-marketplace)
+```bash
+npm install -g @fleetbase/cli
+flb install-fleetbase
+```
-### ⨠What You Get
+The installation wizard will guide you through:
+- **Docker Setup**: Automatic container orchestration
+- **Environment Configuration**: Development or production mode
+- **Service Initialization**: MySQL, Redis, SocketCluster, and more
+- **Console Access**: Web-based management interface
-- **Complete AWS Infrastructure**: ECS Fargate, RDS MySQL, ElastiCache Redis, S3, CloudFront, and more
-- **25-Minute Setup**: From zero to production-ready logistics platform
-- **Enterprise Security**: VPC isolation, encrypted storage, secrets management
-- **Auto-Scaling**: Handle traffic spikes with ECS Fargate auto-scaling
-- **High Availability**: Multi-AZ deployment with 99.9% uptime SLA
-- **Cost Optimized**: Pay-as-you-use with optimized resource allocation
-
-### đ° Pricing Options
-
-**AGPL v3 Community Edition**
-- $2,500 one-time deployment fee
-- Full access to modify and customize
-- Community support via GitHub and Discord
-- Perfect for startups and internal tools
-
-**FCL Commercial License**
-- $25,000 annual fee (includes deployment service)
-- No copyleft obligations
-- Priority support and SLA
-- Commercial redistribution rights
-- Includes Fleetbase Navigator app
-
-### đī¸ Infrastructure Included
-
-Your AWS deployment includes a complete, production-ready infrastructure stack:
-
-- **Compute**: ECS Fargate cluster with auto-scaling services
-- **Database**: RDS MySQL 8.0 with automated backups and Multi-AZ support
-- **Cache**: ElastiCache Redis for high-performance caching
-- **Storage**: S3 object storage with CloudFront CDN for global distribution
-- **Networking**: VPC with private subnets, NAT gateways, and security groups
-- **Load Balancing**: Application Load Balancer with SSL certificates
-- **Monitoring**: CloudWatch logs, container insights, and health monitoring
-- **Messaging**: SQS message queues for background job processing
-
-[**đ Deploy Now**](https://console.fleetbase.io/aws-marketplace) | [**đ Learn More**](https://docs.fleetbase.io/category/deploying/aws)
+[**đ Installation Guide**](/getting-started/install/with-cli) | [**đ ī¸ CLI Documentation**](/extensions/cli)
diff --git a/docs/quick-start.md b/docs/quick-start.md
index 89fbaf9..20f1fc6 100644
--- a/docs/quick-start.md
+++ b/docs/quick-start.md
@@ -6,52 +6,124 @@ slug: /quick-start
# Quick Start
-Get started with the open-source version of Fleetbase in just 10 to 15 minutes. This guide is intended for developers with basic familiarity with command line tools and development processes.
+Get started with Fleetbase in just 5 minutes using our CLI-based installer. This guide is perfect for developers and operations teams who want to get up and running quickly.
## Prerequisites
-Before you begin, ensure you have Docker installed on your machine. This guide uses Docker to simplify the setup of Fleetbase.
+Before you begin, ensure you have:
-## Installation Steps
+- **Node.js** 14+ and npm installed
+- **Docker** and Docker Compose installed
+- Basic familiarity with command line tools
+
+## Installation
+
+### Step 1: Install Fleetbase CLI
+
+```bash
+npm install -g @fleetbase/cli
+```
+
+### Step 2: Run the Installer
+
+```bash
+flb install-fleetbase
+```
+
+The interactive installer will prompt you for:
+- **Host**: Use `localhost` for local development or `0.0.0.0` for external access
+- **Environment**: Choose `development` or `production`
+- **Directory**: Installation location (default: current directory)
+
+### Step 3: Access the Console
+
+Once installation completes (typically 3-5 minutes), open your browser to:
+
+```
+http://localhost:4200
+```
+
+Complete the onboarding wizard to create your admin account and set up your organization.
+
+## What's Next?
+
+### Configure External Services
+
+For production use, configure these services in your environment:
+
+- **Email**: SendGrid, Mailgun, Postmark, or SMTP
+- **SMS**: Twilio for driver notifications
+- **Maps**: Google Maps API for geocoding and routing
+- **Monitoring**: Sentry for error tracking
+
+See the [Configuration Guide](/getting-started/configuration) for detailed instructions.
+
+### Register Developer Account (Optional)
+
+If you plan to develop or publish extensions:
+
+```bash
+# Register your developer account
+flb register --host localhost:8000
+
+# Verify your email
+flb verify -e your@email.com -c 123456 --host localhost:8000
+
+# Set your registry token
+flb set-auth flb_your_token --registry http://localhost:8000
+```
+
+Learn more in the [CLI Documentation](/extensions/cli).
+
+### Explore Extensions
+
+Install extensions to add functionality:
```bash
-git clone git@github.com:fleetbase/fleetbase.git
-cd fleetbase && ./scripts/docker-install.sh
+# Set up authentication first
+flb set-auth your_token --registry http://localhost:8000
+
+# Install an extension
+flb install @fleetbase/storefront-api --path /path/to/fleetbase
```
-## Configuration
+Browse available extensions in the [Extension Marketplace](https://console.fleetbase.io/extensions).
-There is various environment variables and services which are required to successfuly run Fleetbase depending on your setup. For a local/development setup the default environment variables should be enough, but if you're running it on AWS, DigitalOcean, Azure, or some other cloud provider you may need to tweak the configuration.
+## Alternative Installation Methods
-### Fleetbase API Configuration
+If you prefer more control over the installation process:
-- `CONSOLE_HOST`: Specifies the host and port for the Fleetbase console.
-- `SOCKETCLUSTER_HOST`: Specifices the host of your SocketCluster service.
-- `SOCKETCLUSTER_PORT`: Specifices the port of your SocketCluster service. (Defaults to 38000)
-- `SOCKETCLUSTER_SECURE`: Specifices if the SocketCluster service should use WSS or WS to connect. (Defaults to `false`)
-- `GOOGLE_MAPS_API_KEY`: Required if you plan to use Google API for geocoding. (More providers coming later)
-- `IPINFO_API_KEY`: Used to retrieve user information based on their IP address.
-- `TWILIO_SID`, `TWILIO_TOKEN`, `TWILIO_FROM`: Required for Fleetbase to send SMS via Twilio. (More providers coming later)
+- [**Manual Docker Installation**](/getting-started/install/with-docker) - For advanced users
+- [**Install from Source**](/getting-started/install/from-source) - For developers and contributors
-Setting up mail is also very important for Fleetbase to send critical emails and verifications. Since Fleetbase is built using Laravel you can use the Laravel mail guide for setting up and configuring emails in Fleetbase.
+## Troubleshooting
-### Fleetbase Console Configuration
+### Ports Already in Use
-Modify the environment settings in the `console/environments/*` directory or update in `console/fleetbase.config.json`:
+If ports 8000, 4200, 3306, or 6379 are already in use, stop the conflicting services or modify the Docker Compose configuration.
-- `API_HOST`: URL where the Fleetbase API is accessible. (Defaults to http://localhost:8000)
-- `SOCKETCLUSTER_HOST`: Specifices the host of your SocketCluster service.
-- `SOCKETCLUSTER_PORT`: Specifices the port of your SocketCluster service. (Defaults to 38000)
-- `SOCKETCLUSTER_SECURE`: Specifices if the SocketCluster service should use WSS or WS to connect. (Defaults to `false`)
+### Docker Not Running
+
+Ensure Docker is running before installation:
+
+```bash
+docker --version
+docker compose version
+```
-### OSRM Configuration
+### Need Help?
-Additionally you may want to use your own OSRM routing engine, or OSRM compatible engine for routing and route optimization. You can easily do this by setting the `OSRM_HOST` environment variable on both the console and the API.
+- [Troubleshooting Guide](/getting-started/troubleshoot)
+- [Community Discord](https://discord.gg/fleetbase)
+- [GitHub Issues](https://github.com/fleetbase/fleetbase/issues)
-- `OSRM_HOST`: Specifies the host for the OSRM compatible routing engine to use. (Defaults to https://router.project-osrm.org)
+## Next Steps
-### Next Steps
+After completing the quick start:
-After completing the installation and configuration, you should verify that all services are running correctly and the application is responsive. Explore the Fleetbase documentation for advanced configurations, features, and how to start adding custom extensions.
+1. [**Architecture Overview**](/getting-started/architecture) - Understand how Fleetbase works
+2. [**Configuration Guide**](/getting-started/configuration) - Configure external services
+3. [**Fleet Ops Guide**](/guides/fleet-ops/introduction) - Start managing your fleet
+4. [**API Documentation**](/developers/api) - Integrate with your applications
-Congratulations on setting up Fleetbase! Start exploring the capabilities of your new logistics and supply chain operating system.
\ No newline at end of file
+Congratulations on setting up Fleetbase! You're ready to start managing your logistics operations.
diff --git a/package.json b/package.json
index c7f0778..3e7bc23 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@fleetbase/docs",
- "version": "0.0.3",
+ "version": "0.0.4",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
@@ -42,5 +42,6 @@
},
"engines": {
"node": ">=20.0"
- }
+ },
+ "packageManager": "pnpm@9.5.0+sha512.140036830124618d624a2187b50d04289d5a087f326c9edfc0ccd733d76c4f52c3a313d4fc148794a2a9d81553016004e6742e8cf850670268a7387fc220c903"
}