From dcb683495e27dd297c10c2ce4f1877a87813fbe5 Mon Sep 17 00:00:00 2001 From: Matthias Lucas Jaros Date: Sat, 18 Oct 2025 22:19:47 +0200 Subject: Renamed script from init to run --- Dockerfile | 6 +++--- init | 44 -------------------------------------------- run | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 47 deletions(-) delete mode 100755 init create mode 100755 run diff --git a/Dockerfile b/Dockerfile index c576ff1..7d33c8b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,6 @@ RUN apk add --no-cache openssh-server fish git # Modified ssh conf with disabled root login and no password authentication COPY ssh.conf /etc/ssh/sshd_config.d/ -COPY init /usr/local/bin/ -RUN chmod +x /usr/local/bin/init -ENTRYPOINT ["/usr/local/bin/init"] +COPY run /usr/local/bin/ +RUN chmod +x /usr/local/bin/run +ENTRYPOINT ["/usr/local/bin/run"] diff --git a/init b/init deleted file mode 100755 index d167007..0000000 --- a/init +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env fish - -argparse 'u/users=+' 'r/repos=+' -- $argv -or exit 1; - -# create users and copy keys in correct location, set permissions -for user in (string split ',' $_flag_u) - echo "Setting up user: $user" - set -l HOME "/home/$user" - adduser --home $HOME -D "$user" - mkdir "$HOME/.ssh" - cp "/var/keys/$user/authorized_keys" "$HOME/.ssh/" - chown -R $user "$HOME" - chmod -R 700 "$HOME" -end - -for repoConfig in (string split ',' $_flag_r) - set -l parsedConfig (string split ':' $repoConfig) - set -l repo $parsedConfig[1] - - # we assume all repos to be in /srv/repos - set -l repoDir "/srv/repos/$repo" - echo "Setting up repo: $repo" - addgroup "$repo" - - # assign groups to user - for user in $parsedConfig[2..] - adduser "$user" "$repo" - id "$user" - end - - # setup repo dir - if not test -d $repoDir - mkdir -p $repoDir - git init --bare $repoDir -b trunk - end - chgrp -R "$repo" "$repoDir" -end - -echo "Setting up server" -# generate host keys in case -mkdir -p /var/keys/etc/ssh/ && ssh-keygen -A -f /var/keys -# run ssh daemon -/usr/sbin/sshd -D -e diff --git a/run b/run new file mode 100755 index 0000000..d167007 --- /dev/null +++ b/run @@ -0,0 +1,44 @@ +#!/usr/bin/env fish + +argparse 'u/users=+' 'r/repos=+' -- $argv +or exit 1; + +# create users and copy keys in correct location, set permissions +for user in (string split ',' $_flag_u) + echo "Setting up user: $user" + set -l HOME "/home/$user" + adduser --home $HOME -D "$user" + mkdir "$HOME/.ssh" + cp "/var/keys/$user/authorized_keys" "$HOME/.ssh/" + chown -R $user "$HOME" + chmod -R 700 "$HOME" +end + +for repoConfig in (string split ',' $_flag_r) + set -l parsedConfig (string split ':' $repoConfig) + set -l repo $parsedConfig[1] + + # we assume all repos to be in /srv/repos + set -l repoDir "/srv/repos/$repo" + echo "Setting up repo: $repo" + addgroup "$repo" + + # assign groups to user + for user in $parsedConfig[2..] + adduser "$user" "$repo" + id "$user" + end + + # setup repo dir + if not test -d $repoDir + mkdir -p $repoDir + git init --bare $repoDir -b trunk + end + chgrp -R "$repo" "$repoDir" +end + +echo "Setting up server" +# generate host keys in case +mkdir -p /var/keys/etc/ssh/ && ssh-keygen -A -f /var/keys +# run ssh daemon +/usr/sbin/sshd -D -e -- cgit v1.3.1