Monitor Celery with zero code changes using the Sluice Go agent.
By the end of this guide, the Sluice agent will be reading events from your Redis broker and forwarding them to the dashboard — without modifying a single line of your application code.
Sign in to the Sluice dashboard and go to Connections. Click Add Connection, pick “Docker Agent”, and name your connection (e.g., “Production Celery”). You’ll receive:
An API key — starts with sk_
A Connection ID — a UUID that identifies this connection
sluice-agent | Connecting to Redis at redis://your-redis:6379/0sluice-agent | Detected framework: celerysluice-agent | Subscribed to celery events streamsluice-agent | Forwarding events to Sluice API
4. See your data
Open the Sluice dashboard. Jobs from your Celery workers will appear in real time.
How the agent works
The Go agent connects directly to your Redis broker and:
Subscribes to Celery events — listens on celeryev.* PUB/SUB channels for task and worker events.
Polls queue depths — reads queue lengths via LLEN on queue keys.
Reads queue topology — scans _kombu.binding.* keys to discover which queues exist.
Normalizes and forwards — converts Celery events to Sluice’s unified model and batches them to the Sluice API.
Reconnects automatically — if Redis goes down, the agent retries with exponential backoff and resumes when it comes back.
Celery events must be enabled. The agent reads events from Redis PUB/SUB, but Celery disables events by default. Add these settings to your Celery config:
The Python SDK enables these automatically — the agent cannot, since it doesn’t modify your application.
The Docker agent requires a Redis broker. RabbitMQ is not supported by the agent in V0. The agent reads Celery events from Redis PUB/SUB channels and polls queue depths via Redis commands — none of which apply to AMQP brokers. If your Celery deployment uses RabbitMQ, use the Python SDK instead.
Kubernetes deployment
For production Kubernetes clusters, deploy the agent as a single-replica Deployment:
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Sluice","colors":{"primary":"#22D3EE","light":"#67E8F9","dark":"#0891B2"},"favicon":"/images/favicon.svg","logo":{"light":"https://mintcdn.com/codecursorllc/mVrYQIiJQLBsvyzp/images/logo-light.svg?fit=max\u0026auto=format\u0026n=mVrYQIiJQLBsvyzp\u0026q=85\u0026s=f503175115252667fad5a30d7091cc53","dark":"https://mintcdn.com/codecursorllc/mVrYQIiJQLBsvyzp/images/logo-dark.svg?fit=max\u0026auto=format\u0026n=mVrYQIiJQLBsvyzp\u0026q=85\u0026s=87c51bbb60f5315cc32e32a595b79d32"},"api":{"mdx":{"server":"https://sluice.sh/api"}},"appearance":{"default":"dark","strict":true},"background":{"image":"https://mintlify.s3.us-west-1.amazonaws.com/codecursorllc/images/background.png","decoration":null,"color":{"light":null,"dark":"#0B1120"}},"navbar":{"links":[{"label":"Dashboard","href":"https://sluice.sh"}],"primary":{"type":"button","label":"Get Started","href":"https://sluice.sh/signup"}},"footer":{"socials":{"github":"https://github.com/sluice-sh/sluice","x":"https://x.com/sluice_sh"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"GitHub","href":"https://github.com/sluicehq/sluice","icon":"github"},{"anchor":"Status","href":"https://status.sluice.sh","icon":"signal"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"codecursorllc","hasAudioNarration":false,"actualSubdomain":"codecursorllc","customDomains":["docs.sluice.sh"],"gitSource":{"type":"github","owner":"artemip","repo":"sluice","deployBranch":"main","contentDirectory":"docs-site","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae948baccbc2a091602d11d:success","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":15},{"language":"default","tag":"Documentation","count":14},{"language":"default","tag":"Jobs","count":6},{"language":"default","tag":"Concepts","count":4},{"language":"default","tag":"Get Started","count":3},{"language":"default","tag":"SDK","count":3},{"language":"default","tag":"Troubleshooting","count":3},{"language":"default","tag":"Real-time \u0026 Health","count":2},{"language":"default","tag":"Queues \u0026 Workers","count":2},{"language":"default","tag":"Agent","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"quickstart/agent","slug":"/quickstart/agent","pageMetadata":{"title":"Quickstart — Docker Agent","description":"Monitor Celery with zero code changes using the Sluice Go agent.","href":"/quickstart/agent","hidden":false},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Monitor Celery with zero code changes using the Sluice Go agent.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`By the end of this guide, the Sluice agent will be reading events from your Redis broker and forwarding them to the dashboard — without modifying a single line of your application code.`}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Docker (or any container runtime)`}),`\n`,_jsx(_components.li,{children:`A Redis instance used as your Celery broker`}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.a,{href:`https://sluice.sh/signup`,children:`Sluice account`}),` (free, no credit card required)`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`1-create-a-connection`,children:`1. Create a connection`}),`\n`,_jsxs(_components.p,{children:[`Sign in to the `,_jsx(_components.a,{href:`https://sluice.sh`,children:`Sluice dashboard`}),` and go to `,_jsx(_components.strong,{children:`Connections`}),`. Click `,_jsx(_components.strong,{children:`Add Connection`}),`, pick “Docker Agent”, and name your connection (e.g., “Production Celery”). You’ll receive:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`An `,_jsx(_components.strong,{children:`API key`}),` — starts with `,_jsx(_components.code,{children:`sk_`})]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`Connection ID`}),` — a UUID that identifies this connection`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Copy both values.`}),`\n`,_jsx(Heading,{level:`2`,id:`2-run-the-agent`,children:`2. Run the agent`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`docker`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` run`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --name`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` sluice-agent`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -e`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` SLUICE_API_KEY=sk_live_...`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -e`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` SLUICE_API_URL=https://sluice.sh/api`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -e`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` SLUICE_CONNECTION_ID=550e8400-e29b-41d4-a716-446655440000`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -e`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` SLUICE_REDIS_URL=redis://your-redis:6379/0`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ghcr.io/sluice-sh/agent:v0.1.0`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`That’s it. One command.`}),`\n`,_jsx(Heading,{level:`2`,id:`3-verify-the-connection`,children:`3. Verify the connection`}),`\n`,_jsx(_components.p,{children:`Check the agent logs to confirm it connected:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`docker`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` logs`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` sluice-agent`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`You should see:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`sluice-agent | Connecting to Redis at redis://your-redis:6379/0`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`sluice-agent | Detected framework: celery`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`sluice-agent | Subscribed to celery events stream`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`sluice-agent | Forwarding events to Sluice API`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`2`,id:`4-see-your-data`,children:`4. See your data`}),`\n`,_jsxs(_components.p,{children:[`Open the `,_jsx(_components.a,{href:`https://sluice.sh`,children:`Sluice dashboard`}),`. Jobs from your Celery workers will appear in real time.`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-the-agent-works`,children:`How the agent works`}),`\n`,_jsx(_components.p,{children:`The Go agent connects directly to your Redis broker and:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Subscribes to Celery events`}),` — listens on `,_jsx(_components.code,{children:`celeryev.*`}),` PUB/SUB channels for task and worker events.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Polls queue depths`}),` — reads queue lengths via `,_jsx(_components.code,{children:`LLEN`}),` on queue keys.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reads queue topology`}),` — scans `,_jsx(_components.code,{children:`_kombu.binding.*`}),` keys to discover which queues exist.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Normalizes and forwards`}),` — converts Celery events to Sluice’s unified model and batches them to the Sluice API.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reconnects automatically`}),` — if Redis goes down, the agent retries with exponential backoff and resumes when it comes back.`]}),`\n`]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Celery events must be enabled.`}),` The agent reads events from Redis PUB/SUB, but Celery disables events by default. Add these settings to your Celery config:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`worker_send_task_events `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` True`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`task_send_sent_event `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` True`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`task_track_started `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` True`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`The `,_jsx(_components.a,{href:`/quickstart/sdk`,children:`Python SDK`}),` enables these automatically — the agent cannot, since it doesn’t modify your application.`]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The Docker agent requires a Redis broker.`}),` RabbitMQ is not supported by the agent in V0. The agent reads Celery events from Redis PUB/SUB channels and polls queue depths via Redis commands — none of which apply to AMQP brokers. If your Celery deployment uses RabbitMQ, use the `,_jsx(_components.a,{href:`/quickstart/sdk`,children:`Python SDK`}),` instead.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`kubernetes-deployment`,children:`Kubernetes deployment`}),`\n`,_jsx(_components.p,{children:`For production Kubernetes clusters, deploy the agent as a single-replica Deployment:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`33`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`33`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`apiVersion`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`apps/v1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`kind`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`Deployment`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`metadata`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`sluice-agent`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`spec`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` replicas`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` selector`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` matchLabels`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` app`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`sluice-agent`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` template`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` metadata`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` labels`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` app`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`sluice-agent`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` spec`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` containers`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`sluice-agent`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Pin to a specific version — avoid :latest in production`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` image`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`ghcr.io/sluice-sh/agent:v0.1.0`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`SLUICE_API_KEY`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` valueFrom`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` secretKeyRef`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`sluice-secrets`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`api-key`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`SLUICE_API_URL`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`https://sluice.sh/api`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`SLUICE_CONNECTION_ID`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` valueFrom`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` secretKeyRef`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`sluice-secrets`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`connection-id`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`SLUICE_REDIS_URL`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` value`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`redis://redis-master:6379/0`})]}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Run one agent per Redis instance. If your Celery workers use multiple Redis databases or instances, deploy one agent for each.`})}),`\n`,_jsx(Heading,{level:`2`,id:`sdk-vs-agent-—-which-to-choose`,children:`SDK vs Agent — which to choose`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:`Python SDK`}),_jsx(_components.th,{children:`Docker Agent`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Code changes`})}),_jsx(_components.td,{children:`2 lines`}),_jsx(_components.td,{children:`None`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Auto-configures Celery events`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`No (manual config needed)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Data richness`})}),_jsx(_components.td,{children:`Highest (in-process access)`}),_jsx(_components.td,{children:`High (Redis events + key reads)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Deployment`})}),_jsx(_components.td,{children:`In your Celery worker process`}),_jsx(_components.td,{children:`Separate container`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Best for`})}),_jsx(_components.td,{children:`App developers who own the code`}),_jsx(_components.td,{children:`Platform/DevOps teams`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/agent/configuration`,children:`Agent Configuration Reference`}),` — all environment variables and defaults`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/troubleshooting/no-data`,children:`Troubleshooting`}),` — if jobs aren’t appearing`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/troubleshooting/connection-issues`,children:`Connection Issues`}),` — Redis connectivity problems`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api/overview`,children:`REST API Reference`}),` — programmatic access to your data`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Quickstart — Docker Agent","description":"Monitor Celery with zero code changes using the Sluice Go agent.","href":"/quickstart/agent","hidden":false}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"1. Create a connection","slug":"1-create-a-connection","depth":2,"children":[]},{"title":"2. Run the agent","slug":"2-run-the-agent","depth":2,"children":[]},{"title":"3. Verify the connection","slug":"3-verify-the-connection","depth":2,"children":[]},{"title":"4. See your data","slug":"4-see-your-data","depth":2,"children":[]},{"title":"How the agent works","slug":"how-the-agent-works","depth":2,"children":[]},{"title":"Kubernetes deployment","slug":"kubernetes-deployment","depth":2,"children":[]},{"title":"SDK vs Agent — which to choose","slug":"sdk-vs-agent-—-which-to-choose","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"codecursorllc","siteName":"Sluice","title":"Quickstart — Docker Agent - Sluice","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-16T00:52:06.556Z","originalFileLocation":"quickstart/agent.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Monitor Celery with zero code changes using the Sluice Go agent.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sluice\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/codecursorllc/1Esca-mrCHsfHaQj/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/codecursorllc/1Esca-mrCHsfHaQj/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/codecursorllc/1Esca-mrCHsfHaQj/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/codecursorllc/1Esca-mrCHsfHaQj/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/codecursorllc/1Esca-mrCHsfHaQj/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/codecursorllc/1Esca-mrCHsfHaQj/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/codecursorllc/1Esca-mrCHsfHaQj/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/codecursorllc/1Esca-mrCHsfHaQj/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/codecursorllc/1Esca-mrCHsfHaQj/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Quickstart — Docker Agent - Sluice\">\u003cmeta data-mint-head property=\"og:description\" content=\"Monitor Celery with zero code changes using the Sluice Go agent.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sluice\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sluice.sh/quickstart/agent\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://codecursorllc.mintlify.site/_mintlify/api/og/v2?division=Get+Started\u0026amp;title=Quickstart+%E2%80%94+Docker+Agent\u0026amp;description=Monitor+Celery+with+zero+code+changes+using+the+Sluice+Go+agent.\u0026amp;theme=51a359e96637af92d9fd808b\u0026amp;signature=23aaeac3d45f209536056eef482d4d57f5e78c2a774d68ba61ef78e15ec95d47\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Quickstart — Docker Agent - Sluice\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Monitor Celery with zero code changes using the Sluice Go agent.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://codecursorllc.mintlify.site/_mintlify/api/og/v2?division=Get+Started\u0026amp;title=Quickstart+%E2%80%94+Docker+Agent\u0026amp;description=Monitor+Celery+with+zero+code+changes+using+the+Sluice+Go+agent.\u0026amp;theme=51a359e96637af92d9fd808b\u0026amp;signature=23aaeac3d45f209536056eef482d4d57f5e78c2a774d68ba61ef78e15ec95d47\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/codecursorllc/1Esca-mrCHsfHaQj/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sluice\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#22D3EE\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sluice.sh/quickstart/agent\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/quickstart/agent.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sluice.sh/#organization\",\"name\":\"Sluice\",\"url\":\"https://docs.sluice.sh\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/codecursorllc/mVrYQIiJQLBsvyzp/images/logo-light.svg?fit=max\u0026auto=format\u0026n=mVrYQIiJQLBsvyzp\u0026q=85\u0026s=f503175115252667fad5a30d7091cc53\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sluice.sh#website\",\"name\":\"Sluice\",\"url\":\"https://docs.sluice.sh\",\"publisher\":{\"@id\":\"https://docs.sluice.sh/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sluice.sh/quickstart/agent#webpage\",\"url\":\"https://docs.sluice.sh/quickstart/agent\",\"name\":\"Quickstart — Docker Agent\",\"description\":\"Monitor Celery with zero code changes using the Sluice Go agent.\",\"dateModified\":\"2026-03-16T00:52:06.556Z\",\"isPartOf\":{\"@id\":\"https://docs.sluice.sh#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sluice.sh/quickstart/agent#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sluice.sh/quickstart/agent#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Get Started\",\"item\":\"https://docs.sluice.sh/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quickstart — Docker Agent\",\"item\":\"https://docs.sluice.sh/quickstart/agent\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.sluice.sh/quickstart/agent#article\",\"headline\":\"Quickstart — Docker Agent\",\"name\":\"Quickstart — Docker Agent\",\"description\":\"Monitor Celery with zero code changes using the Sluice Go agent.\",\"url\":\"https://docs.sluice.sh/quickstart/agent\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sluice.sh/quickstart/agent#webpage\"},\"dateModified\":\"2026-03-16T00:52:06.556Z\",\"publisher\":{\"@id\":\"https://docs.sluice.sh/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sluice.sh#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Sluice\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Sluice\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/quickstart/agent.md","siteName":"Sluice","nav":{"global":{"anchors":[{"anchor":"GitHub","href":"https://github.com/sluicehq/sluice","icon":"github"},{"anchor":"Status","href":"https://status.sluice.sh","icon":"signal"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Quickstart — Python SDK","description":"Connect your Celery workers to Sluice in under 2 minutes with the Python SDK.","href":"/quickstart/sdk"},{"title":"Quickstart — Docker Agent","href":"/quickstart/agent"}]},{"group":"Agent","pages":[{"title":"Agent Configuration","description":"Complete reference for the Sluice Go agent — all environment variables, defaults, and behaviors.","href":"/agent/configuration"}]},{"group":"SDK","pages":[{"title":"SDK Reference","href":"/sdk/reference"},{"title":"Configuration","href":"/sdk/configuration"},{"title":"Safety Guarantees","href":"/sdk/safety"}]},{"group":"Concepts","pages":[{"title":"How Sluice Works","href":"/concepts/how-it-works"},{"title":"Job States","href":"/concepts/job-states"},{"title":"Celery Failure Modes","href":"/concepts/celery-failure-modes"},{"title":"Data and Privacy","href":"/concepts/data-and-privacy"}]},{"group":"Troubleshooting","pages":[{"title":"No Data Appearing","href":"/troubleshooting/no-data"},{"title":"Connection Issues","href":"/troubleshooting/connection-issues"},{"title":"Common Errors","href":"/troubleshooting/common-errors"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api/overview"}]}]},"basePath":"","title":"Quickstart — Docker Agent - Sluice","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}