add caddy

add caddy-git
This commit is contained in:
bgme 2023-05-20 01:02:23 +08:00
parent 285e832bda
commit 6e40671010
12 changed files with 340 additions and 0 deletions

1
repo/caddy-git/Caddyfile Symbolic link
View file

@ -0,0 +1 @@
../caddy/Caddyfile

108
repo/caddy-git/PKGBUILD Normal file
View file

@ -0,0 +1,108 @@
# Base on https://github.com/archlinux/svntogit-packages/tree/packages/bash/trunk
# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Christian Rebischke <chris.rebischke@archlinux.org>
# Contributor: Wei Congrui < crvv.mail at gmail dot com >
# Contributor: Carl George < arch at cgtx dot us >
# Contributor: Eric Engeström <eric at engestrom dot ch>
# Contributor: Andreas Linz <klingt.net at gmail dot com>
# Contributor: Akshay S Dinesh <asdofindia at gmail dot com>
pkgname=caddy-git
pkgver=2.7.0.beta.1
pkgrel=3
pkgdesc='Fast web server with automatic HTTPS'
url='https://caddyserver.com'
arch=('x86_64')
license=('Apache')
depends=('glibc')
makedepends=('go' 'git' 'gzip')
conflicts=('caddy')
provides=('caddy')
backup=('etc/caddy/Caddyfile')
source=(
caddy-git::"git+https://github.com/caddyserver/caddy.git"
caddy-dist::"git+https://github.com/caddyserver/dist.git"
forwardproxy::"git+https://github.com/klzgrad/forwardproxy.git"
main.go
caddy.sysusers
caddy.tmpfiles
Caddyfile
)
sha512sums=(
'SKIP'
'SKIP'
'SKIP'
'aa9fefd87c87e3a120af66fcd745448831b99baab9b795a35544a752147422920d200e4c0ea9d0ceb0880f80e01c351522209fbcfce0d5b7d7cac940565755a3'
'c893d88fec89e37da6596030c8dce7103e7e575371e8542a24d2a0741e877358d85219f2d8ade9d6aa0f515efe1156a4badd9fef5f65f553a5b0c72330c4728f'
'55ee8d3f8b14f9adddc7a1026addcea4f85b4bae4cd512fd4da2a5e8adaae4b6fd0f486d2e3847f75518f4710a897b4fca84e48ee15700b968bad762125c4742'
'716da3f4edeb3561243aeaf5c32b01ff7a4ac810b6deba8364fb12a1f71b6a5278c34a97b289bcfdc48784679b942bf780f1f36d416a575791168c94b0d59fe0'
)
pkgver() {
cd "${pkgname}-git"
git describe --tags --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-\([^-]*\)-\([^-]*\)$/.\1.\2/;s/-//'
}
prepare() {
pushd "${pkgname}-git"
_gitcommit=$(git rev-parse HEAD)
popd
mkdir ${pkgname}
cd ${pkgname}
cp ../main.go .
go mod init caddy
sed -i -e '$a replace github.com/caddyserver/forwardproxy => ../forwardproxy' go.mod
go get github.com/caddyserver/caddy/v2@${_gitcommit}
go mod tidy
# welcome page
cp ../caddy-dist/welcome/index.html .
sed 's|/var/www/html|/srv/http|g' -i index.html
}
build() {
cd ${pkgname}
export CGO_LDFLAGS="${LDFLAGS}"
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
go build .
for i in zsh bash fish; do
./caddy completion $i >caddy.$i
done
./caddy manpage --directory manpages
gzip manpages/*
}
check() {
cd "${pkgname}"
./caddy version
./caddy build-info
./caddy list-modules
}
package() {
cd "${pkgname}"
install -Dm 755 caddy -t "${pkgdir}/usr/bin"
install -Dm 644 "${srcdir}/caddy-dist/init/caddy.service" "${srcdir}/caddy-dist/init/caddy-api.service" -t "${pkgdir}/usr/lib/systemd/system"
install -Dm 644 "${srcdir}/caddy.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/caddy.conf"
install -Dm 644 "${srcdir}/caddy.sysusers" "${pkgdir}/usr/lib/sysusers.d/caddy.conf"
install -Dm 644 "${srcdir}/Caddyfile" -t "${pkgdir}/etc/caddy"
install -d "${pkgdir}/etc/caddy/conf.d"
install -Dm 644 index.html "${pkgdir}/usr/share/caddy/index.html"
install -Dm 644 caddy.zsh "${pkgdir}/usr/share/zsh/site-functions/_caddy"
install -Dm 644 caddy.bash "${pkgdir}/usr/share/bash-completion/completions/caddy"
install -Dm 644 caddy.fish -t "${pkgdir}/usr/share/fish/vendor_completions.d"
install -Dm 644 manpages/* -t "${pkgdir}/usr/share/man/man8"
}
# vim: ts=2 sw=2 et:

View file

@ -0,0 +1 @@
../caddy/caddy.sysusers

View file

@ -0,0 +1 @@
../caddy/caddy.tmpfiles

14
repo/caddy-git/lilac.yaml Normal file
View file

@ -0,0 +1,14 @@
maintainers:
- github: yingziwu
email: i@bgme.me
build_prefix: extra-x86_64
pre_build: vcs_update
post_build: git_pkgbuild_commit
update_on:
- source: github
github: caddyserver/caddy
- source: vcs

1
repo/caddy-git/main.go Symbolic link
View file

@ -0,0 +1 @@
../caddy/main.go

40
repo/caddy/Caddyfile Normal file
View file

@ -0,0 +1,40 @@
# The Caddyfile is an easy way to configure your Caddy web server.
#
# https://caddyserver.com/docs/caddyfile
#
# The configuration below serves a welcome page over HTTP on port 80.
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace the line below with your
# domain name.
#
# https://caddyserver.com/docs/caddyfile/concepts#addresses
{
# Restrict the admin interface to a local unix file socket whose directory
# is restricted to caddy:caddy. By default the TCP socket allows arbitrary
# modification for any process and user that has access to the local
# interface. If admin over TCP is turned on one should make sure
# implications are well understood.
admin "unix//run/caddy/admin.socket"
}
http:// {
# Set this path to your site's directory.
root * /usr/share/caddy
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
# Or serve a PHP site through php-fpm:
# php_fastcgi localhost:9000
# Refer to the directive documentation for more options.
# https://caddyserver.com/docs/caddyfile/directives
}
# Import additional caddy config files in /etc/caddy/conf.d/
import /etc/caddy/conf.d/*

106
repo/caddy/PKGBUILD Normal file
View file

@ -0,0 +1,106 @@
# Base on https://github.com/archlinux/svntogit-packages/tree/packages/bash/trunk
# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Christian Rebischke <chris.rebischke@archlinux.org>
# Contributor: Wei Congrui < crvv.mail at gmail dot com >
# Contributor: Carl George < arch at cgtx dot us >
# Contributor: Eric Engeström <eric at engestrom dot ch>
# Contributor: Andreas Linz <klingt.net at gmail dot com>
# Contributor: Akshay S Dinesh <asdofindia at gmail dot com>
pkgname=caddy
pkgver=2.7.0.beta.1
_gitcommit=v2.7.0-beta.1
_distcommit=5ded5351fc9f6f35286e38c4552fc2d8b37f4df3
pkgrel=3
pkgdesc='Fast web server with automatic HTTPS'
url='https://caddyserver.com'
arch=('x86_64')
license=('Apache')
depends=('glibc')
makedepends=('go' 'git' 'gzip')
conflicts=('caddy-git')
provides=('caddy')
backup=('etc/caddy/Caddyfile')
source=(
caddy-git::"git+https://github.com/caddyserver/caddy#tag=${_gitcommit}"
caddy-dist::"git+https://github.com/caddyserver/dist#commit=${_distcommit}"
forwardproxy::"git+https://github.com/klzgrad/forwardproxy.git"
main.go
caddy.sysusers
caddy.tmpfiles
Caddyfile
)
sha512sums=(
'SKIP'
'SKIP'
'SKIP'
'aa9fefd87c87e3a120af66fcd745448831b99baab9b795a35544a752147422920d200e4c0ea9d0ceb0880f80e01c351522209fbcfce0d5b7d7cac940565755a3'
'c893d88fec89e37da6596030c8dce7103e7e575371e8542a24d2a0741e877358d85219f2d8ade9d6aa0f515efe1156a4badd9fef5f65f553a5b0c72330c4728f'
'55ee8d3f8b14f9adddc7a1026addcea4f85b4bae4cd512fd4da2a5e8adaae4b6fd0f486d2e3847f75518f4710a897b4fca84e48ee15700b968bad762125c4742'
'716da3f4edeb3561243aeaf5c32b01ff7a4ac810b6deba8364fb12a1f71b6a5278c34a97b289bcfdc48784679b942bf780f1f36d416a575791168c94b0d59fe0'
)
pkgver() {
cd "${pkgname}-git"
git describe --tags --match 'v*' | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
mkdir ${pkgname}
cd ${pkgname}
cp ../main.go .
go mod init caddy
sed -i -e '$a replace github.com/caddyserver/forwardproxy => ../forwardproxy' go.mod
go get github.com/caddyserver/caddy/v2@${_gitcommit}
go mod tidy
# welcome page
cp ../caddy-dist/welcome/index.html .
sed 's|/var/www/html|/srv/http|g' -i index.html
}
build() {
cd ${pkgname}
export CGO_LDFLAGS="${LDFLAGS}"
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
go build .
for i in zsh bash fish; do
./caddy completion $i >caddy.$i
done
./caddy manpage --directory manpages
gzip manpages/*
}
check() {
cd "${pkgname}"
./caddy version
./caddy build-info
./caddy list-modules
}
package() {
cd "${pkgname}"
install -Dm 755 caddy -t "${pkgdir}/usr/bin"
install -Dm 644 "${srcdir}/caddy-dist/init/caddy.service" "${srcdir}/caddy-dist/init/caddy-api.service" -t "${pkgdir}/usr/lib/systemd/system"
install -Dm 644 "${srcdir}/caddy.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/caddy.conf"
install -Dm 644 "${srcdir}/caddy.sysusers" "${pkgdir}/usr/lib/sysusers.d/caddy.conf"
install -Dm 644 "${srcdir}/Caddyfile" -t "${pkgdir}/etc/caddy"
install -d "${pkgdir}/etc/caddy/conf.d"
install -Dm 644 index.html "${pkgdir}/usr/share/caddy/index.html"
install -Dm 644 caddy.zsh "${pkgdir}/usr/share/zsh/site-functions/_caddy"
install -Dm 644 caddy.bash "${pkgdir}/usr/share/bash-completion/completions/caddy"
install -Dm 644 caddy.fish -t "${pkgdir}/usr/share/fish/vendor_completions.d"
install -Dm 644 manpages/* -t "${pkgdir}/usr/share/man/man8"
}
# vim: ts=2 sw=2 et:

View file

@ -0,0 +1 @@
u caddy - "caddy daemon" /var/lib/caddy

View file

@ -0,0 +1,3 @@
d /var/lib/caddy 0750 caddy caddy
d /var/log/caddy 0750 caddy caddy
d /run/caddy 0750 caddy caddy

12
repo/caddy/lilac.yaml Normal file
View file

@ -0,0 +1,12 @@
maintainers:
- github: yingziwu
email: i@bgme.me
build_prefix: extra-x86_64
pre_build: vcs_update
post_build: git_pkgbuild_commit
update_on:
- source: vcs

52
repo/caddy/main.go Normal file
View file

@ -0,0 +1,52 @@
// Copyright 2015 Matthew Holt and The Caddy Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Package main is the entry point of the Caddy application.
// Most of Caddy's functionality is provided through modules,
// which can be plugged in by adding their import below.
//
// There is no need to modify the Caddy source code to customize your
// builds. You can easily build a custom Caddy with these simple steps:
//
// 1. Copy this file (main.go) into a new folder
// 2. Edit the imports below to include the modules you want plugged in
// 3. Run `go mod init caddy`
// 4. Run `go install` or `go build` - you now have a custom binary!
//
// Or you can use xcaddy which does it all for you as a command:
// https://github.com/caddyserver/xcaddy
package main
import (
caddycmd "github.com/caddyserver/caddy/v2/cmd"
// plug in Caddy modules here
_ "github.com/caddyserver/caddy/v2/modules/standard"
_ "github.com/caddyserver/forwardproxy"
_ "github.com/mholt/caddy-ratelimit"
_ "github.com/caddyserver/replace-response"
_ "github.com/silinternational/certmagic-storage-dynamodb/v3"
_ "github.com/abiosoft/caddy-json-schema"
_ "github.com/fvbommel/caddy-combine-ip-ranges"
_ "github.com/fvbommel/caddy-dns-ip-range"
_ "github.com/WeidiDeng/caddy-cloudflare-ip"
_ "github.com/zhangjiayin/caddy-geoip2"
_ "github.com/corazawaf/coraza-caddy"
)
func main() {
caddycmd.Main()
}