2026-06-08 14:47:22 -05:00
2026-06-08 13:34:53 -05:00
2026-06-08 14:47:22 -05:00
2026-06-08 12:50:40 -05:00
2026-06-08 12:50:40 -05:00
2026-06-08 12:50:40 -05:00
2026-06-08 13:34:53 -05:00

Gitocean

Gitocean is a small Go-based Git hosting platform for personal use. It provides a CLI, JSON HTTP API, MySQL metadata storage, and HTTP Smart Git transport. There is no web UI and no SSH transport.

Quickstart

go run ./cmd/gitocean init
go run ./cmd/gitocean server --config storage/config.json

In another shell:

go run ./cmd/gitocean register
go run ./cmd/gitocean login
go run ./cmd/gitocean repo create demo --public
go run ./cmd/gitocean clone USER/demo

Storage

Bare repositories are stored under:

storage/repos/{owner}/{repo}.git

Server config defaults to:

storage/config.json

CLI auth config defaults to:

~/.config/gitocean/config.json

Development

Run checks with:

gofmt -w .
go test ./...
go vet ./...

Code layout

cmd/gitocean/          thin executable entrypoint
internal/app/          application command dispatch and domain handlers
internal/model/        shared data models
internal/config/       client/server config helpers
internal/dbutil/       MySQL connection helpers
internal/gitutil/      reusable Git command helpers
internal/httputil/     JSON HTTP helpers
internal/backup/       backup/restore helpers
internal/validate/     name and branch validators
plans/                 phase plans
S
Description
No description provided
Readme
154 KiB
Languages
Go 100%