|
@@ -0,0 +1,39 @@
|
|
|
|
+# docker: gitolite 🐳
|
|
|
|
+
|
|
|
|
+[OpenSSH server](https://www.openssh.com/)
|
|
|
|
+with [gitolite](https://gitolite.com/gitolite/) command filter
|
|
|
|
+including support for [git-annex](https://git-annex.branchable.com/)
|
|
|
|
+
|
|
|
|
+```sh
|
|
|
|
+$ sudo docker run --name gitolite \
|
|
|
|
+ -v gitolite_ssh_host_keys:/etc/ssh/host_keys \
|
|
|
|
+ -v gitolite_data:/var/lib/gitolite \
|
|
|
|
+ -p 2200:2200 \
|
|
|
|
+ -e GITOLITE_INITIAL_ADMIN_NAME=someone \
|
|
|
|
+ -e GITOLITE_USER_PUBLIC_KEY_someone="$(cat ~/.ssh/id_*.pub)" \
|
|
|
|
+ --read-only --cap-drop=ALL --security-opt=no-new-privileges \
|
|
|
|
+ docker.io/fphammerle/gitolite
|
|
|
|
+
|
|
|
|
+$ ssh -p 2200 -T git@localhost
|
|
|
|
+hello someone, this is git@hostname running gitolite3 3.6.11-2 (Debian) on git 2.20.1
|
|
|
|
+
|
|
|
|
+ R W gitolite-admin
|
|
|
|
+ R W testing
|
|
|
|
+
|
|
|
|
+$ git clone ssh://git@localhost:2200/gitolite-admin.git
|
|
|
|
+
|
|
|
|
+$ git clone ssh://git@localhost:2200/testing.git
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+`sudo docker` may be replaced with `podman`.
|
|
|
|
+
|
|
|
|
+Annotation of signed git tags `docker/*` contains docker image digests: https://github.com/fphammerle/docker-gitolite/tags
|
|
|
|
+
|
|
|
|
+Detached signatures of images are available at https://github.com/fphammerle/container-image-sigstore
|
|
|
|
+(exluding automatically built `latest` tag).
|
|
|
|
+
|
|
|
|
+### Docker Compose 🐙
|
|
|
|
+
|
|
|
|
+1. `git clone https://github.com/fphammerle/docker-gitolite`
|
|
|
|
+2. Adapt `GITOLITE_INITIAL_ADMIN_NAME` and `GITOLITE_USER_PUBLIC_KEY_*` in [docker-compose.yml](docker-compose.yml)
|
|
|
|
+3. `docker-compose up --build`
|