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:

1
sea-forge up --watch

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:

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)