πŸ›’ Bringo

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.

🧭
Prefer a one-look overview? The whole flow is: install software β†’ upload files β†’ set permissions β†’ web server + HTTPS β†’ open the site and follow the /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.

⚠️
Run 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
⚠️
Don't forget the scheduler & queue worker β€” without them, notifications and payouts won't run. Set them up on the Cron & Queue Workers page.
πŸ‘‰
Next: Build & First Run β†’ the Go-Live Checklist.