umorpha-boxes/modules/base-nginx.sh

51 lines
1.2 KiB
Bash

#!/hint/bash -euE
# Copyright (C) 2023 Umorpha Systems
# SPDX-License-Identifier: AGPL-3.0-or-later
packages+=(nginx)
post_install+=(05:nginx:post_install) # must be before '10:certbot:post_install'
nginx:post_install() {
local arg_mountpoint=$1
cat >"$arg_mountpoint/etc/nginx/nginx.conf" <<-'EOF'
# -*- mode: nginx; nginx-indent-level: 4; intent-tabs-mode: nil -*-
worker_processes 1;
error_log /var/log/nginx/error.log error;
events {
worker_connections 1024;
}
http {
error_log /var/log/nginx/http.error.log error;
access_log /var/log/nginx/http.access.log combined;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
root /srv/http/$server_name;
include /etc/nginx/sites/*.conf;
}
EOF
install -Dm644 /dev/stdin "$arg_mountpoint/etc/nginx/snippets/listen.conf" <<-'EOF'
# -*- mode: nginx -*-
listen 80;
listen [::]:80;
error_log /var/log/nginx/http.$server_name.error.log error;
access_log /var/log/nginx/http.$server_name.access.log combined;
EOF
systemctl --root="$arg_mountpoint" enable nginx.service
}