changes for ssh passthough
authorDavid Blacka <david@blacka.com>
Tue, 28 Feb 2023 22:30:00 +0000 (17:30 -0500)
committerDavid Blacka <david@blacka.com>
Tue, 28 Feb 2023 22:30:00 +0000 (17:30 -0500)
docker-compose.yaml
httpd.conf.snippet [new file with mode: 0644]
setup.sh

index a46ca78..2261be3 100644 (file)
@@ -11,13 +11,15 @@ services:
     environment:
       - USER_UID=895
       - USER_GID=895
+      - GITEA__server__ROOT_URL=https://blacka.com/git
     restart: always
     networks:
       - gitea
     volumes:
       - ./data:/data
+      - /var/lib/gitea/.ssh:/data/git/.ssh
       - /etc/timezone:/etc/timezone:ro
       - /etc/localtime:/etc/localtime:ro
     ports:
       - "3000:3000"
-      - "222:22"
+      - "2222:22"
diff --git a/httpd.conf.snippet b/httpd.conf.snippet
new file mode 100644 (file)
index 0000000..05fb733
--- /dev/null
@@ -0,0 +1,7 @@
+<Proxy *>
+      Order allow,deny
+      Allow from all
+</Proxy>
+AllowEncodedSlashes NoDecode
+# Note: no trailing slash after either /git or port
+ProxyPass /git http://localhost:3000 nocanon
\ No newline at end of file
index 6dda2de..57911a6 100755 (executable)
--- a/setup.sh
+++ b/setup.sh
@@ -1,11 +1,19 @@
 #! /bin/bash
 
 GITEA_HOME=/var/lib/gitea
+HOST_GIT_USER=git  # this will be the user in the ssh git urls, e.g. git@blacka.com/org/repo.git
 
 # create the 'gitea' user to run and own this thing
 if ! id -u 985 >/dev/null 2>&1; then
-    groupadd -g 895 gitea
-    useradd -u 895 -g gitea -d "$GITEA_HOME" -m gitea
+    groupadd -g 895 "$HOST_GIT_USER"
+    useradd -u 895 -g "$HOST_GIT_USER" -G docker -d "$GITEA_HOME" -m gitea
 fi
 
 install -d "$GITEA_HOME/data"
+
+cat <<"EOF" | sudo tee $GITEA_HOME/docker-shell
+#!/bin/sh
+/usr/bin/docker exec -i -u git --env SSH_ORIGINAL_COMMAND="$SSH_ORIGINAL_COMMAND" gitea sh "$@"
+EOF
+sudo chmod +x $GITEA_HOME/docker-shell
+sudo usermod -s $GITEA_HOME/docker-shell git