Skip to content
Loom Documentation

Installation

Requirements

Component Minimum Notes
PHP 8.3 With pdo, mbstring, openssl, zip, intl
Database PostgreSQL 14 MySQL 8 and SQLite work; Postgres is recommended — project trees are JSONB
Node 20 Only for building front-end assets and optional server-side bundling
Composer 2.5

Node is not required at runtime. Without it the build pipeline falls back to the runtime driver, which ships source and transpiles in the browser.

Install

composer install --no-dev --optimize-autoloader
cp .env.example .env
php artisan key:generate

Edit .env — at minimum set APP_URL, the database credentials, and one AI provider key. Then:

php artisan migrate --force --seed
npm ci && npm run build
php artisan storage:link

Create the first administrator

php artisan loom:install

This walks through creating the platform administrator and checks the install for anything missing. It is safe to run more than once.

Run the background processes

Two processes have to be running. Without the queue worker, generation never starts — this is the most common support ticket for any install.

# Required: runs generations and builds
php artisan queue:work --queue=generation,builds,default --tries=1 --timeout=900

# Optional but recommended: streams live build output to the workspace
php artisan reverb:start

Use supervisor, systemd, or your panel's process manager to keep them alive.

Add the scheduler to cron:

* * * * * cd /path/to/loom && php artisan schedule:run >> /dev/null 2>&1

Point DNS at it

Two records, both to the same server:

Record Host Purpose
A / CNAME app.example.com The application
A / CNAME *.sites.example.com Published sites

Set LOOM_SITES_DOMAIN=sites.example.com so publishing has an address.

Leave SESSION_DOMAIN unset. A leading-dot value shares the session cookie with every published site subdomain, which turns generated code into a path into the application.

Verify

Sign in and open Admin → Licence & status. It reports what this install can actually do — provider keys, queue driver, broadcasting, build driver, site domain and billing — so you can fix anything missing before your first user does.