Giter VIP home page Giter VIP logo

Comments (8)

nixberg avatar nixberg commented on August 26, 2024 2

To set the record straight, I’ve rebuilt the snap whenever there was a new version of caddy or go, the edge channel was always up to date. That one release on stable was unintentional, I’ve removed it now.

That said, I'd be happy to pass the baton to @mholt!

from caddy.

nixberg avatar nixberg commented on August 26, 2024 1

Caddy 2 might require some adjustments, too.

The snap builds Caddy 2 now.

So, the snap should probably offer a non-daemon caddy command

Done.

from caddy.

mholt avatar mholt commented on August 26, 2024 1

Thank you @nixberg!

I'll ask our dist team if anyone wants to adopt this snap.

from caddy.

mholt avatar mholt commented on August 26, 2024

I would also like to see a maintained snap. We are willing to maintain an official one.

from caddy.

mholt avatar mholt commented on August 26, 2024

We'd be happy to adopt it, I just don't know how to do it. Any way we can gradually bring it in as an official distribution? https://github.com/caddyserver/dist

from caddy.

popey avatar popey commented on August 26, 2024

@nixberg apologies if I came over as brash. Not my intention. I do appreciate the work you've done so far, so thank you.

If you do wish to hand the snap over the steps are as follows:

  • Construct a PR against upstream to add snapcraft support
  • (upstream) Create an account in the snap store at https://snapcraft.io/snaps
  • Start a thread at the snapcraft forum in the store requests category asking to transfer the snap
  • (upstream) once done, setup travis, your own CI system or https://build.snapcraft.io to auto-build and publish to the store.

Happy to help at any stage.

from caddy.

mholt avatar mholt commented on August 26, 2024

Great, thank you! I or another maintainer will revisit this as soon as possible (we're a bit swamped right now). Would either of you like to become maintainers of the official snap? If so, I can invite you to our development Slack to help coordinate.

from caddy.

nixberg avatar nixberg commented on August 26, 2024

I'd rather hand over maintainership, tbh.


As for building the snap, the straightforward thing would be a copy of this repo (say, caddyserver/caddy-snap) connected to build.snapcraft.io. The release process would then look something like this:

  • Push version string update, triggering the build service.
  • Promote snap from edge to stable channel.

It should be possible to integrate this snap into caddyserver/dist if desired.


Snaps also do runtime management; some changes will be necessary there.

The snap as is specifies a single caddy service, which makes a fine reverse proxy and is likely what many users expect from a caddy snap. However, since services run as isolated root, things get a bit ugly when you want some kind of /var/www. The natural but not at all obvious location for that would be $SNAP_COMMON (I think) but since there’s no group support yet (?), everything in there has to be owned by root, which ends up being pretty annoying. I expect @popey knows more about this issue.

One might want to run more than one service instance. I'm not sure whether snaps support that use case or ever will.

So, the snap should probably offer a non-daemon caddy command, to be run as user or via systemd. That should be simple enough but there might yet be issues with the sandboxing.

Caddy 2 might require some adjustments, too.

from caddy.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.