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:3d7f8c57dff9c147ac23830e5e7ce5f8a70341f1a4abc24aab75eac4fe8d3241";
|
|
sha256 = "sha256:1v103b6v0gn12zzcafam7rhmp3fdacn7m6f4j7q9xph3cd0x3rrd";
|
|
finalImageName = "octobus/heptapod";
|
|
finalImageTag = "0.21.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; };
|
|
}
|