Laravel Forge API Skill
Wraps the Laravel Forge API in a single bash script. Organization-scoped, JSON:API format.
Setup
Option 1 — Environment variables:
CODEBLOCK0
Option 2 — Credentials file (recommended):
CODEBLOCK1
Generate your token at: forge.laravel.com → Profile → API
The org field is optional — if omitted, the CLI auto-detects your first organization. Set it explicitly if you have multiple orgs or want to skip the extra API call. You can also override per-command with --org.
Usage
CODEBLOCK2
All commands support --org ORG_SLUG to override the default organization.
Resources Overview
| Resource | Description |
|---|
| INLINECODE3 | Current user info |
| INLINECODE4 |
List/get organizations |
|
providers | Cloud provider info (regions, sizes) |
|
servers | Server management (create, delete, events, archives) |
|
services | Control services (nginx, mysql, postgres, redis, php, supervisor) |
|
php | PHP version management & configuration (cli/fpm/pool configs, opcache) |
|
background-processes | Background processes (supervisor daemons) |
|
firewall | Firewall rules |
|
jobs | Scheduled jobs (server-scoped and site-scoped) |
|
keys | SSH keys |
|
databases | Database schemas |
|
db-users | Database users |
|
backups | Backup configurations & instances |
|
monitors | Server monitors (CPU, memory, disk) |
|
nginx-templates | Nginx templates |
|
logs | Server logs |
|
sites | Site management |
|
domains | Per-site domain management |
|
composer-credentials | Per-site Composer credentials |
|
npm-credentials | Per-site NPM credentials |
|
heartbeats | Site heartbeats |
|
deployments | Deployments & scripts |
|
webhooks | Deployment webhooks |
|
commands | Run commands on sites |
|
redirects | Redirect rules |
|
security | Security rules (HTTP basic auth) |
|
integrations | Laravel integrations (Horizon, Octane, Reverb, Pulse, etc.) |
|
recipes | Recipes & Forge recipes |
|
storage-providers | Storage providers for backups |
|
teams | Team management |
|
roles | Role & permission management |
|
server-credentials | Server credentials & VPCs |
Quick Examples
User & Organizations
CODEBLOCK3
Servers
CODEBLOCK4
PHP Management
CODEBLOCK5
Sites
CODEBLOCK6
Domains
CODEBLOCK7
Deployments
CODEBLOCK8
Integrations
CODEBLOCK9
Commands
CODEBLOCK10
Databases
CODEBLOCK11
Backups
CODEBLOCK12
Firewall
CODEBLOCK13
Scheduled Jobs
CODEBLOCK14
Recipes
CODEBLOCK15
Teams
CODEBLOCK16
Storage Providers
CODEBLOCK17
Services
CODEBLOCK18
Help
CODEBLOCK19
Resource Hierarchy
Top-level (no org/server required):
- - INLINECODE35
- INLINECODE36
Org-scoped:
- - INLINECODE37
- INLINECODE38
- INLINECODE39
- INLINECODE40
- INLINECODE41
- INLINECODE42
Server-scoped:
- -
servers, services, php, background-processes, firewall, jobs (server), keys, databases, db-users, backups, monitors, nginx-templates, INLINECODE55
Site-scoped:
- -
sites, domains, composer-credentials, npm-credentials, heartbeats, deployments, webhooks, commands, redirects, security, integrations, jobs (site)
Dependencies
- -
curl — HTTP requests - INLINECODE69 — JSON parsing
Notes
- - All paths are org-scoped (except user, providers, predefined roles/permissions)
- Service actions use POST with
{"action":"..."} body - Domain certificates are now per-domain, not per-site
- PHP management is significantly expanded (cli/fpm/pool configs, version defaults)
- Integrations cover all major Laravel first-party packages
- Teams and roles provide fine-grained access control
Laravel Forge API 技能
将 Laravel Forge API 封装在单个 bash 脚本中。组织范围,JSON:API 格式。
设置
选项 1 — 环境变量:
bash
export LARAVELFORGEAPI_TOKEN=your-token-here
export LARAVELFORGEORG=your-default-org-slug
选项 2 — 凭据文件(推荐):
bash
mkdir -p ~/.openclaw/credentials/laravel-forge
echo {token:your-token-here,org:your-default-org-slug} > ~/.openclaw/credentials/laravel-forge/config.json
在以下位置生成您的令牌:forge.laravel.com → 个人资料 → API
org 字段是可选的 — 如果省略,CLI 会自动检测您的第一个组织。如果您有多个组织或想跳过额外的 API 调用,请显式设置它。您也可以使用 --org 在每个命令中覆盖。
用法
bash
laravel-forge <资源> <操作> [参数...] [--org 组织]
所有命令都支持 --org 组织别名 来覆盖默认组织。
资源概览
| 资源 | 描述 |
|---|
| user | 当前用户信息 |
| organizations |
列出/获取组织 |
| providers | 云提供商信息(区域、规格) |
| servers | 服务器管理(创建、删除、事件、归档) |
| services | 控制服务(nginx、mysql、postgres、redis、php、supervisor) |
| php | PHP 版本管理和配置(cli/fpm/pool 配置、opcache) |
| background-processes | 后台进程(supervisor 守护进程) |
| firewall | 防火墙规则 |
| jobs | 计划任务(服务器范围和站点范围) |
| keys | SSH 密钥 |
| databases | 数据库模式 |
| db-users | 数据库用户 |
| backups | 备份配置和实例 |
| monitors | 服务器监控(CPU、内存、磁盘) |
| nginx-templates | Nginx 模板 |
| logs | 服务器日志 |
| sites | 站点管理 |
| domains | 每个站点的域名管理 |
| composer-credentials | 每个站点的 Composer 凭据 |
| npm-credentials | 每个站点的 NPM 凭据 |
| heartbeats | 站点心跳 |
| deployments | 部署和脚本 |
| webhooks | 部署 Webhook |
| commands | 在站点上运行命令 |
| redirects | 重定向规则 |
| security | 安全规则(HTTP 基本认证) |
| integrations | Laravel 集成(Horizon、Octane、Reverb、Pulse 等) |
| recipes | 配方和 Forge 配方 |
| storage-providers | 备份的存储提供商 |
| teams | 团队管理 |
| roles | 角色和权限管理 |
| server-credentials | 服务器凭据和 VPC |
快速示例
用户和组织
bash
laravel-forge user get
laravel-forge organizations list
laravel-forge organizations get --org my-org
服务器
bash
列出服务器
laravel-forge servers list --org my-org
获取服务器
laravel-forge servers get 12345 --org my-org
创建服务器
laravel-forge servers create --org my-org \
--name Production API \
--provider digitalocean \
--credential-id 1 \
--type app \
--ubuntu-version 22.04 \
--php-version php82
服务器事件
laravel-forge servers events 12345 --org my-org
归档/取消归档
laravel-forge servers archive 12345 --org my-org
laravel-forge servers unarchive 12345 --org my-org
PHP 管理
bash
列出已安装的 PHP 版本
laravel-forge php versions 12345 --org my-org
安装新的 PHP 版本
laravel-forge php install 12345 --version php83 --cli-default true
设置 CLI 默认版本
laravel-forge php update-cli-version 12345 --php-version php83
设置站点默认版本
laravel-forge php update-site-version 12345 --php-version php82
FPM 配置
laravel-forge php fpm-config 12345 php82
laravel-forge php update-fpm-config 12345 php82 --config ...
OPcache
laravel-forge php enable-opcache 12345
laravel-forge php disable-opcache 12345
站点
bash
列出站点
laravel-forge sites list --org my-org
laravel-forge sites list 12345 --org my-org
创建站点
laravel-forge sites create 12345 --org my-org \
--type php \
--domain-mode single \
--name example.com \
--php-version php82 \
--repository laravel/laravel \
--branch main
更新站点
laravel-forge sites update 12345 67890 --php-version php83
环境变量
laravel-forge sites env 12345 67890
laravel-forge sites update-env 12345 67890 --environment APP_ENV=production
APP_KEY=...
Nginx 配置
laravel-forge sites nginx 12345 67890
laravel-forge sites update-nginx 12345 67890 --config ...
日志
laravel-forge sites log-nginx-access 12345 67890
laravel-forge sites log-nginx-error 12345 67890
laravel-forge sites log-application 12345 67890
域名
bash
列出站点的域名
laravel-forge domains list 12345 67890 --org my-org
添加域名
laravel-forge domains create 12345 67890 --org my-org \
--name www.example.com \
--allow-wildcards false \
--www-redirect to-non-www
域名证书
laravel-forge domains cert 12345 67890 1
laravel-forge domains create-cert 12345 67890 1 --type letsencrypt --letsencrypt true
laravel-forge domains cert-action 12345 67890 1 --action activate
域名 Nginx 配置
laravel-forge domains nginx 12345 67890 1
laravel-forge domains update-nginx 12345 67890 1 --config ...
部署
bash
立即部署
laravel-forge deployments deploy 12345 67890 --org my-org
部署历史
laravel-forge deployments list 12345 67890
laravel-forge deployments log 12345 67890 99
部署脚本
laravel-forge deployments script 12345 67890
laravel-forge deployments update-script 12345 67890 --content cd /home/forge/example.com
php artisan migrate --force
推送部署
laravel-forge deployments push-to-deploy 12345 67890
laravel-forge deployments delete-push-to-deploy 12345 67890
集成
bash
Laravel Horizon
laravel-forge integrations horizon 12345 67890 get
laravel-forge integrations horizon 12345 67890 create
laravel-forge integrations horizon 12345 67890 delete
Laravel Octane
laravel-forge integrations octane 12345 67890 create --port 8000 --server swoole
Laravel Reverb
laravel-forge integrations reverb 12345 67890 create --host 0.0.0.0 --port 8080 --connections redis
Laravel Pulse
laravel-forge integrations pulse 12345 67890 create
调度器
laravel-forge integrations laravel-scheduler 12345 67890 create
命令
bash
运行命令
laravel-forge commands run 12345 67890 --command php artisan migrate --force
获取命令输出
laravel-forge commands list 12345 67890
laravel-forge commands output 12345 67890 42
数据库
bash
列出数据库
laravel-forge databases list 12345 --org my-org
创建数据库