diff --git a/etc/nixos/configuration.nix b/etc/nixos/configuration.nix index a26f5de..b0d8c61 100644 --- a/etc/nixos/configuration.nix +++ b/etc/nixos/configuration.nix @@ -14,6 +14,7 @@ ./services/nginx.nix ./services/gitlab.nix ./services/nextcloud.nix + ./services/tlaternet.nix ]; networking = { diff --git a/etc/nixos/derivations/tlaternet b/etc/nixos/derivations/tlaternet new file mode 160000 index 0000000..bb19002 --- /dev/null +++ b/etc/nixos/derivations/tlaternet @@ -0,0 +1 @@ +Subproject commit bb19002f511e7ffe54fc2375562e32ed9526c740 diff --git a/etc/nixos/derivations/tlaternet-templates b/etc/nixos/derivations/tlaternet-templates new file mode 160000 index 0000000..1160d96 --- /dev/null +++ b/etc/nixos/derivations/tlaternet-templates @@ -0,0 +1 @@ +Subproject commit 1160d96b064531f65290e2d665c7c8d05fc3d29a diff --git a/etc/nixos/services/tlaternet.nix b/etc/nixos/services/tlaternet.nix new file mode 100644 index 0000000..7292e86 --- /dev/null +++ b/etc/nixos/services/tlaternet.nix @@ -0,0 +1,45 @@ +{ pkgs, ... }: + +let + tlaternet = import ../derivations/tlaternet { inherit pkgs; }; + tlaternet-templates = import ../derivations/tlaternet-templates { inherit pkgs; }; + +in +{ + networked-docker-containers = { + web = { + image = "tlaternet/web"; + imageFile = pkgs.dockerTools.buildImage { + name = "tlaternet/web"; + tag = "latest"; + contents = tlaternet; + config = { + Cmd = [ "${tlaternet}/bin/tlaternet" ]; + Volumes = { + "/srv/mail" = {}; + }; + Env = [ + "ROCKET_PORT=80" + "ROCKET_TEMPLATE_DIR=${tlaternet-templates}/srv/web" + ]; + ExposedPorts = { + "80" = {}; + }; + }; + }; + volumes = [ + "mail:/srv/mail" + ]; + environment = { + VIRTUAL_HOST = "tlater.net,www.tlater.net"; + LETSENCRYPT_HOST = "tlater.net,www.tlater.net"; + }; + networks = [ + "webproxy" + ]; + extraDockerOptions = [ + "--domainname=tlater.net" + ]; + }; + }; +}