Skip to content

Troubleshooting

Symptom Cause and fix
refusing to start: OMS_ADMIN_PASSWORD is not set The bind address is not loopback and no cockpit password is configured. Set admin_password in oms.toml (or OMS_ADMIN_PASSWORD).
password authentication failed for user "oms" The oms role’s password doesn’t match oms.password / OMS_PASSWORD. Fix the value, or reset it with ALTER ROLE oms PASSWORD '…'.
role "oms" already exists on init The database is already provisioned. Use oms database migrate, or oms database drop to start over.
SQL errors such as column … does not exist or relation … does not exist The database is behind the binary — the server does not migrate on its own. Run oms database migrate; oms database status shows what is pending.
refusing to start: credentials are stored but none of them could be decrypted master_key doesn’t match the key the credentials were stored with. See Master key and backups.
400 no account_id given and portfolio has no default account Set the portfolio’s default account — see your first paper trade.
422 instrument not found The catalog has no such instrument. Load the broker’s instruments from Broker connections in the cockpit (the Instrument universe column).
A load shows ✕ Failed or ◑ Partial Open Jobs in the cockpit’s top bar: the job’s error and log say why. ◑ Partial “interrupted” means the OMS restarted mid-load — click Load again.
The server can’t connect, and the log says no config file was found It is looking in the wrong place. The error lists every location searched — see Config file locations.
/cockpit/ returns 404 on a source build The cockpit bundle wasn’t built before cargo build. See Getting started → From source.
Link error mentioning -lssl on macOS (source build) brew install openssl@3, or set OPENSSL_DIR.