# Copyright (C) 2026 Doan Luu Duc Tai # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . (https_security) { header >Strict-Transport-Security "max-age=31536000" } luuduct.ai { import https_security handle /.well-known/openpgpkey/* { root * /srv header Content-Type application/octet-stream file_server } handle { redir https://doan.luuduct.ai{uri} permanent } } www.luuduct.ai { import https_security redir https://doan.luuduct.ai{uri} permanent } doan.luuduct.ai { import https_security root * /srv file_server redir /git /git/ handle /cgit* { reverse_proxy cgit:8080 } handle /git/* { reverse_proxy cgit:8080 } } openpgpkey.luuduct.ai { import https_security handle /.well-known/openpgpkey/* { root * /srv header Content-Type application/octet-stream file_server } } git.doan.luuduct.ai { import https_security redir /{path}.git /{path} permanent reverse_proxy cgit:8080 } search.doan.luuduct.ai { import https_security reverse_proxy searxng:8080 } www.doan.luuduct.ai { import https_security redir https://doan.luuduct.ai{uri} permanent } www.git.doan.luuduct.ai { import https_security redir https://git.doan.luuduct.ai{uri} permanent } www.search.doan.luuduct.ai { import https_security redir https://search.doan.luuduct.ai{uri} permanent } www.openpgpkey.luuduct.ai { import https_security redir https://openpgpkey.luuduct.ai{uri} permanent }