Vireo CRM - Self-Hosted PHP + React CRM icon

Vireo CRM - Self-Hosted PHP + React CRM

Go to Website
Hot or Not
Vireo CRM - Self-Hosted PHP + React CRM

Description

Vireo is a self hosted sales, CRM for one company. A team works a deal from the first conversation through a quotation, a purchase order, and an issued invoice, on a shared pipeline with a clear rule for who can see each record.

The interface is React. The server is Laravel 12 with Sanctum. Data lives in MySQL. Redis holds sessions, cache, and the queue. Demo and live records share one database, so an administrator can walk the sample book and then switch to the live book without a second install.

Google mail, calendar, and Drive are optional. Leave those fields empty and the rest of the CRM still runs. Exchange rates can be fetched nightly from Frankfurter, which needs no API key, or typed in by hand.

Features

  • Dashboard for the open book: pipeline value, weighted forecast, overdue work, and a layout each person can rearrange.
  • Pipeline from the first brief through an issued invoice, then Ready To Win, Won, and Lost. Deals move on the board or from the record. Stage behaviour follows flags (quote sent, purchase order filed, invoice recorded, invoice issued, won, lost), not the stage name. Forward moves into purchase-order and invoice stages ask for the paperwork those flags require.
  • Contacts, organizations, and leads, with duplicate matching and a merge path. Leads convert into the book.
  • Activities with day, week, month, and year calendar views. Followers, comments, and files sit on the record they belong to.
  • Quotations, a product catalogue, and an invoice-request queue.
  • Reports, insight dashboards, forecast, and targets, including team attainment.
  • Teams and roles. A head sees the teams they manage. A team leader sees their team. A member sees their own book. Private deals stay private unless someone is a follower. Permission sets narrow what each role can do.
  • Saved filters with ALL and ANY groups, including rules that reach across a deal, a contact, and an organization.
  • Automations for repeated steps.
  • Multiple currencies. Reference rates are fetched nightly when the scheduler is running, or entered by hand.
  • Optional Google connection for mailbox, calendar, and Drive.
  • CSV import and a Pipedrive export import, with a preview before rows are created.
  • A guided tour and a help page on each screen.
  • A seeded demo company: nine named accounts, four regional teams, and a sample book. Admin sign-in is admin@vireo.org / password.

Requirements

  • PHP 8.4, with bcmath, ctype, curl, dom, fileinfo, gd, intl, mbstring, openssl, pdo_mysql, redis, tokenizer, xml, and zip
  • Composer 2
  • Node.js 22 and npm, used once to compile the interface
  • MySQL 8
  • Redis 7, or a current Redis 7-compatible server
  • Docker Engine and Docker Compose v2, only if you use the included Compose file. Node.js 22 is still required on the machine that runs npm.

Instructions

Try it on your computer

  1. Copy .env.example to .env. Set DB_PASSWORD to a password you choose. Leave APP_URL as http://localhost:8000 unless you change APP_PORT.
  2. From the project folder, run:
    docker compose build
    docker compose run --rm --no-deps app composer install --no-interaction --prefer-dist
    docker compose run --rm --no-deps app php artisan key:generate
    npm ci
    npm run build
    docker compose up -d
    docker compose exec app php artisan migrate --seed
    
    
  3. Open http://localhost:8000. Sign in as admin@vireo.org with the password password. Change that password in Settings, Profile, before anyone else can reach the machine.

Put it on a server

  1. Install PHP 8.4, Composer 2, Node.js 22, MySQL 8, and Redis. Create a database and a user.
  2. Copy .env.example to .env. Set DB_HOST, DB_DATABASE, DB_USERNAME, and DB_PASSWORD for that database. Set REDIS_HOST to the Redis server. Set APP_URL to the public https address, and include that host in SANCTUM_STATEFUL_DOMAINS. Set APP_ENV=production and APP_DEBUG=false.
  3. Run composer install --no-dev --optimize-autoloader --no-interaction, php artisan key:generate, npm ci, npm run build, and php artisan migrate --seed. Generate the key once and keep it. A new key later makes saved secrets unreadable.
  4. Point the web server at the public directory only. storage and bootstrap/cache must be writable by the PHP user.
  5. Keep a queue worker running with php artisan queue:work. Add a cron entry so scheduled work runs:
    * * * * * cd /path/to/vireo && php artisan schedule:run >> /dev/null 2>&1
    
    

Use the CRM

  1. The seeded company opens in the demo book. Dashboard, Pipeline, Contacts, and Activities are the screens to walk first.
  2. Open a deal on the pipeline. Move it forward when the quotation, purchase order, or invoice that stage asks for is on the record.
  3. When you want real records, go to Settings, then Data. Switch to live and type LIVE. Nothing is deleted. Use Wipe LIVE data, and type WIPE LIVE, only when you want the live book emptied. Settings, the pipeline, and products stay.
  4. Add your users and teams, or import a CSV or a Pipedrive export from Settings, Data. The import shows a preview before it creates rows.
Authoryoussefhaidar
CategoryScripts & Code / PHP Scripts / CRM
Price$304
First ReleaseOct 10, 2026
Last UpdateOct 13, 2026
DatabaseMySQL 8.0, Redis
Files included.php, .css, .html, .ts, .tsx, .json, .svg, .md, .yml/.yaml, composer.json, package.json, Dockerfile, .blade.php, JavaScript .js
Software versionPHP 8.4, Node.js 22
Html/css frameworkTailwind CSS
Software frameworkReact, Laravel
Javascript frameworkReact, Node.js
Programming languagePHP, JavaScript, TypeScript

External listing. code.market does not sell this product and does not process payment for it. Pricing, payment, delivery, licensing, refunds, and support are handled by the third-party merchant on its own website. We may earn an affiliate commission from a referral. Details.

Products of the Week.

Submit
Free social media tools for creators & solofounders

Free social media tools for creators & solofounders

295 free tools for growing your social media: write, plan, grow on local AI models, 100% free forever, No sign-up required, No trial. Write, check and measure posts on LinkedIn, Instagram, TikTok, X, YouTube, Reddit, Product Hunt and more: a free social media scheduler for 17 networks, engagement rate calculators, character counters, best time to post, hook generators and follower growth calculators. No login anywhere, no API or credit usage.

669 views · 6 clicks

$6

Vireo CRM - Self-Hosted PHP + React CRM | Code Market