git pulldocker compose pulldocker compose up -d --build
This pulls the latest changes from GitHub and the latest images from the registry, rebuilds the containers, and restarts the node.
Hardfork upgrades are time-sensitiveNetwork hardforks require running a compatible client version before the fork block, or your node will stop following the chain. Watch the Notices for each upgrade’s required versions and timing. Support for op-geth has ended; a node still running it must migrate to op-reth — see End of Support for op-geth.
To pin a specific image version instead of tracking the latest, set the matching IMAGE_TAG__* variable in your .env (for example IMAGE_TAG__OP_RETH). The op-node and eigenda-proxy image tags are fixed in docker-compose.yml and change only when you git pull.
# Restart with minimal downtime (no upgrade)docker compose restart# Stop the node without wiping any data; safe to start again afterwardsdocker compose down
docker compose down -v wipes all dataThe -v flag deletes the node’s volumes, including the chaindata. Only use it when you intend to discard everything and re-sync from scratch.
The chaindata lives in DATADIR_PATH (default ./envs/<network>/datadir). To back it up, stop the node first so the database is in a consistent state, then copy the datadir:
docker compose downcp -a ./envs/<network>/datadir /path/to/backup
If you need to rebuild a node, start from an empty DATADIR_PATH — a datadir written by op-geth cannot be reused. Bootstrap from a published snapshot (OP_RETH__SNAPSHOT=true, required on mainnet) or, on Celo Sepolia, execute every block from genesis; see Run a node with Docker. Pre-L2 historical state is served separately, by a Historical RPC Service that every mainnet node needs — see Configure Historical RPC Service.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Celo Docs","description":"Learn to develop on the Ethereum L2 built for the real world. Access guides, APIs, and tools for fast, affordable blockchain applications","colors":{"primary":"#000000","light":"#fcff52","dark":"#000000"},"logo":{"light":"https://mintcdn.com/celo-64ac69bd/0WkPc8r8miw6rJ0o/images/CeloDocs_LogoLight.svg?fit=max\u0026auto=format\u0026n=0WkPc8r8miw6rJ0o\u0026q=85\u0026s=9d6c38002bd204ed66ca9db0782aecf9","dark":"https://mintcdn.com/celo-64ac69bd/0WkPc8r8miw6rJ0o/images/CeloDocs_LogoDark.svg?fit=max\u0026auto=format\u0026n=0WkPc8r8miw6rJ0o\u0026q=85\u0026s=020f629b1f5797de98cb1aed37d8a3a7"},"favicon":"https://mintcdn.com/celo-64ac69bd/0WkPc8r8miw6rJ0o/images/CeloDocs_Favicon_64px.png?fit=max\u0026auto=format\u0026n=0WkPc8r8miw6rJ0o\u0026q=85\u0026s=7ba4295bda57bbba69fb5e4d52e86db9","appearance":{"default":"dark"},"background":{"color":{"light":"#FCF6F1","dark":"#0b0d10"}},"navbar":{"links":[{"href":"https://discord.com/invite/celo","label":"Community"},{"href":"https://celo.org","label":"Celo.org"}],"primary":{"type":"button","label":"GitHub","href":"https://github.com/celo-org"}},"footer":{"links":[{"header":"Community","items":[{"label":"Forum","href":"https://forum.celo.org/"},{"label":"Contributors","href":"/contribute"}]},{"header":"Socials","items":[{"label":"Youtube","href":"https://www.youtube.com/@CeloOrg"},{"label":"Discord","href":"https://discord.com/invite/celo"},{"label":"X","href":"https://x.com/Celo"},{"label":"Events","href":"https://luma.com/user/usr-QJkvU5EML2BJeYc"},{"label":"Celo Developers newsletter","href":"https://celo-devs.beehiiv.com/subscribe"}]}]},"seo":{"organization":{"name":"Celo","url":"https://celo.org","logo":"https://docs.celo.org/logo/celo_light.png","sameAs":["https://github.com/celo-org","https://x.com/Celo","https://www.youtube.com/@CeloOrg","https://discord.com/invite/celo","https://forum.celo.org/","https://l2beat.com/scaling/projects/celo"]}},"fonts":{"heading":{"family":"system-ui"},"body":{"family":"system-ui"}},"integrations":{"ga4":{"measurementId":"G-0CXEKQ81V2"}},"banner":{"content":"🤖 **Agents on Open Rails** | Celo’s global hackathon — $5,000 in prizes, kicks off Oct 6. [Join the hackathon](https://www.loops.house/agents-on-open-rails)","dismissible":true},"contextual":{"options":["copy","view","mcp","chatgpt","claude","cursor","vscode",{"title":"Edit on GitHub","description":"Open the docs repository to edit a page and raise a pull request","icon":"github","href":"https://github.com/celo-org/docs"}],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Docs for AI","icon":"robot","href":"/build/agents/use-docs-with-ai"},{"anchor":"Organization","icon":"globe","href":"https://celo.org/"},{"anchor":"Support","icon":"bullhorn","href":"https://discord.com/invite/celo"},{"anchor":"Forum","icon":"newspaper","href":"https://forum.celo.org/"},{"anchor":"Faucet","icon":"faucet","href":"https://faucet.celo.org/celo-sepolia"},{"anchor":"FAQs","icon":"square-question","href":"https://docs.celo.org/operate/operators/faq"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"celo-64ac69bd","hasAudioNarration":false,"actualSubdomain":"celo-64ac69bd","customDomains":["docs.celo.org"],"gitSource":{"type":"github","owner":"celo-org","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adb4425cf9bd761b13fd127","collectionId":"d7fc9077-9e80-462e-9371-bd0fc74f59ab","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adb4425cf9bd761b13fd127"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adb4425cf9bd761b13fd127","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Build","count":129},{"language":"default","tag":"Tools","count":84},{"language":"default","tag":"Learn","count":44},{"language":"default","tag":"Libraries \u0026 SDKs","count":40},{"language":"default","tag":"Operate","count":39},{"language":"default","tag":"CLI","count":21},{"language":"default","tag":"Agents","count":18},{"language":"default","tag":"Contribute","count":15},{"language":"default","tag":"Guides","count":12},{"language":"default","tag":"ContractKit","count":10}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"community@celo.org"}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".colored_text a{color:inherit!important}ol ol{list-style-type:lower-roman!important}"}],"page":{"pagePath":"operate/operators/maintenance","slug":"/operate/operators/maintenance","pageMetadata":{"title":"Upgrades \u0026 Maintenance","sidebarTitle":"Upgrades \u0026 Maintenance","description":"Routine upgrade and maintenance tasks for a running Celo L2 node","href":"/operate/operators/maintenance"},"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: \"Routine upgrade and maintenance tasks for a running Celo L2 node\"\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`,em:`em`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Routine operational tasks for a running Celo L2 node, using the `,_jsx(_components.a,{href:`https://github.com/celo-org/celo-l2-node-docker-compose`,children:`celo-l2-node-docker-compose`}),` setup.`]}),`\n`,_jsx(Heading,{level:`2`,id:`upgrading-your-node`,children:`Upgrading your node`}),`\n`,_jsx(_components.p,{children:`To upgrade to the latest client versions:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,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:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`git`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pull`})]}),`\n`,_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:` compose`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pull`})]}),`\n`,_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:` compose`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` up`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --build`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This pulls the latest changes from GitHub and the latest images from the registry, rebuilds the containers, and restarts the node.`}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Hardfork upgrades are time-sensitive`})}),_jsxs(_components.p,{children:[`Network hardforks require running a compatible client version `,_jsx(_components.em,{children:`before`}),` the fork block, or your node will stop following the chain. Watch the `,_jsx(_components.a,{href:`/operate/notices/overview`,children:`Notices`}),` for each upgrade’s required versions and timing. Support for op-geth has ended; a node still running it must migrate to op-reth — see `,_jsx(_components.a,{href:`/operate/notices/op-geth-deprecation`,children:`End of Support for op-geth`}),`.`]})]}),`\n`,_jsxs(_components.p,{children:[`To pin a specific image version instead of tracking the latest, set the matching `,_jsx(_components.code,{children:`IMAGE_TAG__*`}),` variable in your `,_jsx(_components.code,{children:`.env`}),` (for example `,_jsx(_components.code,{children:`IMAGE_TAG__OP_RETH`}),`). The op-node and eigenda-proxy image tags are fixed in `,_jsx(_components.code,{children:`docker-compose.yml`}),` and change only when you `,_jsx(_components.code,{children:`git pull`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`restarting-and-stopping`,children:`Restarting and stopping`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,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:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Restart with minimal downtime (no upgrade)`})}),`\n`,_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:` compose`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` restart`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Stop the node without wiping any data; safe to start again afterwards`})}),`\n`,_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:` compose`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` down`})]}),`\n`]})})}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`docker compose down -v`}),` wipes all data`]})}),_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`-v`}),` flag deletes the node’s volumes, including the chaindata. Only use it when you intend to discard everything and re-sync from scratch.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`backing-up-your-data`,children:`Backing up your data`}),`\n`,_jsxs(_components.p,{children:[`The chaindata lives in `,_jsx(_components.code,{children:`DATADIR_PATH`}),` (default `,_jsx(_components.code,{children:`./envs/\u003cnetwork>/datadir`}),`). To back it up, stop the node first so the database is in a consistent state, then copy the datadir:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,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:`2`,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:` compose`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` down`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`cp`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -a`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ./envs/`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`networ`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`k`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/datadir`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /path/to/backup`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`re-syncing`,children:`Re-syncing`}),`\n`,_jsxs(_components.p,{children:[`If you need to rebuild a node, start from an empty `,_jsx(_components.code,{children:`DATADIR_PATH`}),` — a datadir written by op-geth cannot be reused. Bootstrap from a published snapshot (`,_jsx(_components.code,{children:`OP_RETH__SNAPSHOT=true`}),`, required on mainnet) or, on Celo Sepolia, execute every block from genesis; see `,_jsx(_components.a,{href:`/operate/operators/run-node`,children:`Run a node with Docker`}),`. Pre-L2 historical state is served separately, by a Historical RPC Service that every mainnet node needs — see `,_jsx(_components.a,{href:`/operate/operators/archive-node#configure-historical-rpc-service`,children:`Configure Historical RPC Service`}),`.`]})]})}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":"Upgrades \u0026 Maintenance","sidebarTitle":"Upgrades \u0026 Maintenance","description":"Routine upgrade and maintenance tasks for a running Celo L2 node","href":"/operate/operators/maintenance"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Upgrading your node","slug":"upgrading-your-node","depth":2,"children":[]},{"title":"Restarting and stopping","slug":"restarting-and-stopping","depth":2,"children":[]},{"title":"Backing up your data","slug":"backing-up-your-data","depth":2,"children":[]},{"title":"Re-syncing","slug":"re-syncing","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/celo-64ac69bd/2f1ae726193f7358/assistant.js"],"subdomain":"celo-64ac69bd","siteName":"Celo Docs","title":"Upgrades \u0026 Maintenance - Celo Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T08:29:12.828Z","originalFileLocation":"operate/operators/maintenance.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;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=\"Routine upgrade and maintenance tasks for a running Celo L2 node\">\u003cmeta data-mint-head name=\"application-name\" content=\"Celo Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/celo-64ac69bd/AG5c0rSidebGFnjH/_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/celo-64ac69bd/AG5c0rSidebGFnjH/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/celo-64ac69bd/AG5c0rSidebGFnjH/_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/celo-64ac69bd/AG5c0rSidebGFnjH/_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/celo-64ac69bd/AG5c0rSidebGFnjH/_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/celo-64ac69bd/AG5c0rSidebGFnjH/_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/celo-64ac69bd/AG5c0rSidebGFnjH/_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/celo-64ac69bd/AG5c0rSidebGFnjH/_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/celo-64ac69bd/AG5c0rSidebGFnjH/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Upgrades \u0026amp; Maintenance - Celo Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Routine upgrade and maintenance tasks for a running Celo L2 node\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Celo Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.celo.org/operate/operators/maintenance\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://celo-64ac69bd.mintlify.app/_mintlify/api/og/v2?division=Node+Management\u0026amp;title=Upgrades+%26+Maintenance\u0026amp;description=Routine+upgrade+and+maintenance+tasks+for+a+running+Celo+L2+node\u0026amp;theme=f89b675bf0695d1efecdbf40\u0026amp;signature=d372af78949ef8491a36d1d131bb0538ce8053faf42b178dda6f4fba85c80e8a\">\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=\"Upgrades \u0026amp; Maintenance - Celo Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Routine upgrade and maintenance tasks for a running Celo L2 node\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://celo-64ac69bd.mintlify.app/_mintlify/api/og/v2?division=Node+Management\u0026amp;title=Upgrades+%26+Maintenance\u0026amp;description=Routine+upgrade+and+maintenance+tasks+for+a+running+Celo+L2+node\u0026amp;theme=f89b675bf0695d1efecdbf40\u0026amp;signature=d372af78949ef8491a36d1d131bb0538ce8053faf42b178dda6f4fba85c80e8a\">\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/celo-64ac69bd/AG5c0rSidebGFnjH/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Celo Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.celo.org/operate/operators/maintenance\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/operate/operators/maintenance.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://celo.org/#organization\",\"name\":\"Celo\",\"url\":\"https://celo.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://docs.celo.org/logo/celo_light.png\"},\"sameAs\":[\"https://github.com/celo-org\",\"https://x.com/Celo\",\"https://www.youtube.com/@CeloOrg\",\"https://discord.com/invite/celo\",\"https://forum.celo.org/\",\"https://l2beat.com/scaling/projects/celo\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.celo.org#website\",\"name\":\"Celo Docs\",\"url\":\"https://docs.celo.org\",\"publisher\":{\"@id\":\"https://celo.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.celo.org/operate/operators/maintenance#webpage\",\"url\":\"https://docs.celo.org/operate/operators/maintenance\",\"name\":\"Upgrades \u0026 Maintenance\",\"description\":\"Routine upgrade and maintenance tasks for a running Celo L2 node\",\"dateModified\":\"2026-10-21T08:29:12.828Z\",\"isPartOf\":{\"@id\":\"https://docs.celo.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.celo.org/operate/operators/maintenance#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.celo.org/operate/operators/maintenance#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Node Management\",\"item\":\"https://docs.celo.org/operate/operators/archive-node\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Upgrades \u0026 Maintenance\",\"item\":\"https://docs.celo.org/operate/operators/maintenance\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.celo.org/operate/operators/maintenance#article\",\"headline\":\"Upgrades \u0026 Maintenance\",\"name\":\"Upgrades \u0026 Maintenance\",\"description\":\"Routine upgrade and maintenance tasks for a running Celo L2 node\",\"url\":\"https://docs.celo.org/operate/operators/maintenance\",\"mainEntityOfPage\":{\"@id\":\"https://docs.celo.org/operate/operators/maintenance#webpage\"},\"dateModified\":\"2026-10-21T08:29:12.828Z\",\"publisher\":{\"@id\":\"https://celo.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.celo.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Celo Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Celo Docs","nav":{"global":{"anchors":[{"anchor":"Docs for AI","icon":"robot","href":"/build/agents/use-docs-with-ai"},{"anchor":"Organization","icon":"globe","href":"https://celo.org/"},{"anchor":"Support","icon":"bullhorn","href":"https://discord.com/invite/celo"},{"anchor":"Forum","icon":"newspaper","href":"https://forum.celo.org/"},{"anchor":"Faucet","icon":"faucet","href":"https://faucet.celo.org/celo-sepolia"},{"anchor":"FAQs","icon":"square-question","href":"https://docs.celo.org/operate/operators/faq"}]},"tabs":[{"tab":"Learn","pages":[{"title":"Learn","href":"/learn/celo"}]},{"tab":"Build","pages":[{"title":"Build","href":"/build"}]},{"tab":"Contribute","pages":[{"title":"Contribute","href":"/contribute"}]},{"tab":"Operate","groups":[{"group":"Introduction","pages":[{"title":"Operate a Celo Node","sidebarTitle":"Start here","href":"/operate"}]},{"group":"Network Notices","pages":[{"title":"Network Notices","sidebarTitle":"Overview","href":"/operate/notices/overview"},{"title":"End of Support for op-geth","href":"/operate/notices/op-geth-deprecation"},{"title":"Deprecation of Req/Res CL P2P Sync","href":"/operate/notices/req-resp-cl-sync-deprecation"},{"group":"Archive","pages":[{"title":"Jovian Hardfork","href":"/operate/notices/archive/jovian-upgrade"},{"title":"Jello Hardfork: OP Succinct Lite Integration","href":"/operate/notices/archive/jello-upgrade"},{"title":"L1 Fusaka Upgrade","href":"/operate/notices/archive/l1-fusaka-upgrade"},{"title":"Celo Sepolia Testnet Launch","href":"/operate/notices/archive/celo-sepolia-launch"},{"title":"Ice Cream Hardfork 🍦","sidebarTitle":"EigenDA v2 Upgrade","href":"/operate/notices/archive/eigenda-v2-upgrade"},{"title":"L2 Isthmus Hardfork","sidebarTitle":"Isthmus Upgrade","href":"/operate/notices/archive/isthmus-upgrade"},{"title":"Celo L2 Migration","href":"/operate/notices/archive/l2-migration"}]}]},{"group":"Node Operation","pages":[{"title":"Node Operators","sidebarTitle":"Overview","href":"/operate/operators/overview"},{"title":"Node Architecture","sidebarTitle":"Architecture","href":"/operate/operators/architecture"},{"title":"Running a Celo Node with Docker","sidebarTitle":"Run a Node with Docker","href":"/operate/operators/run-node"},{"title":"Cel2 FAQ","href":"/operate/operators/faq"}]},{"group":"Node Management","pages":[{"title":"Running an Archive Node","sidebarTitle":"Run an Archive Node","href":"/operate/operators/archive-node"},{"title":"Serving Historical Proofs","sidebarTitle":"Historical Proofs","href":"/operate/operators/historical-proofs"},{"title":"Running a Public RPC Node","sidebarTitle":"Run a Public RPC Node","href":"/operate/operators/public-rpc-node"},{"title":"Monitoring \u0026 Metrics","sidebarTitle":"Monitoring","description":"Enable the monitoring stack and track the health and sync status of your Celo node","href":"/operate/operators/monitoring"},{"title":"Upgrades \u0026 Maintenance","sidebarTitle":"Upgrades \u0026 Maintenance","href":"/operate/operators/maintenance"},{"title":"Troubleshooting","sidebarTitle":"Troubleshooting","description":"Fixes for common Celo node problems, from stalled transactions to sync failures","href":"/operate/operators/troubleshooting"}]},{"group":"Reference","pages":[{"title":"Configuration Reference","sidebarTitle":"Configuration","href":"/operate/operators/configuration"},{"title":"Network Config \u0026 Assets","sidebarTitle":"Network Config \u0026 Assets","href":"/operate/operators/network-config"}]},{"group":"Specification","pages":[{"title":"Celo L2 Specification","sidebarTitle":"Introduction","href":"/operate/specification/index"},{"group":"Deployments","pages":[{"title":"Deployments","href":"/operate/specification/deployments"},{"title":"L1 Deploy Verification","sidebarTitle":"L1 Contracts Verification","href":"/operate/specification/l1-smart-contract-verification"}]},{"title":"Token Duality","href":"/operate/specification/token-duality"},{"title":"Transaction Fees","href":"/operate/specification/transaction-fees"},{"title":"Fee abstraction specification","sidebarTitle":"Fee Abstraction","href":"/operate/specification/fee-abstraction"},{"title":"Transaction Types On Celo L2","sidebarTitle":"Transaction Types","href":"/operate/specification/transaction-types"},{"title":"Native Bridge","href":"/operate/specification/native-bridge"},{"title":"EigenDA","href":"/operate/specification/eigenda"},{"title":"Finality","href":"/operate/specification/finality"}]},{"group":"Protocol Upgrades","pages":[{"title":"Jovian Upgrade","sidebarTitle":"Jovian","href":"/operate/specification/upgrades/jovian"},{"title":"Jello Upgrade","sidebarTitle":"Jello","href":"/operate/specification/upgrades/jello"},{"title":"Ice Cream Upgrade","sidebarTitle":"Ice Cream","href":"/operate/specification/upgrades/ice-cream"},{"title":"Isthmus Upgrade","sidebarTitle":"Isthmus","href":"/operate/specification/upgrades/isthmus"},{"group":"L2 Migration","pages":[{"title":"L1 to L2 Migration","sidebarTitle":"L2 Migration","href":"/operate/specification/l2-migration"},{"title":"Smart Contract Updates From L1","sidebarTitle":"Contract Updates","href":"/operate/specification/smart-contract-updates-from-l1"}]}]}]}]},"title":"Upgrades \u0026 Maintenance - Celo Docs","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["10e4515597"],"chunks":["BannerMarkdown-CJDb0dYK.js","dist-Cv_O2fky.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-BGBGWFTt.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}