diff options
author | Vika <vika@fireburn.ru> | 2022-05-24 17:18:30 +0300 |
---|---|---|
committer | Vika <vika@fireburn.ru> | 2022-05-24 17:18:30 +0300 |
commit | 5610a5f0bf1a9df02bd3d5b55e2cdebef2440360 (patch) | |
tree | 8394bcf1dcc204043d7adeb8dde2e2746977606e /docker.nix | |
parent | 2f93873122b47e42f7ee1c38f1f04d052a63599c (diff) | |
download | kittybox-5610a5f0bf1a9df02bd3d5b55e2cdebef2440360.tar.zst |
flake.nix: reorganize
- Kittybox's source code is moved to a subfolder - This improves build caching by Nix since it doesn't take changes to other files into account - Package and test definitions were spun into separate files - This makes my flake.nix much easier to navigate - This also makes it somewhat possible to use without flakes (but it is still not easy, so use flakes!) - Some attributes were moved in compliance with Nix 2.8's changes to flake schema
Diffstat (limited to 'docker.nix')
-rw-r--r-- | docker.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/docker.nix b/docker.nix new file mode 100644 index 0000000..2ac09b6 --- /dev/null +++ b/docker.nix @@ -0,0 +1,43 @@ +{ kittybox, dockerTools, runtimeShell, rev ? "development", lastModifiedDate }: +dockerTools.buildImage { + name = "kittybox"; + tag = rev; + created = let + date = lastModifiedDate; + in builtins.concatStringsSep "" [ + (builtins.substring 0 4 date) + "-" + (builtins.substring 4 2 date) + "-" + (builtins.substring 6 2 date) + "T" + (builtins.substring 8 2 date) + ":" + (builtins.substring 10 2 date) + ":" + (builtins.substring 12 2 date) + "Z" + ]; + + runAsRoot = '' + #!${runtimeShell} + ${dockerTools.shadowSetup} + groupadd -r kittybox + useradd -r -g kittybox kittybox + mkdir -p /data + chown kittybox:kittybox /data + ''; + + config = { + Cmd = [ "${kittybox}/bin/kittybox" ]; + Env = [ + "SERVE_AT=0.0.0.0:8080" + "BACKEND_URI=file:///data" + "RUST_LOG=info" + ]; + WorkingDir = "/data"; + Volumes = { "/data" = {}; }; + User = "kittybox"; + ExposedPorts = { "8080" = {}; }; + }; +} |