SEA-Forge™ Configuration Reference
Configuration File
Create sea-forge.yaml in project root to declare desired state.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| version: "1"
services:
librechat:
state: running # running | stopped | optional
auto_restart: true # Self-healing
max_restarts: 3 # 0 = unlimited
health:
url: http://localhost:3080
interval_secs: 30
timeout_secs: 5
environment:
auto_setup: false # Auto-install missing deps
watch:
enabled: false # Default watch mode
interval_secs: 30 # Health check interval
|
Service States
| State |
Behavior |
running |
Must be running, restart if down |
stopped |
Must be stopped |
optional |
Nice to have, don’t fail if missing |
Health Checks
1
2
3
4
5
| health:
url: http://localhost:3080 # HTTP check
port: 3080 # TCP check (alternative)
interval_secs: 30 # Check frequency
timeout_secs: 5 # Max response time
|
Self-Healing
Enable with:
Or in config:
1
2
3
4
5
| services:
librechat:
auto_restart: true
restart_delay_secs: 5
max_restarts: 3
|
State Tracking
The CLI tracks state in .sea-forge-state.json:
- Component fingerprints for idempotency
- Last run timestamp
- Service status
This file is auto-generated. Add to .gitignore.
Commands
| Command |
Description |
sea-forge apply |
Converge to declared state |
sea-forge apply --force |
Re-apply even if unchanged |
sea-forge up --watch |
Start + self-healing |
sea-forge watch |
Monitor only (assume running) |