Installing Convoro
Get a community online in minutes — pick the no-terminal zip for shared hosting, or Composer if you prefer the command line.
Requirements
Convoro runs on a standard PHP host. You need PHP 8.3+ with the pdo, mbstring, openssl, gd, fileinfo, ctype, json and zip extensions, plus a MySQL/MariaDB or PostgreSQL database.
Option A — Prebuilt zip (no terminal)
The simplest route, ideal for shared hosting. Download the prebuilt archive — it already includes the vendor libraries and compiled assets, so there is nothing to build.
Download Convoro (.zip)Upload and unzip it to your web root (point the document root at the public/ folder), then open your domain in a browser. The guided installer checks requirements, writes your config, runs migrations, and creates your admin account.
# after uploading + unzipping on the server, visit:
https://your-domain.com/installThe installer also flags production recommendations (OPcache, memory overcommit) so you start on solid footing.
Option B — Composer (command line)
Prefer the terminal? Clone the repository and let Composer do the rest. You need PHP 8.3+, Composer and Node.js on the machine.
git clone https://github.com/ernestdefoe/convoro.git
cd convoro
# install PHP + JS deps, copy .env, generate a key,
# run migrations and build the assets — all in one:
composer setup
# then serve it (or point your web server at public/):
php artisan serveSet your database credentials in the .env file before running migrations. `composer setup` runs composer install, copies .env.example to .env, generates the app key, migrates the database, and builds the frontend. To do it by hand:
composer install
cp .env.example .env
php artisan key:generate
# edit .env — set DB_DATABASE / DB_USERNAME / DB_PASSWORD
php artisan migrate
npm install && npm run build
php artisan storage:linkOption C — Docker
For container fans, Convoro ships a production-ready Docker setup: one app container (FrankenPHP — Caddy and PHP in a single process), plus MySQL, Redis, a queue worker, the realtime server and the scheduler. No separate nginx or php-fpm to wire up.
git clone https://github.com/ernestdefoe/convoro.git
cd convoro
cp docker/env.example .env
# generate an app key and paste it into APP_KEY in .env:
docker compose run --rm app php artisan key:generate --show
docker compose up -d --buildThe site comes up on http://localhost:8080 — the first start builds the image, waits for the database, and runs migrations automatically. Put HTTPS in front of it in production (Caddy, nginx, Traefik or a Cloudflare Tunnel).
Prefer not to build? The image is published on Docker Hub — pull it and set it in your compose instead of building from source:
docker pull ernestdefoe/convoro:latest
# in docker-compose.yml, replace "build: ." with:
# image: ernestdefoe/convoro:latestFull details, the service list and configuration options are in docs/install-docker.md in the repository.