{"id":15684558,"url":"https://github.com/int128/gitbucket-docker","last_synced_at":"2025-10-14T10:30:17.522Z","repository":{"id":31358798,"uuid":"127255827","full_name":"int128/gitbucket-docker","owner":"int128","description":"GitBucket Docker Image","archived":true,"fork":false,"pushed_at":"2024-07-17T06:41:28.000Z","size":37,"stargazers_count":10,"open_issues_count":5,"forks_count":13,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-31T04:31:51.388Z","etag":null,"topics":["docker","gitbucket","helm","kubernetes"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/int128/gitbucket","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/int128.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2018-03-29T07:43:30.000Z","updated_at":"2024-07-20T12:42:00.000Z","dependencies_parsed_at":"2024-05-18T14:22:32.096Z","dependency_job_id":"36d876c7-2a37-49c1-932f-7ed87fd4914f","html_url":"https://github.com/int128/gitbucket-docker","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/int128/gitbucket-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/int128%2Fgitbucket-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/int128%2Fgitbucket-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/int128%2Fgitbucket-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/int128%2Fgitbucket-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/int128","download_url":"https://codeload.github.com/int128/gitbucket-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/int128%2Fgitbucket-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018780,"owners_count":26086452,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["docker","gitbucket","helm","kubernetes"],"created_at":"2024-10-03T17:19:05.857Z","updated_at":"2025-10-14T10:30:17.248Z","avatar_url":"https://github.com/int128.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitBucket on Docker and Kubernetes [![test](https://github.com/int128/gitbucket-docker/actions/workflows/test.yaml/badge.svg)](https://github.com/int128/gitbucket-docker/actions/workflows/test.yaml)\n\nA [GitBucket](https://github.com/gitbucket/gitbucket) Docker image and Kubernetes Helm chart.\n\nThis repository is automatically updated to the latest GitBucket by [CircleCI](https://circleci.com/gh/int128/gitbucket-docker).\n\n\n## Docker\n\n```sh\ndocker run -p 8080:8080 -p 29418:29418 int128/gitbucket\n```\n\nYou can save your GitBucket data to `./gitbucket` persistently as follows:\n\n```sh\nmkdir -p /data/gitbucket\nchown -R 1000:1000 /data/gitbucket\ndocker run -p 8080:8080 -p 29418:29418 -v /data/gitbucket:/var/gitbucket int128/gitbucket\n```\n\nThis image runs as `gitbucket` user (uid=1000, gid=1000), not `root` for security reason.\n\nThis image exposes the following ports:\n\n- `8080` - Web service\n- `29418` - SSH access to git repository\n\n### Environment variables\n\nYou can set the following environment variables:\n\n| Name | Value\n|------|------\n| `GITBUCKET_HOME`          | Directory to store data. Defaults to `/var/gitbucket`.\n| `GITBUCKET_BASE_URL`      | Base URL. This may be required if container is behind a reverse proxy.\n| `GITBUCKET_DB_URL`        | [External database](https://github.com/gitbucket/gitbucket/wiki/External-database-configuration) URL. Defaults to H2.\n| `GITBUCKET_DB_USER`       | External database user.\n| `GITBUCKET_DB_PASSWORD`   | External database password.\n| `GITBUCKET_OPTS`          | GitBucket command line options.\n| `JAVA_OPTS`               | JVM options. Defaults to options setting JVM heap by container memory limit. See [`Dockerfile`](Dockerfile) for more.\n\n\n## Kubernetes Helm\n\n:warning: **NOTE**: Currently Helm chart is not published due to CI issue. Please build it yourself instead\n\n```sh\nhelm repo add int128.github.io https://int128.github.io/helm-charts\nhelm repo update\nhelm install int128.github.io/gitbucket\n```\n\nThe Helm chart considers the followings:\n\n- Mount the persistent volume to `/var/gitbucket`.\n- Fix owner of `/var/gitbucket` by the init container.\n- Set readiness probe and liveness probe with access to `:8080/signin`. It should return 200.\n\n### Values\n\nYou can set the following values:\n\n| Name | Value\n|------|------\n| `gitbucket.options`           | GitBucket command line options.\n| `javavm.options`              | JVM options. Defaults to setting JVM heap by the memory limit. See [`Dockerfile`](Dockerfile) for more.\n| `externalDatabase.url`        | The [external database](https://github.com/gitbucket/gitbucket/wiki/External-database-configuration) URL. Defaults to H2.\n| `externalDatabase.user`       | The external database user.\n| `externalDatabase.password`   | The external database password.\n| `externalDatabase.existingSecret`     | Name of an existing secret to be used for the database password.\n| `externalDatabase.existingSecretKey`  | The key for the database password in the existing secret.\n| `persistentVolume.existingClaim`  | Name of an existing Persistent Volume Claim.\n| `persistentVolume.size`           | Size of a Persistent Volume Claim for dynamic provisioning. Defaults to `10Gi`.\n| `resources.limits.memory`         | Memory limit. Defaults to `1Gi`.\n| `resources.requests.memory`       | Memory request. Defaults to `1Gi`.\n| `ingress.enabled`                 | If true, an ingress is be created.\n| `ingress.hosts`                   | A list of hosts for the ingress.\n| `annotations`                     | Additional annotations. Defaults to `{}`\n| `labels`                          | Additional labels. Defaults to `{}`\n| `environment`                     | Additional environment variables. Defaults to `{}`\n| `enableServiceLinks`              | Indicates whether information about services should be injected into pod's environment variables. Defaults to `true`\n| `useDefaultServiceAccount`        | Indicates whether the `default` ServiceAccount should be used. Otherwise a ServiceAccount with the name `gitbucket.fullname` will be created. Defaults to `true`\n| `runAsNonRoot`                    | Require that the container will run with a user with any UID other than 0. Defaults to `false`\n| `chownDataDirectoryInInitContainer` | Enable initContainer that will change ownership of data directory to 1000:1000. Defaults to `true`\n\n\n## External database\n\nYou can create a database and user for the GitBucket as follows:\n\n```sql\n# PostgreSQL\nCREATE DATABASE gitbucket;\nCREATE USER gitbucket PASSWORD 'gitbucket';\nGRANT ALL PRIVILEGES ON DATABASE gitbucket TO gitbucket;\n\n# MySQL\nCREATE DATABASE gitbucket;\nGRANT ALL PRIVILEGES ON gitbucket.* to gitbucket@'%' identified by 'gitbucket';\nFLUSH PRIVILEGES; \n```\n\n\n## Contributions\n\nThis is an open source software licensed under Apache License 2.0.\nFeel free to open issues and pull requests.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fint128%2Fgitbucket-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fint128%2Fgitbucket-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fint128%2Fgitbucket-docker/lists"}