Page MenuHomeSolus

Closed, ResolvedPublic


Name: caddy
Open Source: yes
Licence: Apache-2.0
Link to source tarball:
Description: "Caddy is a general-purpose web server for Windows, Mac, Linux, BSD, and Android. It is a capable but easier alternative to other popular web servers."

I use caddy on all my personal websites because it can do automatic HTTPS via Let's Encrypt. Caddy obtains and manages all cryptographic assets by itself and completely automatic. Also it's lightweight and easy to use. I'd like it in Solus because I also use it for developing my sites.

Thank you. :)

Related Objects


Event Timeline

Trillon008 edited projects, added Patch Submission; removed Package Requests.EditedFeb 1 2017, 11:10 AM
Trillon008 added a subscriber: Trillon008.

Never tried packaging a go software. But why did I choose a web server. Erf...
For the package team this is what I did

  • Used Docker and Hugo as example
  • Created a systemd user and group
  • Created special log directory in var log
  • Created directory for the program to launch in run (by default caddy goes on a tmpfs /var/tmp)
  • Modified systemd file followind these changes
  • Added a minimal conf file
  • Was wondering why there is no go build part and we use directly binary version

DataDrake added a subscriber: DataDrake.


  1. Don't change the project tags. You should be creating a new task for the Patch Submission and then linking it as a child task of this task when submitting patches.
  2. This has not been accepted so you shouldn't be writing patches for it.
  3. If it were accepted, I would tell you that you should be building this from source, not scraping a pre-built version.


1 - Noted. Will do when point 2 is ok.
3 - Yes and that's why I was wandering if there is a golang macro (didn't find one). And as I said, I used docker and hugo as example and one of them is using pre-built version.
hugo link in package leads to a binary but not in docker.
We have something inconsistant here.

Waiting for your lead here.

DataDrake triaged this task as Normal priority.Feb 2 2017, 4:25 AM
DataDrake moved this task from Backlog to Accepted For Inclusion on the Package Requests board.
DataDrake added a subscriber: JoshStrobl.

There is no golang macro because the build process hasn't been standardized yet in the Go community. I'm going to have to poke @JoshStrobl and find out why he decided to repackage the binary. We should be building from source whenever possible.

Hugo is no longer a binary package. At the time of inclusion it wasn't viable for it to be built from source. Please build from source (and provide the patch as a separate Package Submission task).

curantes claimed this task.Mar 1 2017, 10:58 PM
curantes created subtask T2765: caddy.
curantes changed the task status from Open to In Progress.Mar 1 2017, 11:00 PM
Herald closed subtask T2765: caddy as Invalid.May 7 2017, 2:30 PM

Seems like the developers themselves don't know how to package caddy... it looks cool, but you have to decide which plugins to include when compiling and since I never used it I don't know which are essential.

So Fedora now has an unofficial Caddy package, but I am still unsure about the choice of plugins:
They build with:

  • http.realip
  • tls.dns.cloudflare
  • tls.dns.digitalocean
  • tls.dns.dyn
  • tls.dns.gandi
  • tls.dns.namecheap
  • tls.dns.rackspace
  • tls.dns.rfc2136

Are they enough? Are they too much? I still have no idea and need the input of regular Caddy users.

DataDrake removed curantes as the assignee of this task.Jun 16 2018, 11:58 PM
DataDrake added a subscriber: curantes.
JoshStrobl closed this task as Wontfix.Jun 25 2018, 8:02 PM
JoshStrobl claimed this task.
JoshStrobl added a project: Needs Maintainer.

This has sat in accepted for inclusion for over a year now. Clearly, there is a lack of demand for the inclusion of this software, nobody has stepped up to provide and complete a patch, maintain it, and properly integrate it. Closing as a result. Feel free to reopen but only when someone offers a patch via our proper patch submission methods and volunteers to be maintainer.

+1 for caddy! Is there an easy to use alternative to caddy in the Solus repo that I can use?

Sure, httpd or nginx.
Caddy is hard to package as I mentioned above. If you really want to use it just download & run it, there's no need for a package.

@der_eismann Thank you, I'll check them out. AFAIK there's no automatic enablement and auto-renewal of SSL certificates though.

That's possible in theory via mod_md for Apache, although our version doesn't offer it yet. The main problem is the variety of plugins - even the download page says

Only choose plugins you trust

So what plugins do we trust? What plugins are needed by our users? Or do we ship it without any plugins?
And since nobody answered these questions for almost a year it seems like the demand is pretty low. Apart from that it's pretty easy to just download it from their website and run it.

Regarding plugins I'd only say as much as don't trust any plugin as long as you didn't enable it yourself.

Matf added a subscriber: Matf.Jan 14 2021, 2:04 PM

Interested in caddy too, I recently migrated from nginx to caddy on my Debian server and was impressed by the simplicity and possibilities in config files. I see above that it is not easy to package, but maybe things have changed regarding plugins since 2018 since I think they moved to caddy v2 which is significantly different? In the mean time, I'll look into just downloading a binary for my machine.