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 \
quay.io/synpse/agent:latest

where:

  • --name synpse-agent - container name in the runtime

  • --hostname - agent name in cloud.synpse.net

  • -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

Last updated