Mode 1 — Docker Compose (Recommended)
Full stack: backend, dashboard, PostgreSQL+PostGIS, Redis in one compose. Requires Docker Desktop.
git clone https://github.com/suezcanalxyz/seacommons.git
cd seacommons
cp .env.example .env # set CMEMS_USERNAME, CMEMS_PASSWORD, AISSTREAM_KEY
docker compose up -d
API → localhost:8000 · Dashboard → localhost:3000 · Swagger → localhost:8000/docs
Mode 2 — MOCK Mode (No credentials needed)
Set MOCK=true in .env. Sensor drivers return synthetic data, OpenDrift falls back to the Gaussian model, no CMEMS or AISSTREAM keys required. Fastest way to evaluate the platform.
Mode 3 — Local Dev (Backend + Dashboard)
pip install -e '.[dev]'
cd seacommons && npm install && npm run dev # dashboard → :5173
uvicorn core.api.main:app --reload # API → :8000
Mode 4 — Real OpenDrift (Split Python Env)
OpenDrift requires Python 3.12 with specific netCDF4 dependencies, separate from the API env.
OPENDRIFT_PYTHON=/path/to/opendrift-env/bin/python
OPENDRIFT_PARTICLES=128
OPENDRIFT_TIMESTEP_SECONDS=900
Mode 5 — Ship Edge Deployment
bash edge/firmware/firstboot.sh
docker compose -f edge/docker-compose.ship.yml up -d