Skip to main content
Start with the logs. The last line says why the agent stopped.

Enrollment

The token was copied wrongly, or it belongs to another dataset. Copy it again, in full, from the dataset you are connecting.
The token was not used within 7 days. Generate a new one and start the agent with it.
The token was cancelled, or replaced by a newer one. Use the most recent token you generated.
An agent already used this token. Two common causes:
  • You recreated the container without its volume. The first agent enrolled, then lost its credentials. Generate a new token, start the agent with a persistent /data volume, and revoke the old agent in the dashboard.
  • You never ran an agent with it. Someone else did. The dashboard shows that agent. Revoke it, then generate a new token. See A token you did not use.
The agent has no credentials in its data directory, and no token to enroll with. Either this is the first start and the variables are missing, or the volume is not mounted. Mount the same volume the agent enrolled with, or enroll again with a new token.
The machine cannot open an HTTPS connection to api.concatflow.com. Check DNS and outbound port 443. See Network requirements.
CUBIT_API_URL starts with http://. Use https://api.concatflow.com.
The data directory is read-only, or not writable by UID 10001. Mount a writable volume at /data. A named Docker volume works out of the box.

Database

The account in DATABASE_URL has write privileges somewhere in the database. The rest of the line says where:
Use a dedicated read-only account. See Create a read-only account. Then restart the agent. It keeps its enrollment, so no new token is needed.
The user name or password in DATABASE_URL is wrong. URL-encode special characters such as @, : or / in the password.
The host in DATABASE_URL does not resolve from inside the container. Use an address the container can reach. A database on the Docker host itself is not localhost from inside the container.
DATABASE_URL must start with postgresql://, postgres://, mysql:// or mariadb://.

MySQL 8 authentication fails

With agent 0.1.0, connecting to a MySQL 8 account that uses the default caching_sha2_password plugin fails with:
The fix ships in the next agent release. MariaDB is not affected.

In the dashboard

No connection from this agent reaches Concatflow right now. Check that the container is running with docker ps, then read its logs. If it runs but stays offline, check outbound access to agents.concatflow.com:443.
The agent enrolled but never connected to the broker. The usual cause is a firewall or proxy that allows api.concatflow.com but blocks agents.concatflow.com, or blocks WebSocket traffic.
Concatflow cannot check agent status at the moment. The agent itself may be fine. Try again in a moment.
No agent of this dataset is online. Start one, or run two so one can take over.

A revoked agent keeps logging errors

The agent was revoked and can no longer connect. It keeps retrying until you remove it: