2024-01-06 01:19:35 +01:00
|
|
|
# SPDX-FileCopyrightText: 2021-2022 Simon Bruder <simon@sbruder.de>
|
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
|
2021-12-11 20:28:44 +01:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
|
|
domain = "schulischer-schabernack.de";
|
|
|
|
in
|
|
|
|
{
|
|
|
|
services.nginx = {
|
|
|
|
commonHttpConfig = ''
|
|
|
|
# privacy-aware log format
|
|
|
|
log_format schabernack '$remote_addr_schabernack - - [$time_local] "$request" $status $body_bytes_sent "-" "$http_user_agent"';
|
|
|
|
|
|
|
|
# anonymise ip address
|
|
|
|
map $remote_addr $remote_addr_schabernack {
|
|
|
|
~(?P<ip>\d+\.\d+)\. $ip.0.0;
|
|
|
|
~(?P<ip>[^:]+:[^:]+): $ip::;
|
|
|
|
default 0.0.0.0;
|
|
|
|
}
|
|
|
|
'';
|
|
|
|
|
|
|
|
virtualHosts = {
|
|
|
|
${domain} = {
|
|
|
|
forceSSL = true;
|
|
|
|
enableACME = true;
|
|
|
|
|
2022-04-09 10:10:08 +02:00
|
|
|
root = "/var/www/schabernack";
|
2021-12-11 20:28:44 +01:00
|
|
|
|
|
|
|
# only log page views, rss feed access, media file download and embed views
|
|
|
|
extraConfig = ''
|
|
|
|
location ~ index\.html|rss\.xml|\.(opus|m4a|ogg|mp3|\.podlove.json)$ {
|
|
|
|
access_log /var/log/nginx/schabernack.log schabernack;
|
|
|
|
}
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
"www.${domain}" = {
|
|
|
|
forceSSL = true;
|
|
|
|
enableACME = true;
|
|
|
|
globalRedirect = domain;
|
|
|
|
|
|
|
|
extraConfig = ''
|
|
|
|
access_log off;
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|