---
title: Charmhub | Deploy Geth using Charmhub - The Open Operator Collection
description: Deploy the latest version of Geth on any cloud.
url: https://charmhub.io/geth/configurations
---

# Geth

[Dwellir AB](https://charmhub.io/publisher/dwellir-snapcrafters "View all packages from Dwellir AB")

* [Dwellir AB](https://charmhub.io/publisher/dwellir-snapcrafters "View all packages from Dwellir AB")

Platform:

24.04

22.04

stable 18

```
juju deploy geth
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [binary-url](https://charmhub.io/geth/configurations#binary-url)
* [collector-s3-credentials](https://charmhub.io/geth/configurations#collector-s3-credentials)
* [data-dir](https://charmhub.io/geth/configurations#data-dir)
* [docker-binary-path](https://charmhub.io/geth/configurations#docker-binary-path)
* [docker-image](https://charmhub.io/geth/configurations#docker-image)
* [enable-authrpc](https://charmhub.io/geth/configurations#enable-authrpc)
* [enable-metrics](https://charmhub.io/geth/configurations#enable-metrics)
* [genesis-url](https://charmhub.io/geth/configurations#genesis-url)
* [service-args](https://charmhub.io/geth/configurations#service-args)
* [service-env](https://charmhub.io/geth/configurations#service-env)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* binary-url | string

  URL used to download the client binary. The downloaded file may be a
  raw executable or an archive file (`tar.gz`, `tgz`, `tar.xz`, `txz`,
  `tar`, or `zip`) containing a file named `geth`.

  Mutually exclusive with `docker-image`.
* collector-s3-credentials | secret

  Name of a Juju secret containing S3 (or S3-compatible) target details
  and credentials used for uploading charm metadata.

  The secret must be created using `juju add-secret` with the following
  keys:

  + bucket
  + region
  + endpoint-url
  + key-prefix
  + access-key-id
  + secret-access-key
  + session-token (optional)

  Example:
  juju add-secret collector-s3-credential
  bucket=my-bucket
  region=eu-north-1
  endpoint-url=https://s3.eu-north-1.amazonaws.com
  key-prefix=uploads/
  access-key-id=...
  secret-access-key=...
  session-token=...

  Then configure the charm with:
  juju config <application> collector-s3-credentials=collector-s3-credential
* data-dir | string

  Path where the charm service should write blockchain data, for example
  `/mnt/blockchaindata0/geth`. If left empty, the charm uses Geth's
  default `/home/geth/.geth` data directory.

  This setting only has an effect at deployment time and must not be
  changed after install.
* docker-binary-path | string

  Default: /usr/local/bin/geth

  Path to the client binary inside the configured Docker image.
  Used only when `docker-image` is set.

  Example: `/usr/local/bin/geth`
* docker-image | string

  Full Docker image reference used to install the client binary,
  including tag. Example:
  `us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101411.4`.

  Mutually exclusive with `binary-url`.
* enable-authrpc | boolean

  Default: True

  Whether the charm should render managed `--authrpc*` arguments for the
  workload service.

  Disable this for Geth-derived clients that do not support the
  `--authrpc.addr`, `--authrpc.port`, `--authrpc.vhosts`, or
  `--authrpc.jwtsecret` flags.
* enable-metrics | boolean

  Default: True

  Whether the charm should render managed `--metrics*` arguments for the
  workload service.

  Disable this for Geth-derived clients that do not support the
  `--metrics`, `--metrics.addr`, or `--metrics.port` flags.
* genesis-url | string

  URL to a genesis file that should be used to initialize the blockchain.
  If this is set then the genesis file will be downloaded and used to
  initialize the blockchain. This is treated as an install-time setting.
  Changing it later with `juju config` does not reinitialize the node.
* service-args | string

  Extra arguments that Geth should run with.

  Network-specific defaults are no longer derived from a `network`
  config. Operators must pass any required chain-specific flags here.

  Set the data directory with the `data-dir` option instead of passing
  `--datadir` in `service-args`.
* service-env | string

  Extra environment variables that Geth should run with.

  Format: provide shell-style, space-separated `KEY=value` entries. The
  charm writes one entry per line into `/etc/default/geth`.

  Example:
  `NETWORK_ID=1 GCMODE=archive SOME_VALUE="two words"`
