37 lines
1.2 KiB
Nix
37 lines
1.2 KiB
Nix
# SPDX-FileCopyrightText: 2020 Luke Granger-Brown <depot@lukegb.com>
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
{ pkgs, ... }:
|
|
let
|
|
origImageArgs = {
|
|
imageName = "octobus/heptapod";
|
|
imageDigest = "sha256:d8c9aea815b1d8a44737eccb97f0c771e20205b1c4b98fdcfc2edcb8106967fd";
|
|
sha256 = "0r1cfmf9fwfq944k72mcr6gp86595sgd00qm4aij5v99xgpd5axl";
|
|
finalImageName = "octobus/heptapod";
|
|
finalImageTag = "0.20.3";
|
|
};
|
|
origImage = pkgs.dockerTools.pullImage origImageArgs;
|
|
|
|
name = origImageArgs.imageName;
|
|
tag = "${origImageArgs.finalImageTag}-lukegb";
|
|
in pkgs.dockerTools.buildImage rec {
|
|
inherit name tag;
|
|
fromImage = origImage;
|
|
fromImageName = origImageArgs.finalImageName;
|
|
fromImageTag = origImageArgs.finalImageTag;
|
|
diskSize = 8192;
|
|
runAsRoot = ''
|
|
#!{pkgs.runtimeShell}
|
|
cat <<"EOF" >/assets/wrapper_wrapper
|
|
#!/bin/bash
|
|
/usr/bin/id hg || /usr/sbin/useradd -g $(id -u git) -u $(id -g git) -o -d /var/opt/gitlab -p "*" hg
|
|
/usr/bin/grep "AllowUsers git hg" /assets/sshd_config || /bin/sed -i "s/AllowUsers git/AllowUsers git hg/" /assets/sshd_config
|
|
exec /assets/wrapper "$@"
|
|
EOF
|
|
chmod ugo=rx /assets/wrapper_wrapper
|
|
'';
|
|
config.Cmd = ["/assets/wrapper_wrapper"];
|
|
} // {
|
|
meta = { inherit name tag; };
|
|
}
|