{"id":24678821,"url":"https://github.com/islishude/geth-docker","last_synced_at":"2025-10-08T11:31:26.740Z","repository":{"id":41254645,"uuid":"137019598","full_name":"islishude/geth-docker","owner":"islishude","description":"multi-arch and distroless-based docker image for go-ethereum, and out of box support for docker-compose and kubernetes","archived":false,"fork":false,"pushed_at":"2024-04-17T05:58:41.000Z","size":243,"stargazers_count":67,"open_issues_count":0,"forks_count":34,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-04-17T09:21:38.067Z","etag":null,"topics":["docker-compose","ethereum","geth","go-ethereum","k8s"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/islishude.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-06-12T05:05:05.000Z","updated_at":"2024-04-14T12:55:13.000Z","dependencies_parsed_at":"2023-09-29T02:09:23.882Z","dependency_job_id":"7d0e4cb8-69f3-482e-99f3-b04d7c7199cd","html_url":"https://github.com/islishude/geth-docker","commit_stats":null,"previous_names":["islishude/geth-docker"],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/islishude%2Fgeth-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/islishude%2Fgeth-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/islishude%2Fgeth-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/islishude%2Fgeth-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/islishude","download_url":"https://codeload.github.com/islishude/geth-docker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235706302,"owners_count":19032607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["docker-compose","ethereum","geth","go-ethereum","k8s"],"created_at":"2025-01-26T13:18:32.171Z","updated_at":"2025-10-08T11:31:21.445Z","avatar_url":"https://github.com/islishude.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Geth Docker\n\n- security by default, No root, No shell\n- minimal and static binary\n- multi-arch\n\n## Use the docker image\n\n```\ndocker pull ghcr.io/islishude/geth:latest\ndocker pull ghcr.io/islishude/geth:1.13.12\n```\n\n**NOTE**: the default user id of the image is **65532**\n\n## docker-compose\n\n- [mainnet](./docker-compose/mainnet)\n- [holesky](./docker-compose/holeksy)\n- [sepolia](./docker-compose/sepolia)\n- [goerli](./docker-compose/goerli)\n\n**Create the storage directories**\n\n```console\n$ export GETH_DATADIR=/data/geth\n$ sudo mkdir -p $GETH_DATADIR\n$ export PRYSM_DATADIR=/data/prysm\n$ sudo mkdir -p $PRYSM_DATADIR\n```\n\n**Start**\n\n```\n$ docker-compose up -d\n```\n\n## Kubernetes\n\n- [mainnet](./k8s/mainnet)\n- [holesky](./k8s/holeksy)\n- [sepolia](./k8s/sepolia)\n- [goerli](./k8s/goerli)\n\n**Create a storage class like following**\n\n```yaml\n# an example for aws and ebs csi\napiVersion: storage.k8s.io/v1\nkind: StorageClass\nmetadata:\n  name: my-ebs\nparameters:\n  csi.storage.k8s.io/fstype: xfs\n  encrypted: \"false\"\n  iops: \"3000\"\n  type: gp3\nprovisioner: ebs.csi.aws.com\nreclaimPolicy: Delete\nvolumeBindingMode: WaitForFirstConsumer\nallowVolumeExpansion: true\n```\n\nthen update pvc.yaml file to change the storage class name to the above.\n\nthe statefulsets are using official image(ethereum/client-go).\n\nif you want to use my image, then you need to add securityContext to the statefulset due to the default user is not root.\n\n```yaml\nspec:\n  template:\n    spec:\n      securityContext:\n        runAsUser: 65532\n        runAsGroup: 65532\n        fsGroup: 65532\n        fsGroupChangePolicy: OnRootMismatch\n```\n\nStart the statefulset in default namespace, you can add `-n` parameter to change it.\n\n```\nkubectl apply -n namespace -k k8s\n```\n\n## For Development\n\nRefer to following link for the details\n\nhttps://github.com/islishude/eth-pos-devnet\n\n## Command line help page\n\n- [geth](./flags/geth)\n- [prysm](./flags/prysm-beacon-chain)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fislishude%2Fgeth-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fislishude%2Fgeth-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fislishude%2Fgeth-docker/lists"}