Esta página se muestra en inglés. Una traducción al español está en curso.
ConfigsApr 25, 2026·3 min de lectura

GitBucket — Self-Hosted Git Platform Powered by Scala

GitBucket is a free, open-source Git web platform written in Scala. It provides GitHub-like repository hosting, pull requests, issue tracking, and a wiki, all deployable as a single WAR file.

assetLangBanner.body

Introduction

GitBucket is a self-hosted Git platform that aims to provide a GitHub-like experience with minimal setup. Built on Scala and the Servlet API, it ships as a single WAR file that runs on any Java application server or standalone via embedded Jetty, making it one of the simplest Git platforms to deploy.

What GitBucket Does

  • Hosts Git repositories with a web-based browser for files, commits, branches, and tags
  • Provides pull request workflows with inline code review, diff viewing, and merge options
  • Includes an issue tracker with labels, milestones, and assignees per repository
  • Offers a built-in wiki with Markdown support for each repository
  • Supports an extensible plugin system for adding CI integration, Gist-like snippets, and more

Architecture Overview

GitBucket is written in Scala and runs on the JVM using the Servlet API with embedded Jetty. It uses JGit for Git operations and stores repository data on the local file system while metadata lives in an embedded H2 database by default (configurable to PostgreSQL or MySQL). The plugin architecture allows third-party extensions to register new pages, API endpoints, and hooks without modifying core code.

Self-Hosting & Configuration

  • Run as a standalone Java application or deploy the WAR file to Tomcat, Jetty, or any Servlet 3.1+ container
  • Switch the backend database from embedded H2 to PostgreSQL or MySQL for production use
  • Configure LDAP, OIDC, or OAuth authentication for enterprise single sign-on
  • Set up webhook integrations to trigger CI/CD pipelines on push and pull request events
  • Enable SMTP settings for email notifications on issues, pull requests, and repository events

Key Features

  • Single WAR file deployment with no external dependencies beyond Java
  • GitHub-compatible API for integration with existing tools and scripts
  • Plugin ecosystem including Gist support, CI integration, and emoji rendering
  • Repository mirroring for syncing with external Git repositories
  • Built-in Gravatar and avatar support with user and organization management

Comparison with Similar Tools

  • Gitea — Go-based with a single binary; GitBucket is JVM-based with plugin extensibility
  • GitLab — comprehensive DevOps platform; GitBucket is lighter and simpler to deploy
  • Gogs — minimal Go-based Git server; GitBucket adds pull requests and a plugin system
  • Forgejo — Gitea fork with community governance; GitBucket targets JVM-based environments
  • OneDev — all-in-one with CI; GitBucket focuses on GitHub-like repository hosting

FAQ

Q: Does GitBucket require a database server? A: No. It ships with embedded H2. You can optionally configure PostgreSQL or MySQL for larger deployments.

Q: Can I migrate from GitHub to GitBucket? A: Yes. GitBucket provides a repository import feature and a GitHub-compatible API for tooling compatibility.

Q: What Java version is required? A: Java 17 or later is required for current versions of GitBucket.

Q: Does it support CI/CD? A: Not built-in, but the plugin system supports CI integration, and webhooks can trigger external CI services.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados