Routes

ProtocolAddressJARProvider
other198.199.106.165external

Repositories

RepositoryLayerDescription
git-javagitsshserverotherGit SSH server implementation (Apache MINA SSHD + JGit). Canonical, maintained repo.

Depends on

Documentation Edit this page

Git SSH Server

A standalone Git SSH server (git.javagitsshserver) that hosts bare Git repositories accessible over the SSH protocol, supporting git clone, git fetch, and git push via git-upload-pack and git-receive-pack. It is built on Apache MINA SSHD and Eclipse JGit, and authenticates clients using SSH public keys.

Unlike most services in this catalog, this is not a ContainerNursery service. It runs as a long-lived JVM process directly on a DigitalOcean droplet, occupying the standard SSH port (22).

Routes

This service does not use ContainerNursery routing (no HTTPS or url:// route). It is reached directly over SSH:

Architecture

Git client ──SSH (port 22)──► git.javagitsshserver (JVM on droplet 198.199.106.165)
                                 │  Apache MINA SSHD + Eclipse JGit
                                 │  public-key auth
                                 ▼
                               Bare repositories under /home/git-repos

Single standalone process — there is no WUI, ServiceServer, or url:// layer. The server resolves the requested repository under its repositories directory and executes the corresponding JGit pack operation.

Repositories

The older javagitsshserver repo is an archived duplicate of the same project and should not be used.

Hosting

Dependents

Deployment

Built and run as a fat JAR directly on the droplet (not via ContainerNursery). From the git-javagitsshserver repo:

# Build the executable fat JAR
scripts/build.bash git.javagitsshserver.buildFatJar

On the droplet, launch the server against the repositories directory (port 22 is the default):

sudo java -jar git-javagitsshserver-fat.jar --repositories /home/git-repos &

To add a new hosted repository:

# On the server
cd /home/git-repos && mkdir my-project.git && cd my-project.git && git init --bare

# On a client (port 22, so no -p needed)
git remote add origin 198.199.106.165:my-project.git/
git push --set-upstream origin main

Health Checks

Notes

Read at commit 45ba0b30ed3b