This guide provides step-by-step instructions on how to manually deploy NexaAIOne. Although this guide focuses on manual installation, we also offer a Docker container for faster and simpler deployment. The Docker method is recommended for most use cases.
Ensure the following software is installed:
- PHP 8.2 minimum
- Redis Server
- Postgres
- Pgvector (Github Repository)
- NGINX or Apache web server
First, clone the NexaAIOne repository to your desired directory:
git clone https://github.com/mrahmadt/NexaAIOne.git
Navigate into the cloned directory:
cd NexaAIOne
Make a copy of the example configuration file:
cp .env.example .env
Open the .env
file and modify it as necessary to suit your environment. Follow the inline comments for guidance.
For additional settings and optimization, refer to the Laravel deployment documentation: Laravel Deployment Guide
Run the following commands to set up and optimize your Laravel application:
su www-data -s /bin/bash -c "composer install --optimize-autoloader --no-dev"
su www-data -s /bin/bash -c "php artisan key:generate"
su www-data -s /bin/bash -c "php artisan config:cache"
su www-data -s /bin/bash -c "php artisan route:cache"
su www-data -s /bin/bash -c "php artisan view:cache"
su www-data -s /bin/bash -c "php artisan storage:link"
su www-data -s /bin/bash -c "php artisan optimize"
su www-data -s /bin/bash -c "php artisan horizon:publish"
Run the following command to create the database tables and seed them:
php artisan migrate --seed --force
Create an admin user for the admin portal:
php artisan make:filament-user
You can now log in to the Admin portal by navigating to https://localhost/admin.
Congratulations, you've successfully deployed NexaAIOne manually! If you encounter any issues, feel free to open an ticket https://github.com/mrahmadt/NexaAIOne/issues