{"id":28271698,"url":"https://github.com/azamaulanaaa/gitit","last_synced_at":"2026-02-04T00:02:37.304Z","repository":{"id":293972975,"uuid":"985654515","full_name":"azamaulanaaa/gitit","owner":"azamaulanaaa","description":"A Lightweight HTTP Git Server for CI/CD","archived":false,"fork":false,"pushed_at":"2025-11-20T20:55:19.000Z","size":46,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-20T22:22:58.643Z","etag":null,"topics":["cicd","git"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/azamaulanaaa.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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-18T08:37:23.000Z","updated_at":"2025-11-20T20:55:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"2a0d714b-006f-4d50-a4da-a8768242863a","html_url":"https://github.com/azamaulanaaa/gitit","commit_stats":null,"previous_names":["azamaulanaaa/gitit"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/azamaulanaaa/gitit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azamaulanaaa%2Fgitit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azamaulanaaa%2Fgitit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azamaulanaaa%2Fgitit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azamaulanaaa%2Fgitit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azamaulanaaa","download_url":"https://codeload.github.com/azamaulanaaa/gitit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azamaulanaaa%2Fgitit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29062483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T23:14:54.203Z","status":"ssl_error","status_checked_at":"2026-02-03T23:14:50.873Z","response_time":96,"last_error":"SSL_read: 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":["cicd","git"],"created_at":"2025-05-20T18:21:32.050Z","updated_at":"2026-02-04T00:02:37.297Z","avatar_url":"https://github.com/azamaulanaaa.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gitit: A Lightweight SSH Git Server for CI/CD\n\nGitit is an extremely lightweight Docker image built on Alpine Linux and\n**Dropbear SSH** to serve **bare Git repositories**. Its primary design goal is\nto provide a minimalist, secure endpoint for **Continuous Integration/Continuous\nDeployment (CI/CD)** workflows triggered by Git hooks.\n\n## Features\n\n- **Protocol:** Securely serves Git over **SSH (Dropbear)** using password\n  authentication.\n- **Ultra-Lightweight:** Built on Alpine Linux with minimal dependencies for a\n  small footprint and fast startup.\n- **Bare Repositories:** Designed to host bare repositories (`repo-name.git`),\n  the standard format for centralized Git remotes.\n- **Automatic Initialization:** Automatically initializes empty directories as\n  bare repositories on startup.\n- **Persistent Identity:** Host keys are externalized for **consistent server\n  identity** across restarts, preventing client errors.\n\n---\n\n## Deployment\n\n### Prerequisites\n\n- Docker or Podman installed on your system.\n- The **`git`** user requires a strong password set via an environment variable.\n\n### Running the Container\n\nGitit requires volumes for **repository storage** and **SSH host key\npersistence**.\n\n```sh\ndocker run -d \\\n    --name gitit \\\n    -p 8022:22 \\\n    -v gitit_repos:/git \\\n    -v gitit_keys:/etc/dropbear \\\n    -e GIT_PASSWORD=YOUR_SECURE_PASSWORD \\\n    ghcr.io/azamaulanaaa/gitit\n```\n\n## Usage\n\nThe repository user is always **`git`**. All repositories are accessed via the\npath `/git/\u003crepo-name.git\u003e`.\n\n### Cloning a New Repository\n\nTo clone a repository named `my-project.git`:\n\n```sh\ngit clone ssh://git@\u003cYour_Host_IP_Address\u003e:8022/git/my-project.git\n```\n\n### Pushing Changes\n\nTo push changes to the server:\n\n```sh\n# 1. Add Gitit as a remote\ngit remote add gitit ssh://git@\u003cYour_Host_IP_Address\u003e:8022/git/my-project.git\n\n# 2. Push the changes (you will be prompted for the GIT_PASSWORD)\ngit push gitit main\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazamaulanaaa%2Fgitit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazamaulanaaa%2Fgitit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazamaulanaaa%2Fgitit/lists"}