62 lines
1.6 KiB
Bash
62 lines
1.6 KiB
Bash
#!/hint/bash -euE
|
|
# Copyright (C) 2024 Umorpha Systems
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
load_module "$(dirname -- "${BASH_SOURCE[0]}")/base-nginx.sh"
|
|
|
|
post_install+=(20:avatard:post_install)
|
|
avatard:post_install() {
|
|
local arg_mountpoint=$1
|
|
|
|
install -Dm644 /dev/stdin "$arg_mountpoint/etc/nginx/sites/avatars.conf" <<-'EOF'
|
|
# -*- mode: nginx; nginx-indent-level: 4; intent-tabs-mode: nil -*-
|
|
server {
|
|
server_name avatars.mothstuff.lol;
|
|
include /etc/nginx/snippets/listen.conf;
|
|
error_log /var/log/nginx/main-error.http.avatars.mothstuff.lol.log error;
|
|
|
|
location / {
|
|
proxy_pass http://unix:/run/avatard.socket;
|
|
}
|
|
}
|
|
EOF
|
|
|
|
install -Dm644 /dev/stdin "$arg_mountpoint/etc/sysusers.d/avatard.conf" <<-'EOF'
|
|
u avatard - "avatard user"
|
|
EOF
|
|
|
|
install -Dm644 /dev/stdin "$arg_mountpoint/etc/systemd/system/avatard.socket" <<-'EOF'
|
|
# Copyright (C) 2024 Umorpha Systems
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
[Unit]
|
|
Description=Umorpha profile-pic server socket
|
|
|
|
[Socket]
|
|
ListenStream=/run/avatard.socket
|
|
SocketUser=http
|
|
SocketGroup=http
|
|
SocketMode=0600
|
|
|
|
[Install]
|
|
WantedBy=sockets.target
|
|
EOF
|
|
|
|
install -Dm644 /dev/stdin "$arg_mountpoint/etc/systemd/system/avatard.service" <<-'EOF'
|
|
# Copyright (C) 2024 Umorpha Systems
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
[Unit]
|
|
Description=Umorpha profile-pic server process
|
|
|
|
[Service]
|
|
User=avatard
|
|
Group=avatard
|
|
Type=simple
|
|
ExecStart=/usr/bin/avatard --apikey-file=/etc/umorpha-secrets/avatard-apikey.txt --socket=fd:systemd
|
|
Restart=always
|
|
EOF
|
|
|
|
systemctl --root="$arg_mountpoint" enable avatard.socket
|
|
}
|