Containerized agent

Synpse can run as container image. This is great for prototyping and testing!
Synpse agent is GoLang statically compiled binary. It is recommended to run it outside your container runtime with a supervisor (systemd or sysV). But there might be reasons you want to run it as a container itself.

Run agent as a container

For now we support only AMD64 for containerized agent. More are comming
docker run -d \
--hostname agent-1 \
--name synpse-agent \
-v /var/run/docker.sock:/var/run/docker.sock \
-e AGENT_PROJECT=<prj_agent_project> \
-e AGENT_REGISTRATION_TOKEN=<drt_token_value> \
-v /data/etc-synpse:/etc/synpse \
-v /data/var-lib-synpse:/var/lib/synpse \
  • --name synpse-agent - container name in the runtime
  • --hostname - agent name in
  • -v /var/run/docker.sock:/var/run/docker.sock - docker socket mount
  • -e AGENT_PROJECT=<prj_agent_project> - Agent project ID
  • -e AGENT_REGISTRATION_TOKEN=<drt_token_value> - Device registration token
  • -v /data/etc-synpse:/etc/synpse - Synpse config location
  • -v /data/var-lib-synpse:/var/lib/synpse - Synpse state directory
If you replace volumes to be the same as supervisor managed values, the agent can re-use systemd installed configuration.
/data/var-lib-synpse:/var/lib/synpse ->/var/lib/synpse:/var/lib/synpse
/data/etc-synpse:/etc/synpse -> /etc/synpse:/etc/synpse