Applications Azure

Relaticle on Ubuntu 24.04 on Azure User Guide

| Product: Relaticle on Ubuntu 24.04 LTS on Azure

Overview

Relaticle is a modern, free and open source Customer Relationship Management platform for teams that want to own their customer data. Built on the Laravel framework, the FilamentPHP admin panel and Livewire, it brings companies, contacts (people), opportunities, tasks, notes and highly customisable fields together in one fast, clean interface, with team workspaces so colleagues collaborate on the same pipeline. The cloudimg image delivers Relaticle fully installed and configured on Ubuntu 24.04 — a Laravel 13 application on PHP 8.4 with OPcache, served by nginx over HTTPS with php-fpm, backed by PostgreSQL 17 and Redis, with a database-backed queue worker. Database migrations and the compiled front-end assets are already in place, so you land directly on the sign-in screen with no build step to run. Backed by 24/7 cloudimg support.

What is included:

  • Relaticle 3.4.5 (AGPL-3.0 licensed), a Laravel 13 + FilamentPHP 5 + Jetstream CRM, served from /var/www/relaticle/public
  • nginx (TLS on :443, with :80 redirected to HTTPS) + PHP 8.4 (php8.4-fpm with OPcache) + PostgreSQL 17 + Redis + a database-backed queue worker (relaticle-worker.service)
  • A per-VM self-signed TLS certificate generated on first boot, so the panels load over a secure context
  • The CRM workspace panel at /app (companies, people, opportunities, tasks, notes) and a system-administration panel at /sysadmin
  • Per-VM system administrator email + password, PostgreSQL password, Laravel APP_KEY and Passport OAuth keys, all generated at first boot and written to a root-only file — the image ships with no administrator account at all until first boot creates one unique to your VM
  • nginx.service, php8.4-fpm.service, postgresql.service, redis-server.service and relaticle-worker.service as systemd units, enabled and active
  • 24/7 cloudimg support

Relaticle sign-in

Prerequisites

An active Azure subscription, an SSH key pair, and a VNet + subnet in the target region. Standard_B2ms (2 vCPU / 8 GiB RAM) is a good starting point; scale up for more concurrent users. NSG inbound: allow 22/tcp from your management network and 443/tcp (HTTPS) plus 80/tcp (which redirects to HTTPS) from your users.

Step 1 — Deploy from the Azure Marketplace

Find Relaticle on Ubuntu 24.04 LTS by cloudimg in the Azure Marketplace and choose Get It Now → Create. Pick your resource group, region, and VM size (Standard_B2ms or larger), provide your SSH public key, and allow inbound 443/tcp and 80/tcp in the networking step. Review and create.

Step 2 — Or deploy with the Azure CLI

az vm create \
  --resource-group <your-rg> \
  --name relaticle \
  --image <marketplace-image-urn> \
  --size Standard_B2ms \
  --admin-username azureuser \
  --ssh-key-values ~/.ssh/id_rsa.pub \
  --public-ip-sku Standard

Then open the web ports on the VM's NSG:

az vm open-port --resource-group <your-rg> --name relaticle --port 443 --priority 900
az vm open-port --resource-group <your-rg> --name relaticle --port 80  --priority 901

Step 3 — Connect to your VM

ssh azureuser@<your-vm-public-ip>

Step 4 — Confirm the services are running

Relaticle runs as five systemd units: PostgreSQL and Redis back the application, php-fpm executes the Laravel code, nginx terminates TLS on :443 (with :80 redirecting to HTTPS), and a queue worker processes background jobs and imports.

systemctl is-active postgresql redis-server php8.4-fpm nginx relaticle-worker
ss -ltn | grep -E ':(80|443|5432|6379)'
curl -ks -o /dev/null -w 'HTTP %{http_code}\n' https://127.0.0.1/sysadmin/login

Service status, HTTPS panels and listening ports

Step 5 — Retrieve your administrator credentials

On first boot the VM generated a system administrator account, a PostgreSQL password, a Laravel APP_KEY and Passport OAuth keys — all unique to this VM — and wrote the administrator login to a root-only file. The image ships with no administrator account, so there is no default login to change.

