Website & Admin Panel
Install on a VPS
This is the recommended setup. The commands below assume Ubuntu 22.04 + Nginx; adapt package names for other distros. Run as a sudo user.
/install wizard. Then continue to Build & First Run and the Go-Live Checklist.1. Install the stack
# PHP 8.3 + extensions
sudo apt update
sudo apt install -y php8.3-fpm php8.3-mysql php8.3-mbstring php8.3-xml \
php8.3-curl php8.3-zip php8.3-gd php8.3-bcmath php8.3-intl unzip git
# MySQL
sudo apt install -y mysql-server
# Composer and Node are REQUIRED β the package ships source only
# Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
# Node.js 20 (Vite requires 20.19+ or 22.12+)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
2. Create the database
sudo mysql
CREATE DATABASE bringo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'bringo'@'localhost' IDENTIFIED BY 'a-strong-password';
GRANT ALL PRIVILEGES ON bringo.* TO 'bringo'@'localhost';
FLUSH PRIVILEGES;
EXIT;
3. Upload the project
Copy the bringo/ folder to your server, e.g. to /var/www/bringo (use scp, rsync, or git). Then:
cd /var/www/bringo
4. Prepare the app
The package ships source only β no vendor/, no compiled frontend, no .env β so all four commands below are required, in this order. (The build shells into php artisan, which is why Composer and .env come first.)
# writable before composer runs its post-install hooks
sudo chmod -R ug+rwx storage bootstrap/cache
composer install --no-dev --optimize-autoloader
cp .env.example .env
npm ci
npm run build
php artisan storage:link
No key:generate needed β the app writes its own APP_KEY into .env on the first request (the file must be writable), and the install wizard fills in the database credentials and APP_URL in step 5. See the .env Reference for the optional values you may want later.
npm run build before opening the site. The install wizard itself renders without it, but the storefront and admin panel it hands you over to cannot. Because APP_DEBUG is false in production you will not see a helpful message β the page is a bare βServer Errorβ (HTTP 500), and the real cause (Vite manifest not found) is written to storage/logs/laravel.log. Always read that log before guessing. Note: the build shells into php artisan, so it must run after the Composer and .env steps.5. Run the install wizard
Once the web server (step 7) is serving your domain, open it in a browser β you are redirected to /install. The wizard checks requirements, asks for your Envato purchase code and the database credentials from step 2, creates every table with its default data, and lets you create your admin account. There is no SQL file to import.
What the wizard does behind the scenes β and how to re-install β is on the Database Setup page.
6. File permissions
The web server user (www-data on Ubuntu) must own β and be able to write to β storage/ and bootstrap/cache/:
sudo chown -R www-data:www-data /var/www/bringo
sudo find /var/www/bringo -type f -exec chmod 644 {} \;
sudo find /var/www/bringo -type d -exec chmod 755 {} \;
sudo chmod -R ug+rwx storage bootstrap/cache
7. Nginx server block
Create /etc/nginx/sites-available/bringo. Note the web root points at /public:
server {
listen 80;
server_name your-domain.com;
root /var/www/bringo/public;
index index.php;
charset utf-8;
client_max_body_size 32M;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* { deny all; }
}
sudo ln -s /etc/nginx/sites-available/bringo /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
8. HTTPS
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com
After issuing the certificate, set APP_URL=https://your-domain.com in .env (that single value drives every generated link, asset and gateway return URL), then run php artisan config:clear.
9. Cache config for production
php artisan config:cache
php artisan route:cache