Caddy is a powerful, enterprise-ready, open source web server with
automatic HTTPS written in Go.
This command line tool and associated Go package makes it easy to
make custom builds of the Caddy Web Server.
There is an rc(8) script in /usr/ports/www/xcaddy/files/caddy that
you can put in /usr/local/etc/rc.d/ if you want. The caddy-custom
port (/usr/ports/www/caddy-custom) can build a custom caddy for
you using xcaddy.
www/xcaddy: Fix hardcoded go command
Replace hardcoded "go" command with ${GO_CMD} to properly use the
correct Go version from the ports framework.
PR: 287907
www/xcaddy: update to 0.4.4, modernize port, add security warning
- Convert from GH_TUPLE to GO_MODULE for cleaner dependency management
- Use USES=go:modules,run to properly handle runtime Go dependency
- Add pkg-message warning about security implications of running
Caddy servers as root, with instructions for secure deployment
- Remove PORTREVISION (reset on version update)
xcaddy builds custom Caddy web servers which often need to bind to
privileged ports. Users should be aware of the security implications
and run their custom Caddy builds as unprivileged users with portacl-rc
for port binding capabilities.
PR: 279391
Reported by: Robert William Vesterman
go: Bump go124-dependent ports
Earlier I bumped the default Go to 1.24. Ports that specify a lower
version will still build with those lower version (for now), so they
don't need a bumping. Instead I'm bumping anything that (now) has go124
as a dependency.
www/xcaddy: add missing RUN_DEPENDS on lang/go.
xcaddy uses go to build custom releases of caddy, so it actually needs
it at runtime.
PR: 279358
Reported by: Robert William Vesterman <bob@vesterman.com>
www/(x)caddy: Fix rc(8) script
rc.subr(8) needs $command to be set or it can't inspect the pidfile.
Without it, rc.d/caddy never believes that caddy is running which
impedes stopping.
Thanks to scf for figuring out what was going wrong here.
www/xcaddy: Add rc(8) script
Bring in the rc(8) script from caddy to xcaddy so that xcaddy users
can control caddy like an adult.
Add CONFLICTS between xcaddy and caddy because they now install the
same rc(8) script. There's no reason to change the install path here
because, as olgeni put it, "xcaddy with plugins is more caddy than
caddy".
Suggested by: bdrewery
Approved by: olgeni (xcaddy maintainer)
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
www/xcaddy: add port
This command line tool and associated Go package makes it easy to
make custom builds of the Caddy Web Server.
Custom caddy builds are required to activate 3rd party plugins.
The resulting 'caddy' executable is not part of the package, and
you will have to manage it on your own.