diff options
author | Malfurious <m@lfurio.us> | 2023-09-15 10:59:09 -0400 |
---|---|---|
committer | Malfurious <m@lfurio.us> | 2023-09-15 10:59:09 -0400 |
commit | a6f2c9e34b7a0bdaff2a44b54ca7999728f36773 (patch) | |
tree | 73b2ff4824313805629ee98efd1844fd7b636da1 /docker | |
parent | 5cd2822ed607d1f20d1d114aebe511a4fe5f1825 (diff) | |
parent | c1db5d6e6557ac5f3b9d408eb2de888bf096a370 (diff) | |
download | srcnode-a6f2c9e34b7a0bdaff2a44b54ca7999728f36773.tar.gz srcnode-a6f2c9e34b7a0bdaff2a44b54ca7999728f36773.zip |
Merge branch 'gitolite-debian-refactor'
Refactor the gitolite docker image to build from Debian, but also clean
up a lot of the original build process.
The move off of archlinux is done since it is a sub-optimal pick for a
docker base. However, I'm specifically moving off it because archlinux
does not allow for the use of normalmode on i386 machines. Most offical
bases do, and debian seems to be a good fit for running gitolite.
Previously, this git repository was serving double duty as the code
repository for normalmode, as well as the site gitolite-admin
repository. This is no longer going to be the case - gitolite-admin is
now completely separate. Not only does this allow me to clean up the
folder structure, but going forward, the out-of-the-box experience of a
new install will be 'more correct' for what normalmode intends. IE: Our
config files will more often already be installed by default, instead of
requiring user-intervention on the gitolite-admin side of things.
The docker-compose.yml file is left behind. I'll update it after cgit
gets a similar treatment.
* gitolite-debian-refactor:
gitolite: Add admin initialization script
gitolite: Allow users to delete remote HEAD branches
gitolite: Remove hard-coded admin username
gitolite: Correct site-local code location
gitolite: Refactor Dockerfile for debian base
gitolite: Consolidate config files into a single directory
Diffstat (limited to '')
-rw-r--r-- | docker/Dockerfile.gitolite | 25 | ||||
-rwxr-xr-x | docker/gitolite_init.sh | 6 | ||||
-rw-r--r-- | gitolite/sshd_config (renamed from docker/sshd_config) | 0 |
3 files changed, 0 insertions, 31 deletions
diff --git a/docker/Dockerfile.gitolite b/docker/Dockerfile.gitolite deleted file mode 100644 index d2ca1ae..0000000 --- a/docker/Dockerfile.gitolite +++ /dev/null @@ -1,25 +0,0 @@ -# https://gitolite.com/gitolite/index.html -# https://github.com/sitaramc/gitolite -# https://wiki.archlinux.org/title/Gitolite - -FROM archlinux - -# The gitolite package implies git, openssh, and creates the host user -RUN pacman-key --init -RUN pacman -Syu --needed --noconfirm gitolite - -# Initialize the gitolite datastore -COPY . /app -RUN if [ -f "/app/admin.pub" ]; \ - then runuser -u gitolite -- /app/gitolite_init.sh "/app/admin.pub"; fi -VOLUME /var/lib/gitolite - -# sshd host keys are stored in a volume so that rebuilding/updating the -# image doesn't break user trust -COPY sshd_config /etc/ssh/ -RUN mkdir -p /hostkeys/etc/ssh/ -RUN ssh-keygen -A -f /hostkeys -VOLUME /hostkeys - -EXPOSE 22 -CMD ["/usr/bin/sshd", "-D"] diff --git a/docker/gitolite_init.sh b/docker/gitolite_init.sh deleted file mode 100755 index bd70222..0000000 --- a/docker/gitolite_init.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -gitolite setup -pk "$1" -chmod 755 /var/lib/gitolite -chmod -R 755 /var/lib/gitolite/repositories -ln -sf .gitolite/conf/.gitolite.rc /var/lib/gitolite -ln -sf .gitolite/conf/.gitconfig /var/lib/gitolite diff --git a/docker/sshd_config b/gitolite/sshd_config index efc0c52..efc0c52 100644 --- a/docker/sshd_config +++ b/gitolite/sshd_config |