arcology-fastapi/docker.nix

44 lines
1.5 KiB
Nix

# [[file:arcology-poetry.org::*=arcology-with-assets= can be bundled in to a simple Docker container with =dockerTools.buildImage=][=arcology-with-assets= can be bundled in to a simple Docker container with =dockerTools.buildImage=:1]]
{
arroyo ? import <arroyo> {},
emacsOverlay ? arroyo.lib.pkgVersions.emacsOverlay {},
pkgs ? import <nixpkgs> { overlays = [
(import emacsOverlay)
(import <arroyo/overlay.nix>)
];
},
python ? pkgs.python3
}:
let
app = import ./default.nix { inherit pkgs; inherit python; };
env = app.dependencyEnv;
myEmacs = (import /home/rrix/arroyo-nix/pkgs/emacs.nix { inherit pkgs; });
in pkgs.dockerTools.buildLayeredImage {
name = "arcology";
tag = "latest";
contents = [ app myEmacs pkgs.pandoc pkgs.coreutils ];
config = {
Env = [
"ARCOLOGY_DIRECTORY=/data"
"ARCOLOGY_SRC=/data/arcology-fastapi"
"ARROYO_SRC=/data/arroyo"
"ARCOLOGY_DB=/databases/arcology.db"
"ORG_ROAM_DB=/databases/org-roam.db"
"ARCOLOGY_ENV=prod"
];
Volumes = {
"/data"={};
"/databases"={};
};
WorkingDir = "${app}/lib/python${python.pythonVersion}/site-packages/";
ExposedPorts = {
"8000/tcp" = {};
};
# Cmd = ["${app}/bin/arcology-fastapi" ];
};
}
# =arcology-with-assets= can be bundled in to a simple Docker container with =dockerTools.buildImage=:1 ends here