Sites statique #5

Open
sinavir wants to merge 12 commits from static_website into master
6 changed files with 32 additions and 29 deletions
Showing only changes of commit 13e949996d - Show all commits

View file

@ -1,12 +1,12 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
staticWebsites.sites = { services.staticWebsites.sites = {
"2048" = { "2048" = {
root = pkgs.fetchFromGitHub { root = pkgs.fetchFromGitHub {
owner = "hackEns"; owner = "hackEns";
repo = "2048NdS"; repo = "2048NdS";
rev = "1df6db154ca22c380eb52844c7a6a7f888fb5610"; rev = "1df6db154ca22c380eb52844c7a6a7f888fb5610";
sha256 = "087471kpbpcg5920wy6fgcx6jz613zbyy0jn5iiimwjk1im1wa4q"; sha256 = "1y2v637j0g03g4l80ag72pm9kc46f07npir7ddp8i6x15bzygj1a";
}; };
hostname = config.my.subZone; hostname = config.my.subZone;
location = "/2048"; location = "/2048";

View file

@ -2,8 +2,8 @@
{ {
imports = [ imports = [
./my.nix ./my.nix
./staticWebsite.nix ./staticWebsites.nix
./nginx.nix ./nginx.nix
./webhook.nix ./webhooks.nix
]; ];
} }

View file

@ -36,27 +36,29 @@ in
config = mkIf (eachSite != {}) { config = mkIf (eachSite != {}) {
services.nginx = { services.nginx = {
enable = true; enable = true;
virtualHosts = mapAttrs ( hostName: conf: (mkMerge [ virtualHosts = mapAttrs' ( hostname: conf: {
{ name = conf.hostname;
serverName = conf.hostname; value = (mkMerge [
forceSSL = if debug then false else true; {
enableACME = if debug then false else true; serverName = conf.hostname;
} forceSSL = if config.services.staticWebsites.debug then false else true;
enableACME = if config.services.staticWebsites.debug then false else true;
(mkIf (conf.location == null) { }
root = conf.root;
}) (mkIf (conf.location == null) {
root = conf.root;
(mkIf (conf.location != null) { })
location = {
"~ ^${conf.location}" = { (mkIf (conf.location != null) {
alias = conf.root; locations = {
"${conf.location}/" = {
alias = "${conf.root}/";
};
}; };
}; })
})
]);
]) }) eachSite;
) eachSite;
}; };
}; };
} }

View file

@ -2,7 +2,7 @@
with lib; with lib;
let let
json = pkgs.formats.json {}; json = pkgs.formats.json {};
cfg = config.services.webhook; cfg = config.services.webhooks;
in in
{ {
options.services.webhooks = { options.services.webhooks = {
@ -33,6 +33,7 @@ in
debug = mkOption { debug = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.nginx = { services.nginx = {
@ -50,6 +51,6 @@ in
}; };
script = "${cfg.package}/bin/webhook -nopanic -ip \"127.0.0.1\" -port \"${toString cfg.internalPort}\" -verbose -hooks ${json.generate "conf.json" cfg.hooks}"; script = "${cfg.package}/bin/webhook -nopanic -ip \"127.0.0.1\" -port \"${toString cfg.internalPort}\" -verbose -hooks ${json.generate "conf.json" cfg.hooks}";
wantedBy = [ "mulit-user.target" ]; wantedBy = [ "mulit-user.target" ];
}; };
}; };
} }

View file

@ -1,6 +1,6 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
services.staticWebsites.test = { services.staticWebsites.sites.test = {
hostname = "test.${config.my.subZone}"; hostname = "test.${config.my.subZone}";
root = pkgs.writeTextDir "index.html" "Hello world!"; root = pkgs.writeTextDir "index.html" "Hello world!";
}; };

View file

@ -1,8 +1,8 @@
{ pkgs, ... }: { pkgs, config, ... }:
{ {
networking.firewall.allowedTCPPorts = [ 80 443 ]; networking.firewall.allowedTCPPorts = [ 80 443 ];
# TODO: move to hackens.org # TODO: move to hackens.org
services.dokuwiki.sites."hackens.ens.fr" = { services.dokuwiki.sites."${config.my.subZone}" = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''