{"id":13566599,"url":"https://github.com/akash-network/cosmos-omnibus","last_synced_at":"2026-01-12T00:37:49.504Z","repository":{"id":36996515,"uuid":"358447284","full_name":"akash-network/cosmos-omnibus","owner":"akash-network","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-24T21:25:28.000Z","size":7084,"stargazers_count":144,"open_issues_count":4,"forks_count":108,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-11-28T08:45:29.603Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akash-network.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-04-16T02:03:44.000Z","updated_at":"2025-11-24T21:25:33.000Z","dependencies_parsed_at":"2023-01-17T12:15:24.795Z","dependency_job_id":"b39e3e9d-075a-4758-96ad-3b0315d99efa","html_url":"https://github.com/akash-network/cosmos-omnibus","commit_stats":null,"previous_names":["ovrclk/cosmos-omnibus"],"tags_count":508,"template":false,"template_full_name":null,"purl":"pkg:github/akash-network/cosmos-omnibus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akash-network%2Fcosmos-omnibus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akash-network%2Fcosmos-omnibus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akash-network%2Fcosmos-omnibus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akash-network%2Fcosmos-omnibus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akash-network","download_url":"https://codeload.github.com/akash-network/cosmos-omnibus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akash-network%2Fcosmos-omnibus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28329806,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"ssl_error","status_checked_at":"2026-01-12T00:36:15.229Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T13:02:12.827Z","updated_at":"2026-01-12T00:37:49.491Z","avatar_url":"https://github.com/akash-network.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# COSMOS OMNIBUS - Run Cosmos Nodes on Akash\n\nThis is a meta package of [cosmos-sdk](https://github.com/cosmos/cosmos-sdk)-based\ndocker images and configuration meant to make deploying onto [Akash](//github.com/akash-network/node)\neasy and standardized across cosmos.\n\nThe goal is to have a simple way to launch any cosmos chain, with a variety of different bootstrapping options\n\n1. [\"normal\" boostrap](#shortcuts) - using `fastsync`.\n1. [Hand-made snapshots](#snapshot-restore) a la [cosmos-snapshots](https://github.com/c29r3/cosmos-snapshots)\n1. [The new `state-sync` mechanism](#statesync).\n\nConfiguration is achieved using environment variables, with shortcuts available for common setups. Every aspect of the node configuration can be achieved in this way.\n\nAdditional features are included to make running a node as simple as possible\n\n1. [Chain configuration can be sourced from a remote JSON file](#chain-configuration)\n1. [Genesis file can be downloaded and unzipped in various ways](#chain-configuration)\n1. [Private keys can be backed up and restored](#private-key-backuprestore) from any S3-compatible storage provider (e.g., Filebase), Storj, or [Google Cloud Storage (GCS)](https://cloud.google.com/storage).\n1. [Snapshots of a node’s data directory](#snapshot-backup) can be created at a specific time/day and uploaded to an S3-compatible service, Storj, or GCS.\n\n## Generic image (binary downloaded at runtime)\n\nOmnibus has a generic base image which can download the required binary at runtime. This is useful for chain upgrades, testnets, or using a different version than Omnibus primarily supports.\n\nThis generic image provides the Omnibus scripts and configuration helpers, and nothing else. Set the `BINARY_URL` environment variable to a `.zip`, `.tar` or `.tar.gz` URL, and configure `PROJECT`, `PROJECT_DIR` and `PROJECT_BIN`. Alternatively provide a [Chain Registry](https://github.com/cosmos/chain-registry) `CHAIN_JSON` to configure everything automatically (where data is available).\n\nImage URL: `ghcr.io/akash-network/cosmos-omnibus:v1.2.36-generic`\n\n```yaml\nservices:\n  node:\n    image: ghcr.io/akash-network/cosmos-omnibus:v1.2.36-generic\n    env:\n      - CHAIN_JSON=https://raw.githubusercontent.com/akash-network/net/main/mainnet/meta.json\n      #\n      # alternatively configure manually\n      #\n      # - PROJECT=akash\n      # - PROJECT_DIR=.akash\n      # - PROJECT_BIN=akash\n      # - BINARY_URL=https://github.com/akash-network/node/releases/download/v1.1.0/akash_linux_amd64.zip\n      # - BINARY_ZIP_PATH=build/akash-v1.1.0 # only required if expected binary file isn't in the ZIP root\n```\n\nMore information on the generic image can be found at [/generic](./generic/), and configuration is detailed in depth below.\n\n## Networks (pre-built images)\n\nThe available docker images can be found [here](https://github.com/orgs/akash-network/packages/container/package/cosmos-omnibus).  They are\ntagged with the form `$COSMOS_OMNIBUS_VERSION-$PROJECT-$PROJECT_VERSION`.\n\n|Project|Version|Image| |\n|---|---|---|---|\n|[akash](https://github.com/akash-network/node)|`v1.1.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-akash-v1.1.0`|[Example](./akash)|\n|[archway](https://github.com/archway-network/archway)|`v9.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-archway-v9.0.0`|[Example](./archway)|\n|[assetmantle](https://github.com/AssetMantle/node)|`v1.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-assetmantle-v1.0.0`|[Example](./assetmantle)|\n|[atomone](https://github.com/atomone-hub/atomone)|`v3.0.3`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-atomone-v3.0.3`|[Example](./atomone)|\n|[axelar](https://github.com/axelarnetwork/axelar-core)|`v1.2.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-axelar-v1.2.1`|[Example](./axelar)|\n|[babylon](https://github.com/babylonlabs-io/babylon.git)|`v2.1.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-babylon-v2.1.0`|[Example](./babylon)|\n|[bandchain](https://github.com/bandprotocol/chain)|`v2.5.3`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-bandchain-v2.5.3`|[Example](./bandchain)|\n|[bitcanna](https://github.com/BitCannaGlobal/bcna)|`v4.0.3`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-bitcanna-v4.0.3`|[Example](./bitcanna)|\n|[bitsong](https://github.com/bitsongofficial/go-bitsong)|`v0.21.6`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-bitsong-v0.21.6`|[Example](./bitsong)|\n|[bostrom](https://github.com/cybercongress/go-cyber)|`v0.3.2`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-bostrom-v0.3.2`|[Example](./bostrom)|\n|[canto](https://github.com/Canto-Network/Canto)|`v8.1.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-canto-v8.1.1`|[Example](./canto)|\n|[cheqd](https://github.com/cheqd/cheqd-node)|`0.6.9`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-cheqd-0.6.9`|[Example](./cheqd)|\n|[chihuahua](https://github.com/ChihuahuaChain/chihuahua)|`v9.0.6`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-chihuahua-v9.0.6`|[Example](./chihuahua)|\n|[comdex](https://github.com/comdex-official/comdex)|`v15.3.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-comdex-v15.3.0`|[Example](./comdex)|\n|[coreum](https://github.com/CoreumFoundation/coreum)|`v5.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-coreum-v5.0.0`|[Example](./coreum)|\n|[cosmoshub](https://github.com/cosmos/gaia)|`v25.2.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-cosmoshub-v25.2.0`|[Example](./cosmoshub)|\n|[crescent](https://github.com/crescent-network/crescent)|`v4.2.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-crescent-v4.2.0`|[Example](./crescent)|\n|[cronos](https://github.com/crypto-org-chain/cronos)|`v1.6.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-cronos-v1.6.1`|[Example](./cronos)|\n|[cryptoorgchain](https://github.com/crypto-org-chain/chain-main)|`v6.0.3`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-cryptoorgchain-v6.0.3`|[Example](./cryptoorgchain)|\n|[decentr](https://github.com/Decentr-net/decentr)|`v1.6.4`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-decentr-v1.6.4`|[Example](./decentr)|\n|[desmos](https://github.com/desmos-labs/desmos)|`v6.2.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-desmos-v6.2.0`|[Example](./desmos)|\n|[dydx](https://github.com/dydxprotocol/v4-chain)|`v9.4.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-dydx-v9.4.0`|[Example](./dydx)|\n|[dymension](https://github.com/dymensionxyz/dymension)|`v3.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-dymension-v3.1.0`|[Example](./dymension)|\n|[emoney](https://github.com/e-money/em-ledger)|`v1.2.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-emoney-v1.2.0`|[Example](./emoney)|\n|[evmos](https://github.com/evmos/evmos)|`v20.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-evmos-v20.0.0`|[Example](./evmos)|\n|[fetchhub](https://github.com/fetchai/fetchd)|`v0.14.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-fetchhub-v0.14.1`|[Example](./fetchhub)|\n|[gitopia](https://github.com/gitopia/gitopia)|`v5.1.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-gitopia-v5.1.0`|[Example](./gitopia)|\n|[gravitybridge](https://github.com/Gravity-Bridge/Gravity-Bridge)|`v1.11.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-gravitybridge-v1.11.1`|[Example](./gravitybridge)|\n|[impacthub](https://github.com/ixofoundation/ixo-blockchain)|`v0.18.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-impacthub-v0.18.1`|[Example](./impacthub)|\n|[injective](https://github.com/InjectiveLabs/injective-chain-releases)|`v1.15.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-injective-v1.15.0`|[Example](./injective)|\n|[intento](https://github.com/trstlabs/intento)|`v1.0.8`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-intento-v1.0.8`|[Example](./intento)|\n|[irisnet](https://github.com/irisnet/irishub)|`v3.1.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-irisnet-v3.1.1`|[Example](./irisnet)|\n|[jackal](https://github.com/JackalLabs/canine-chain)|`v5.1.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-jackal-v5.1.0`|[Example](./jackal)|\n|[juno](https://github.com/CosmosContracts/Juno)|`v29.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-juno-v29.0.0`|[Example](./juno)|\n|[kava](https://github.com/Kava-Labs/kava)|`v0.25.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-kava-v0.25.0`|[Example](./kava)|\n|[kichain](https://github.com/KiFoundation/ki-tools)|`5.0.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-kichain-5.0.1`|[Example](./kichain)|\n|[konstellation](https://github.com/konstellation/konstellation)|`v0.5.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-konstellation-v0.5.0`|[Example](./konstellation)|\n|[kujira](https://github.com/Team-Kujira/core)|`v2.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-kujira-v2.0.0`|[Example](./kujira)|\n|[kyve](https://github.com/KYVENetwork/chain)|`v2.2.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-kyve-v2.2.0`|[Example](./kyve)|\n|[likecoin](https://github.com/likecoin/likecoin-chain)|`v4.2.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-likecoin-v4.2.0`|[Example](./likecoin)|\n|[lumnetwork](https://github.com/lum-network/chain)|`v1.6.7`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-lumnetwork-v1.6.7`|[Example](./lumnetwork)|\n|[migaloo](https://github.com/White-Whale-Defi-Platform/migaloo-chain)|`v5.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-migaloo-v5.0.0`|[Example](./migaloo)|\n|[neutron](https://github.com/neutron-org/neutron)|`v6.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-neutron-v6.0.0`|[Example](./neutron)|\n|[noble](https://github.com/noble-assets/noble)|`v5.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-noble-v5.0.0`|[Example](./noble)|\n|[omniflixhub](https://github.com/OmniFlix/omniflixhub)|`v6.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-omniflixhub-v6.0.0`|[Example](./omniflixhub)|\n|[osmosis](https://github.com/osmosis-labs/osmosis)|`v31.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-osmosis-v31.0.0`|[Example](./osmosis)|\n|[panacea](https://github.com/medibloc/panacea-core)|`v2.2.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-panacea-v2.2.0`|[Example](./panacea)|\n|[passage](https://github.com/envadiv/Passage3D)|`v2.6.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-passage-v2.6.0`|[Example](./passage)|\n|[persistence](https://github.com/persistenceOne/persistenceCore)|`v10.3.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-persistence-v10.3.0`|[Example](./persistence)|\n|[regen](https://github.com/regen-network/regen-ledger)|`v6.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-regen-v6.0.0`|[Example](./regen)|\n|[rizon](https://github.com/rizon-world/rizon)|`v0.4.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-rizon-v0.4.1`|[Example](./rizon)|\n|[sei](https://github.com/sei-protocol/sei-chain)|`v5.7.5`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-sei-v5.7.5`|[Example](./sei)|\n|[sentinel](https://github.com/sentinel-official/hub)|`v0.11.5`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-sentinel-v0.11.5`|[Example](./sentinel)|\n|[shentu](https://github.com/certikfoundation/shentu)|`v2.11.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-shentu-v2.11.0`|[Example](./shentu)|\n|[sifchain](https://github.com/Sifchain/sifnode)|`v1.4.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-sifchain-v1.4.0`|[Example](./sifchain)|\n|[sommelier](https://github.com/PeggyJV/sommelier)|`v4.0.2`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-sommelier-v4.0.2`|[Example](./sommelier)|\n|[source](https://github.com/Source-Protocol-Cosmos/source)|`v3.0.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-source-v3.0.1`|[Example](./source)|\n|[stargaze](https://github.com/public-awesome/stargaze)|`v16.0.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-stargaze-v16.0.0`|[Example](./stargaze)|\n|[starname](https://github.com/iov-one/starnamed)|`v0.11.5`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-starname-v0.11.5`|[Example](./starname)|\n|[stride](https://github.com/Stride-Labs/stride)|`v29.1.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-stride-v29.1.1`|[Example](./stride)|\n|[teritori](https://github.com/TERITORI/teritori-chain)|`v2.0.6`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-teritori-v2.0.6`|[Example](./teritori)|\n|[terpnetwork](https://github.com/terpnetwork/terp-core)|`v5.0.1`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-terpnetwork-v5.0.1`|[Example](./terpnetwork)|\n|[terra](https://github.com/terra-money/core)|`v2.11.8`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-terra-v2.11.8`|[Example](./terra)|\n|[umee](https://github.com/umee-network/umee)|`v6.3.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-umee-v6.3.0`|[Example](./umee)|\n|[xpla](https://github.com/xpladev/xpla)|`v1.7.0`|`ghcr.io/akash-network/cosmos-omnibus:v1.2.36-xpla-v1.7.0`|[Example](./xpla)|\n\n## Example configurations\n\nThere are example files within each project subdirectory which include a sensible default configuration for each chain. Optional configuration options are commented out so you can easily enable them, and the node can be configured further using the docs below.\n\n### Running on Akash\n\nSee the `deploy.yml` example file in each chain directory which details the minimum configuration required. Use the [configuration options below](#configuration) to add functionality. Note the commented out persistent storage configuration if needed.\n\n### Running locally/any docker host\n\nSee the `docker-compose.yml` example file in each chain directory to run each node using `docker-compose up`.\n\n## Snapshots\n\nOmnibus can [import chain snapshots](#snapshot-restore) from almost any location. Some examples are Chain Layer's [QuickSync service](https://quicksync.io) and Polkachu's [Tendermint Snapshots](https://www.polkachu.com/tendermint_snapshots).\n\nAppropriate snapshot configuration is included in most example configurations in the Omnibus repository. Check the project directories for more information.\n\n## Examples\n\nSee the [_examples](./_examples) directory for some common setups, including:\n\n- [Statesync](./_examples/statesync)\n- [Load Balanced RPC Nodes](./_examples/load-balanced-rpc-nodes)\n- [Validator and TMKMS](./_examples/validator-and-tmkms)\n- [Validator and Public Sentries](./_examples/validator-and-public-sentries)\n- [Validator with Private Sentries](./_examples/validator-and-private-sentries)\n- [Snapshot Backup](./_examples/snapshot_backup)\n- [Google Cloud Storage Backup Setup](./_examples/snapshot_backup/GCS_SETUP.md)\n\n## Configuration\n\nCosmos blockchains can be configured entirely using environment variables instead of the config files.\nEvery chain has its own namespace, but the format of the configuration is the same.\n\nFor example to configure the `seeds` option in the `p2p` section of `config.toml`, for the Akash blockchain:\n\n```\nAKASH_P2P_SEEDS=id@node:26656\n```\n\nThe namespace for each of the supported chains in the cosmos omnibus can be found in the `README` in each project directory. In all cases it is the binary name in uppercase (e.g. `akash` -\u003e `AKASH`, `gaiad` -\u003e `GAIAD` etc).\n\nThe omnibus images allow some specific variables and shortcuts to configure extra functionality, detailed below.\n\n### Chain configuration\n\nChain config can be sourced from a `chain.json` file [as seen in the Cosmos Chain Registry](https://github.com/cosmos/chain-registry). The [Chain Registry](https://github.com/cosmos/chain-registry) will be used automatically for all pre-built images, or whenever the `PROJECT` environment variable matches a [Chain Registry](https://github.com/cosmos/chain-registry) ID. Set `CHAIN_JSON` to an alternative URL if required, or `0` to disable this behaviour entirely.\n\n|Variable|Description|Default|Examples|\n|---|---|---|---|\n|`CHAIN_JSON`|URL to a `chain.json` file detailing the chain meta| |`https://github.com/cosmos/chain-registry/blob/master/akash/chain.json`|\n|`CHAIN_ID`|The cosmos chain ID| |`akashnet-2`|\n|`GENESIS_URL`|URL to the genesis file in `.gz`, `.tar.gz`, or `.zip` format. Can be set by CHAIN_JSON| |`https://raw.githubusercontent.com/akash-network/net/main/mainnet/genesis.json`|\n|`DOWNLOAD_GENESIS`|Force download of genesis file. If unset the node will only download if the genesis file is missing| |`1`|\n|`VALIDATE_GENESIS`|Set to 1 to enable validation of genesis file|`0`|`1`|\n\n### P2P\n\nPeer information can be provided manually, or obtained automatically from the following sources:\n\n- `CHAIN_JSON` URL with peer information included.\n- [Polkachu's live seed and peers](#polkachu-services).\n- Any `ADDRBOOK_URL` where the `config/addrbook.json` file is hosted.\n\nSee [Cosmos docs](https://docs.tendermint.com/master/nodes/configuration.html#p2p-settings) for more information.\n\n|Variable|Description|Default|Examples|\n|---|---|---|---|\n|`P2P_SEEDS`|Seed nodes. Can be set by CHAIN_JSON| |`id@node:26656`|\n|`P2P_PERSISTENT_PEERS`|Persistent peers. Can be set by CHAIN_JSON| |`id@node:26656`|\n|`ADDRBOOK_URL`|URL to an addrbook.json file| |`https://quicksync.io/addrbook.terra.json`|\n\n### Private key backup/restore\n\nOn boot, the container can restore a private key from any compatible cloud storage provider (S3, Storj, or Google Cloud Storage). If a key does not exist yet, it will be uploaded from the node.\n\nThis allows for a persistent node ID and validator key on Akash's ephemeral storage.\n\n[Filebase](https://filebase.com/) is a great way to use S3 with decentralised hosting such as Sia.\n\nThe `node_key.json` and `priv_validator_key.json` are both backed up, and can be encrypted with a password.\n\n|Variable|Description|Default|Examples|\n|---|---|---|---|\n|`S3_KEY`|S3 access key| | |\n|`S3_SECRET`|S3 secret key| | |\n|`S3_HOST`|The S3 API host|`https://s3.filebase.com`|`https://s3.us-east-1.amazonaws.com`|\n|`STORJ_ACCESS_GRANT`|DCS Storj Access Grant token (replaces `S3_KEY`, `S3_SECRET`, `S3_HOST`| | |\n|`GCS_ENABLED`|Enable Google Cloud Storage support|`0`|`1`|\n|`GCS_BUCKET_PATH`|Full `gs://` path to the directory| |`gs://my-snapshots/key-backups`|\n|`GCS_KEY_FILE`|Path to GCP service account JSON file|`/root/gcs_key.json`|`/root/backup-key.json`|\n|`KEY_PATH`|Bucket and directory to backup/restore to| |`bucket/nodes/node_1`|\n|`KEY_PASSWORD`|An optional password to encrypt your private keys. Shouldn't be optional| | |\n\n### Statesync\n\nSome shortcuts for enabling statesync. Statesync requires 2x nodes with snapshots enabled.\n\nStatesync nodes can also be sourced from [Polkachu's Statesync service](https://www.polkachu.com/state_sync) automatically.\n\n[See an example](_examples/statesync) of a statesync deployment.\n\n|Variable|Description|Default|Examples|\n|---|---|---|---|\n|`STATESYNC_SNAPSHOT_INTERVAL`|Take a snapshot to provide statesync every X blocks| |`500`|\n|`STATESYNC_ENABLE`|Enabling statesyncing from a node. Default `true` if `STATESYNC_RPC_SERVERS` is set| | |\n|`STATESYNC_RPC_SERVERS`|Comma separated list of RPC nodes with snapshots enabled| |`ip:26657,ip2:26657`|\n|`STATESYNC_TRUSTED_NODE`|A trusted node to obtain trust height and hash from. Defaults to the first `STATESYNC_RPC_SERVERS` if set| |`ip:26657`|\n|`STATESYNC_TRUST_PERIOD`|Trust period for the statesync snapshot|`168h0m0s`| |\n|`STATESYNC_TRUST_HEIGHT`|Obtained from `STATESYNC_TRUSTED_NODE`| | |\n|`STATESYNC_TRUST_HASH`|Obtained from `STATESYNC_TRUSTED_NODE`| | |\n\n### Snapshot restore\n\nThe node `data` directory can be restored from a `.tar`, `.tar.gz` or `.lz4` file stored on a public URL.\nThe file can be obtained from the following sources:\n\n- Direct URL to the archive file\n- Base URL file listing, where the archive matches a given pattern.\n- [snapshot.json](#snapshot-backup) generated by [Omnibus Snapshot backup](#snapshot-backup) feature.\n- ChainLayer's [Quicksync snapshots](https://quicksync.io/) described by a JSON file.\n- Polkachu's [snapshot service](https://www.polkachu.com/tendermint_snapshots), fully automatically.\n\nNote that snapshots will be restored in-process, without downloading the snapshot to disk first. This saves disk space but is slower to extract, and could be made configurable in the future.\n\n|Variable|Description|Default|Examples|\n|---|---|---|---|\n|`DOWNLOAD_SNAPSHOT`|Force bootstrapping from snapshot. If unset the node will only restore a snapshot if the `data` contents are missing| |`1`|\n|`SNAPSHOT_URL`|A URL to a `.tar`, `.tar.gz` or `.lz4` file| |`http://135.181.60.250/akash/akashnet-2_2021-06-16.tar`|\n|`SNAPSHOT_BASE_URL`|A base URL to a directory containing backup files| |`http://135.181.60.250/akash`|\n|`SNAPSHOT_JSON`|A URL to a `snapshot.json` as detailed in [Snapshot backup](#snapshot-backup)| |`https://cosmos-snapshots.s3.filebase.com/akash/pruned/snapshot.json`|\n|`SNAPSHOT_FORMAT`|The format of the snapshot file|`tar.gz`|`tar`/`tar.zst`|\n|`SNAPSHOT_PATTERN`|The pattern of the file in the `SNAPSHOT_BASE_URL`|`$CHAIN_ID.*$SNAPSHOT_FORMAT`|`foobar.*tar.gz`|\n|`SNAPSHOT_DATA_PATH`|The path to the data directory within the archive| |`snapshot/data`|\n|`SNAPSHOT_WASM_PATH`|The path to the wasm directory within the archive, if exists outside of data| |`snapshot/wasm`|\n|`SNAPSHOT_PRUNING`|Type of snapshot to download, e.g. `archive`, `pruned`, `default`.|`pruned`|`archive`|\n|`SNAPSHOT_QUICKSYNC`|A URL to a Quicksync JSON file describing their snapshots. Also see `SNAPSHOT_PRUNING`| |`https://quicksync.io/terra.json`|\n\n### Snapshot backup\n\nOmnibus includes a script to automatically snapshot a node and upload the resulting archive to any S3 compatible service like [Filebase](https://filebase.com/).\nAt a specified time (or day), the script will shut down the tendermint server, create an archive of the `data` directory and upload it.\nSnapshots older than a specified time can also be deleted. Finally a JSON metadata file is created listing the current snapshots. The server is then restarted and monitored.\n\nSnapshot backups support S3-compatible providers, Storj (via uplink), and Google Cloud Storage (via gsutil).\n\n[See an example](_examples/snapshot_backup) of a snapshot node deployment.\n\n|Variable|Description|Default|Examples|\n|---|---|---|---|\n|`S3_KEY`|S3 access key| | |\n|`S3_SECRET`|S3 secret key| | |\n|`S3_HOST`|The S3 API host|`https://s3.filebase.com`|`s3.us-east-1.amazonaws.com`|\n|`STORJ_ACCESS_GRANT`|DCS Storj Access Grant token (replaces `S3_KEY`, `S3_SECRET`, `S3_HOST`| | |\n|`STORJ_UPLINK_ARGS`|DCS Storj Uplink arguments|`-p 4 --progress=false`|`-p 4 --parallelism-chunk-size 256M --progress=false`|\n|`GCS_ENABLED`|Enable Google Cloud Storage support|`0`|`1`|\n|`GCS_BUCKET_PATH`|Full `gs://` path where snapshots will be uploaded| |`gs://my-snapshots/akash`|\n|`GCS_KEY_FILE`|Path to the GCS service account JSON key|`/root/gcs_key.json`|`/root/backup-key.json`|\n|`SNAPSHOT_PATH`|The S3 path to upload snapshots to, including the bucket| |`cosmos-snapshots/akash`|\n|`SNAPSHOT_PREFIX`|The prefix for the snapshot filename|`$CHAIN_ID`|`snapshot`|\n|`SNAPSHOT_TIME`|The time the snapshot will run|`00:00:00`|`09:00:00`|\n|`SNAPSHOT_DAY`|The numeric day of the week the snapshot will run (Monday = 1)|`*`|`7`|\n|`SNAPSHOT_DIR`|The directory on disk to snapshot|`$PROJECT_ROOT/data`|`/root/.akash`|\n|`SNAPSHOT_CMD`|The command to run the server|`$START_CMD`|`akash start --someflag`|\n|`SNAPSHOT_RETAIN`|How long to retain snapshots for (0 to disable)|`2 days`|`1 week`|\n|`SNAPSHOT_KEEP_LAST`|Always retain at least this number of recent snapshots, even if expired by `SNAPSHOT_RETAIN`|`2`|`3`|\n|`SNAPSHOT_METADATA`|Whether to create a snapshot.json metadata file|`1`|`0`|\n|`SNAPSHOT_METADATA_URL`|The URL snapshots will be served from (for snapshot.json)| |`https://cosmos-snapshots.s3.filebase.com/akash`|\n|`SNAPSHOT_SAVE_FORMAT`|Overrides value from `SNAPSHOT_FORMAT`.|`tar.gz`|`tar` (no compression)/`tar.zst` (use [zstd](https://github.com/facebook/zstd))|\n|`SNAPSHOT_ON_START`|Trigger a snapshot immediately after the container starts (before waiting for the scheduled time)|`0`|`1`|\n\nWhen `SNAPSHOT_SAVE_FORMAT` is set to `tar.zst`, [additional variables can be set](https://github.com/facebook/zstd/tree/v1.5.2/programs#passing-parameters-through-environment-variables):\n\n- `ZSTD_CLEVEL` - Compression level, default `3`\n- `ZSTD_NBTHREADS` - No. of threads, default `1`, `0` = detected no. of cpu cores\n\n### Binary download\n\nThe node binary can be downloaded at runtime when using the [Generic image](#generic-image-binary-downloaded-at-runtime). All configuration can be sourced from `CHAIN_JSON` if the attributes are available, or configured manually. You will need to set `PROJECT`, `PROJECT_BIN` and `PROJECT_DIR` if these can't be sourced from `CHAIN_JSON`.\n\n|Variable|Description|Default|Examples|\n|---|---|---|---|\n|`BINARY_URL`|URL to the binary (or `zip`, `tar`, `tar.gz`)| | |\n|`BINARY_ZIP_PATH`|Path to the binary in the archive. Can be left blank if correctly named in root| | |\n|`WASMVM_VERSION`|Version of wasmvm to download| |`v2.2.1`|\n|`WASMVM_URL`|Full URL to wasmvm to download| | |\n|`WASMVM_PATH`|Path to libwasmvm.so when downloaded|`/lib/libwasmvm.so`| |\n|`PROJECT`|Name of the project, informs other variables| | |\n|`PROJECT_BIN`|Binary name|`$PROJECT`|`osmosisd`|\n|`PROJECT_DIR`|Name of project directory|`.$PROJECT_BIN`|`.osmosisd`|\n\n### Polkachu Services\n\n[Polkachu](https://polkachu.com/) validator provides various Cosmos chain services that can be automatically enabled using environment variables.\n\n|Variable|Description|Default|Examples|\n|---|---|---|---|\n|`P2P_POLKACHU`|Import Polkachu's [seed node](https://www.polkachu.com/seeds) and [live peers](https://www.polkachu.com/live_peers) if available| |`1`|\n|`P2P_SEEDS_POLKACHU`|Import Polkachu's [seed node](https://www.polkachu.com/seeds) if available| |`1`|\n|`P2P_PEERS_POLKACHU`|Import Polkachu's [live peers](https://www.polkachu.com/live_peers) if available| |`1`|\n|`STATESYNC_POLKACHU`|Import Polkachu's [statesync addresses](https://www.polkachu.com/state_sync) if available| |`1`|\n|`ADDRBOOK_POLKACHU`|Import Polkachu's [addrbook](https://polkachu.com/addrbooks) if available| |`1`|\n|`POLKACHU_CHAIN_ID`| Polkachu API chain-id if it differs from Chain Registry naming convention.| |`cryptocom`|\n\n### Cosmovisor\n\n[Cosmovisor](https://docs.cosmos.network/main/tooling/cosmovisor) can be downloaded at runtime to automatically manage chain upgrades. You should be familiar with how Cosmovisor works before using this feature.\n\n|Variable|Description|Default|Examples|\n|---|---|---|---|\n|`COSMOVISOR_ENABLED`|Enable Cosmovisor binary download and support| |`1`|\n|`COSMOVISOR_VERSION`|Version of Cosmovisor to download|`1.6.0`| |\n|`COSMOVISOR_URL`|Alternative full URL to Cosmovisor binary tar.gz| | |\n\n### Shortcuts\n\nSee [Cosmos docs](https://docs.tendermint.com/master/nodes/configuration.html) for more information\n\n|Variable|Description|Default|Examples|\n|---|---|---|---|\n|`MONIKER`|The node's moniker|`My Omnibus Node`|`Akash Node`|\n|`FASTSYNC_VERSION`|The fastsync version| |`v0`|\n|`MINIMUM_GAS_PRICES`|Minimum gas prices| |`0.025uakt`|\n|`PRUNING`|How much of the chain to prune| |`nothing`|\n|`DOUBLE_SIGN_CHECK_HEIGHT`|Set the double_sign_check_height config| |`10`|\n|`DEBUG`|Set to `1` to output all environment variables on boot. Set to `2` to debug shell scripts.| |`1`, `2`|\n\n## Contributing\n\nAdding a new chain is easy, but there are a few steps you need to follow:\n\nThe chain should exist in the [Chain Registry](https://github.com/cosmos/chain-registry) to provide a single source of truth for chain info.\n\nAdd a project directory using the same name as the Chain Registry directory.\n\nAdd a `build.yml` file using the template below. Adjust the variables as required, and run it using `docker-compose -f build.yml up --build`. Adjust until you have a working node. Check other chains for alternate configurations.\n\nOnly include the `environment` section if there is recommended configuration for your chain. This will be copied to the documentation in the next step.\n\n```yaml\nservices:\n  node:\n    build:\n      context: ../\n      args:\n        PROJECT: cosmoshub # should match the directory/Chain Registry\n        PROJECT_BIN: gaiad\n        PROJECT_DIR: .gaia\n        VERSION: v25.2.0\n        REPOSITORY: https://github.com/cosmos/gaia\n        GOLANG_VERSION: 1.22\n        POLKACHU_CHAIN_ID: cosmos # only include if different from Chain Registry name\n    # environment:\n    #   - FASTSYNC_VERSION=v0\n    ports:\n      - '26656:26656'\n      - '26657:26657'\n      - '1317:1317'\n    volumes:\n      - ./node-data:/root/.gaia\n```\n\nRun the documentation script to automatically create `deploy.yml`, `docker-compose.yml` and `README.md` documentation files:\n\n```bash\n./document.sh mychainname\n```\n\nUpdate the main [`README.md`](./README.md) file to include your chain in the [Networks](#networks-pre-built-images) section. Keep this alphabetical and ensure the versions referenced are correct.\n\nSubmit a PR with your changes and it will be validated and merged if appropriate.\n\n## Updating Versions\n\nTo update the project to a new release, replace `mychainname` with the chain's name, and provide the current version and the new version. The script automatically updates all references to the version number across configuration files, documentation, and container image tags.\n run the following command:\n\n```bash\n./update-project-version.sh mychainname v1.2.0 v1.3.0\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakash-network%2Fcosmos-omnibus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakash-network%2Fcosmos-omnibus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakash-network%2Fcosmos-omnibus/lists"}