sudo cat /root/relaticle-credentials.txt

Per-VM credentials and the no-default-admin proof

The password is shown once here. Store it in your password manager. The file is 0600 root:root.

Step 6 — Create your CRM workspace

Relaticle is where your team works day to day. Open https://<your-vm-public-ip>/app in a browser. Because the VM ships a per-VM self-signed certificate, your browser shows a one-time certificate warning on first visit — click through it (or install your own domain certificate, see Step 10).

Choose sign up for an account to register your first user, then create your workspace (team). You land in the CRM home, where you can start adding companies, people and opportunities.

Relaticle CRM sign-in

Relaticle CRM home

Step 7 — Manage companies, people and opportunities

The CRM organises your pipeline around Companies, People and Opportunities, each with customisable fields, list and board views, and CSV import/export. Add a company, link the people you deal with, and track deals as opportunities through the pipeline stages.

Companies in the CRM workspace

Opportunities pipeline

Step 8 — Sign in to the system administration panel

The /sysadmin panel is the instance-level administration console for your VM. Sign in at https://<your-vm-public-ip>/sysadmin with the system administrator email and password from /root/relaticle-credentials.txt.

Step 9 — Confirm the version and the stack

grep -m1 '"version"' /var/www/relaticle/composer.json || echo "Relaticle release v3.4.5"
php -v | head -1
sudo -u postgres psql -tAc 'SHOW server_version'
node -v; nginx -v
head -2 /var/www/relaticle/LICENSE

Version and stack

First-boot service and security model

A oneshot systemd unit, relaticle-firstboot.service, runs once on the first boot of each VM. It is ordered After=postgresql.service redis-server.service and Before=nginx.service, and is gated by ConditionPathExists=!/var/lib/cloudimg/relaticle-firstboot.done, so it runs exactly once, before the first page is served. On that first boot it:

  • rotates the PostgreSQL relaticle role password and writes it into the application .env
  • generates a fresh Laravel APP_KEY and a fresh set of Passport OAuth signing keys
  • sets APP_URL to the VM's address (resolved from Azure IMDS)
  • generates a per-VM self-signed TLS certificate into /etc/nginx/ssl
  • creates a per-VM system administrator (random email + password) and writes the login to /root/relaticle-credentials.txt

Because the administrator and every secret are generated per VM, no two deployments share a credential and nothing sensitive is baked into the image.

First-boot service, systemd ordering and per-VM certificate

Administration from the CLI

Run Laravel Artisan commands as the www-data user from the application directory:

sudo -u www-data php /var/www/relaticle/artisan about
sudo -u www-data php /var/www/relaticle/artisan queue:work database --once
sudo -u www-data php /var/www/relaticle/artisan sysadmin:create --name="Ops" --email="ops@example.com" --password="<choose-a-strong-password>"

Step 10 — Enabling HTTPS with your own domain

The image ships a per-VM self-signed certificate so the panels are served over a secure context out of the box. For production, point a DNS record at the VM and install a certificate from a trusted CA. The simplest path is certbot:

sudo snap install --classic certbot
sudo certbot --nginx -d your-domain.com

Then set APP_URL=https://your-domain.com in /var/www/relaticle/.env and run sudo -u www-data php /var/www/relaticle/artisan optimize:clear.

Backup and maintenance

  • Database backup: sudo -u postgres pg_dump relaticle > relaticle-$(date +%F).sql
  • Application files: the app tree is /var/www/relaticle; user uploads live under /var/www/relaticle/storage/app.
  • OS updates: unattended security upgrades are enabled. Apply full updates with sudo apt-get update && sudo apt-get upgrade.
  • Logs: application logs are at /var/www/relaticle/storage/logs; service logs via journalctl -u nginx -u php8.4-fpm -u relaticle-worker.

Support

Every cloudimg image is backed by 24/7 support. If you need help deploying or operating Relaticle on Azure, contact support@cloudimg.co.uk.