aboutsummaryrefslogtreecommitdiff
path: root/docker.nix
blob: 56af61eaa4128c4c79a1610757865f2ec8a548bb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{ system ? builtins.currentSystem }:

let
  sources = import ./nix/sources.nix;
  pkgs = import sources.nixpkgs { };
  callPackage = pkgs.lib.callPackageWith pkgs;
  whirl = callPackage ./default.nix { };

  dockerImage = pkg:
    pkgs.dockerTools.buildImage {
      name = "Whirlsplash/whirl";
      tag = "latest";

      fromImage = pkgs.dockerTools.pullImage {
        imageName = "alpine";
        imageDigest = "sha256:def822f9851ca422481ec6fee59a9966f12b351c62ccb9aca841526ffaa9f748";
        # https://nixos.wiki/wiki/Docker
        sha256 = "1z6fh6ry14m5cpcjfg88vn2m36garmgdagr4vfc3pm1z3kph639n";
        finalImageTag = "alpine";
        finalImageName = "3.13.5";
      };

      contents = [ pkg ];

      config = {
        Cmd = [ "/bin/whirl" "run" ];
        WorkingDir = "/";
        Env = [ "DATABASE_URl=whirl.sqlite3" "DISABLE_PROMPT=true" ];
      };
    };

in dockerImage whirl