Add docker deploy to flake
This commit is contained in:
45
flake.nix
45
flake.nix
@@ -14,20 +14,55 @@
|
|||||||
flake-utils.lib.eachDefaultSystem (
|
flake-utils.lib.eachDefaultSystem (
|
||||||
system: let
|
system: let
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
|
||||||
|
deploy = pkgs.writeShellScriptBin "deploy" ''
|
||||||
|
set -e; set -o pipefail; set -x;
|
||||||
|
|
||||||
|
nix build .#docker
|
||||||
|
image=$((docker load < result) | sed -n '$s/^Loaded image: //p')
|
||||||
|
docker image tag "$image" harbor.julian-mutter.de/sheetless/sheetless-server:latest
|
||||||
|
docker push harbor.julian-mutter.de/sheetless/sheetless-server:latest
|
||||||
|
'';
|
||||||
in {
|
in {
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
go
|
go
|
||||||
gopls
|
gopls
|
||||||
go-tools
|
go-tools
|
||||||
|
|
||||||
|
deploy
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
packages.default = pkgs.buildGoModule {
|
packages = rec {
|
||||||
pname = "sheetless-server";
|
default = sheetless-server;
|
||||||
version = "0.1.0";
|
|
||||||
src = ./src;
|
sheetless-server = pkgs.buildGoModule {
|
||||||
vendorHash = "sha256-NnHo1wcsX0aCBpay8eEyjmtO7+Qe8gcBPITobP7WtkA=";
|
pname = "sheetless-server";
|
||||||
|
version = "0.1.0";
|
||||||
|
src = ./src;
|
||||||
|
vendorHash = "sha256-NnHo1wcsX0aCBpay8eEyjmtO7+Qe8gcBPITobP7WtkA=";
|
||||||
|
};
|
||||||
|
|
||||||
|
docker = pkgs.dockerTools.buildImage {
|
||||||
|
name = "sheetless-server";
|
||||||
|
tag = "latest";
|
||||||
|
|
||||||
|
copyToRoot = with pkgs; [
|
||||||
|
dockerTools.usrBinEnv
|
||||||
|
dockerTools.binSh
|
||||||
|
dockerTools.caCertificates
|
||||||
|
|
||||||
|
coreutils
|
||||||
|
sheetless-server
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
Cmd = ["/bin/sheetless-server"];
|
||||||
|
Expose = "8080";
|
||||||
|
};
|
||||||
|
created = "now";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user