57 lines
1.5 KiB
Bash
57 lines
1.5 KiB
Bash
#!/hint/bash -euE
|
|
# Copyright (C) 2023-2024 Umorpha Systems
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
packages+=(nginx)
|
|
|
|
post_install+=(20:nginx:post_install) # must be before '30:certbot:post_install'
|
|
nginx:post_install() {
|
|
local arg_mountpoint=$1
|
|
|
|
install -Dm644 /dev/stdin "$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/main-error.log error;
|
|
|
|
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
http {
|
|
error_log /var/log/nginx/main-error.http.log error;
|
|
access_log /var/log/nginx/main-access.http.log combined;
|
|
|
|
types_hash_max_size 4096;
|
|
include mime.types;
|
|
default_type application/octet-stream;
|
|
|
|
sendfile on;
|
|
keepalive_timeout 65;
|
|
|
|
gzip on;
|
|
|
|
root /var/empty;
|
|
access_log /var/log/nginx/main-access.http.$server_name.log combined;
|
|
|
|
include /etc/nginx/sites/*.conf;
|
|
}
|
|
EOF
|
|
|
|
install -Dm644 /dev/stdin "$arg_mountpoint/etc/nginx/snippets/listen.conf" <<-'EOF'
|
|
# -*- mode: nginx -*-
|
|
listen 80;
|
|
listen [::]:80;
|
|
EOF
|
|
|
|
# The per-$server_name access log files are created by worker
|
|
# process' `http` user, not the master process' `root` user,
|
|
# so we need to give that user permission to create them.
|
|
install -Dm644 /dev/stdin "$arg_mountpoint/etc/tmpfiles.d/nginx.conf" <<-'EOF'
|
|
z /var/log/nginx 0775 - http
|
|
EOF
|
|
|
|
systemctl --root="$arg_mountpoint" enable nginx.service
|
|
}
|