Step 3
Installation
One command brings up the whole platform. Pick your operating system below.
1. Extract the ZIP
After purchasing on CodeCanyon, download the ZIP and extract it anywhere on your machine.
bash
cd ~/Downloads unzip fchat-v1.0.0.zip cd fchat
2. Run the installer
macOS / Linux
bash
chmod +x install.sh ./install.sh
Windows
Double-click install.bat, or from PowerShell:
powershell
powershell -ExecutionPolicy Bypass -File install.ps1
i
Docker is installed automatically
If Docker is missing, the launcher offers to install it for you. On Linux, this happens silently. On Mac and Windows, the Docker Desktop installer opens and you finish it once.
3. Follow the wizard
The launcher opens http://localhost:8000/install in your browser. You will see an 8-step wizard:
- Welcome - system check (PHP, extensions, Docker). All checks should be green.
- Domain - your apex domain. For local testing leave it as
localhost. For production type your real domain. - Database - keep the defaults (uses the bundled PostgreSQL). Click Test connection.
- Storage - MinIO (bundled) is the easiest. AWS S3, Wasabi or Cloudflare R2 also supported.
- Mail - skip for now or paste your SMTP credentials.
- Admin - your super-admin name, email and password. Save the password somewhere safe.
- Integrations - optional Stripe keys and your CodeCanyon purchase code.
- Review & Install - one click commits everything: writes
.env, runs migrations, seeds the catalog, creates the super admin.
4. Open your platform
The success screen gives you two links. They both work immediately:
- Super Admin -
http://admin.localhost:8000/login(oradmin.your-domain.comin production) - Create first tenant -
http://localhost:8000/signup
!
Why localhost works without DNS
Modern browsers automatically resolve
*.localhost to 127.0.0.1, so every tenant subdomain works during local testing without any /etc/hosts edits.Manual install (advanced)
Prefer to skip the wizard? You can run everything yourself:
bash
cp .env.example .env
# edit .env, fill in APP_KEY, DB_*, etc.
docker compose up -d
docker compose exec app php artisan migrate --seed
docker compose exec app php artisan tinker --execute=\
'\App\Models\SuperAdmin::create(["name"=>"You","email"=>"you@example.com","password"=>bcrypt("secret")]);'
touch bootstrap/cache/installer.lockStopping and restarting
bash
# Stop everything (keeps data) docker compose down # Restart later docker compose up -d # Wipe everything (including data!) docker compose down -v