cache.nixos.org: provide index.html
This commit is contained in:
parent
b8db729338
commit
5782a4de2e
@ -1,4 +1,4 @@
|
|||||||
{lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
domain = "cache.nsupdate.info";
|
domain = "cache.nsupdate.info";
|
||||||
@ -17,9 +17,13 @@ in {
|
|||||||
};
|
};
|
||||||
krebs.cachecache = {
|
krebs.cachecache = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableSSL = false; # disable letsencrypt for testing
|
enableSSL = true; # disable letsencrypt for testing
|
||||||
cacheDir = "/var/cache/nix-cache-cache";
|
cacheDir = "/var/cache/nix-cache-cache";
|
||||||
maxSize = "10g";
|
maxSize = "10g";
|
||||||
|
indexFile = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/krebs/35c3-nixos-cache/master/index.html";
|
||||||
|
sha256 = "0n9lji4rpi2wpfik3dvl92mmpfrywyp33iwsw7d8qmykk7l0hfp8";
|
||||||
|
};
|
||||||
|
|
||||||
# assumes that the domain is reachable from the internet
|
# assumes that the domain is reachable from the internet
|
||||||
virtualHost = domain;
|
virtualHost = domain;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, lib, ... }:
|
{ pkgs, config, lib, ... }:
|
||||||
|
|
||||||
|
|
||||||
# fork of https://gist.github.com/rycee/f495fc6cc4130f155e8b670609a1e57b
|
# fork of https://gist.github.com/rycee/f495fc6cc4130f155e8b670609a1e57b
|
||||||
@ -59,15 +59,6 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# webRoot = mkOption {
|
|
||||||
# type = types.str;
|
|
||||||
# default = "/";
|
|
||||||
# description = ''
|
|
||||||
# Directory on virtual host that serves the cache. Must end in
|
|
||||||
# <literal>/</literal>.
|
|
||||||
# '';
|
|
||||||
# };
|
|
||||||
|
|
||||||
resolver = mkOption {
|
resolver = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
description = "Address of DNS resolver.";
|
description = "Address of DNS resolver.";
|
||||||
@ -82,6 +73,13 @@ in
|
|||||||
Where nginx should store cached data.
|
Where nginx should store cached data.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
indexFile = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
default = pkgs.writeText "myindex" "<html>hello world</html>";
|
||||||
|
description = ''
|
||||||
|
Path to index.html file.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
maxSize = mkOption {
|
maxSize = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
@ -98,6 +96,7 @@ in
|
|||||||
systemd.services.nginx.preStart = ''
|
systemd.services.nginx.preStart = ''
|
||||||
mkdir -p ${cfg.cacheDir} /srv/www/nix-cache-cache
|
mkdir -p ${cfg.cacheDir} /srv/www/nix-cache-cache
|
||||||
chmod 700 ${cfg.cacheDir} /srv/www/nix-cache-cache
|
chmod 700 ${cfg.cacheDir} /srv/www/nix-cache-cache
|
||||||
|
ln -fs ${cfg.indexFile} /srv/www/nix-cache-cache/index.html
|
||||||
chown ${nginxCfg.user}:${nginxCfg.group} \
|
chown ${nginxCfg.user}:${nginxCfg.group} \
|
||||||
${cfg.cacheDir} /srv/www/nix-cache-cache
|
${cfg.cacheDir} /srv/www/nix-cache-cache
|
||||||
'';
|
'';
|
||||||
@ -143,6 +142,7 @@ in
|
|||||||
locations."/" =
|
locations."/" =
|
||||||
{
|
{
|
||||||
root = "/srv/www/nix-cache-cache";
|
root = "/srv/www/nix-cache-cache";
|
||||||
|
index = "index.html";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
expires max;
|
expires max;
|
||||||
add_header Cache-Control $nix_cache_cache_header always;
|
add_header Cache-Control $nix_cache_cache_header always;
|
||||||
|
Loading…
Reference in New Issue
Block a user