caddy-docker-proxy
Portainer
Our great sponsors
caddy-docker-proxy | Portainer | |
---|---|---|
54 | 336 | |
2,348 | 28,736 | |
- | 1.8% | |
7.6 | 9.8 | |
8 days ago | about 9 hours ago | |
Go | TypeScript | |
MIT License | zlib License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
caddy-docker-proxy
- Caddy-Docker-Proxy: Caddy as a Reverse Proxy for Docker
-
Self-Hosted Is Awesome
https://github.com/lucaslorentz/caddy-docker-proxy
It handles the routing to multiple dockerized projects on one server, by scanning docker compose files for labels and automatically setting up the required caddy configuration.
-
Keycloak SSO with Docker Compose and Nginx
My go to is always this instead:
https://github.com/lucaslorentz/caddy-docker-proxy
Single label to a docker container and with correct DNS you’ll have an automatically managed certificate right away.
-
Working on Multiple Web Projects with Docker Compose and Traefik
I have had a great experience with using this: https://github.com/lucaslorentz/caddy-docker-proxy
It combines caddy with docker-compose labels, making it super easy to spin up new projects that can immediately be exposed.
-
Caddy is the first and only web server to use HTTPS automatically and by default
If you want a slightly heavier but more robust solution, caddy-docker-proxy[0] is a plugin that listens to the Docker socket and automatically updates the Caddy configuration based on Docker labels you add to containers.
I.e. it makes Caddy act a bit more like Traefik. Most of the time, you'll just add the label `caddy.reverse_proxy={{upstreams http 8080}}` to your containers and the plugin will regenerate Caddy's configuration whenever the container is modified.
-
Nginx Development Guide
I disagree, Caddy works great in Docker. See https://caddyserver.com/docs/running#docker-compose, and CDP is a project that autoconfigures Caddy from labels https://github.com/lucaslorentz/caddy-docker-proxy. Regarding plugins, it's super simple to write a Dockerfile to add plugins, we ship a builder image variant that can be used to compile in any plugins you want.
-
How I run my servers
````
This way, Caddy will buffer the request and give 30 seconds for your new service to get online when you're deploying a new version.
Ideally, during deployment of a new version the new version should go live and healthy before caddy starts using it (and kills the old container). I've looked at https://github.com/Wowu/docker-rollout and https://github.com/lucaslorentz/caddy-docker-proxy but haven't had time to prioritize it yet.
-
Which reverse proxy are you using?
Docker labels support is available via a plugin https://github.com/lucaslorentz/caddy-docker-proxy
-
My repository of the week: NGINX Proxy - Automated nginx for your containers
Or caddy-docker-proxy: https://github.com/lucaslorentz/caddy-docker-proxy
-
Caddy Repository from Lucas lorentz cant use Caddyfile?
I am trying now for some Days to use a Caddyfile additionaly to the auto generated files from lucas lorentzes caddy repositroy. https://github.com/lucaslorentz/caddy-docker-proxy
Portainer
-
Runtipi: Docker-Based Home Server Management
> Any tips on the minimum hardware or VPS's needed to get a small swarm cluster setup?
From my testing, Docker Swarm is very lightweight, uses less memory than both Hashicorp Nomad and lightweight Kubernetes distros (like K3s). Most of the resource requirements will depend on what containers you actually want to run on the nodes.
You might build a cluster from a bunch of Raspberry Pis, some old OptiPlex boxes or laptops, or whatever you have laying around and it's mostly going to be okay. On a practical level, anything with 1-2 CPU cores and 4 GB of RAM will be okay for running any actually useful software, like a web server/reverse proxy, some databases (PostgreSQL/MySQL/MariaDB), as well as either something for a back end or some pre-packaged software, like Nextcloud.
So, even 5$/month VPSes are more than suitable, even from some of the more cheap hosts like Hetzner or Contabo (though the latter has a bad rep for limited/no support).
That said, you might also want to look at something like Portainer for a nice web based UI, for administering the cluster more easily, it really helps with discoverability and also gives you redeploy web hooks, to make CI easier: https://www.portainer.io/ (works for both Docker Swarm as well as Kubernetes, except the Kubernetes ingress control was a little bit clunky with Traefik instead of Nginx)
- Cómo instalar Docker CLI en Windows sin Docker Desktop y no morir en el intento
-
Setup Portainer for Server App
In this section, we will add Portainer to help us in managing our Docker containers. You can find more details about it here. To integrate Portainer into our EC2 project, we can follow these steps:
-
Old documentation url on Github issues gives ERR_TOO_MANY_REDIRECTS.
Git issues pointing to: https://docs.portainer.io/v/ce-2.9/start/install/agent/swarm/linux gives a ERR_TOO_MANY_REDIRECTS.
-
Docker CI/CD with multiple docker-compose files.
I am currently running Portainer, but webhooks (GitOps) appear to be broken ( [2.19.0] GitOps Updates not automatically polling from git · Issue #10309 · portainer/portainer · GitHub ) and so I cannot send webhook to redeploy a stack. So, looking for alternatives. Using this as a good excuse to learn more about docker and CI/CD etc.
-
Ask HN: How do you manage your “family data warehouse”?
A Synology NAS running Portainer (https://www.portainer.io/) running Paperless NGX (https://github.com/paperless-ngx/paperless-ngx)
This works better than I can possibly tell you.
I have an Epson WorkForce ES-580W that I bought when my mother passed away to bulk scan documents and it scans everything, double-sided if required, multi-page PDFs if required, at very high speed and uploads everything to OneDrive, at which point I drag and drop everything into Paperless.
I could, thinking about it, have the scanner email stuff to Paperless. Might investigate that today.
Paperless will OCR it and make it all searchable. This setup is amazing, I love living in the future.
-
Bare-Metal Kubernetes, Part I: Talos on Hetzner
> I've come to the conclusion (after trying kops, kubespray, kubeadm, kubeone, GKE, EKS) that if you're looking for < 100 node cluster, docker swarm should suffice. Easier to setup, maintain and upgrade.
Personally, I'd also consider throwing Portainer in there, which gives you both a nice way to interact with the cluster, as well as things like webhooks: https://www.portainer.io/
With something like Apache, Nginx, Caddy or something else acting as your "ingress" (taking care of TLS, reverse proxy, headers, rate limits, sometimes mTLS etc.) it's a surprisingly simple setup, at least for simple architectures.
-
What are some of your fav panels and why?
casaos it just makes things like backups, offsite syncing and many other nas related things so much easier to manage. And gives you a proper nas like experience similar to that in which you'd fine on companies like tnas or synology. I actually also use it as a replacement for portainer when i don't need the more advanced features it offers
-
Kubernetes Exposed: One YAML Away from Disaster
> I moved to docker swarm and love it. It's so much easier, straight forward, automatic ingress network and failover were all working out of the box. I'll stay with swarm for now.
I've had decent luck in the past with the K3s distribution, which is a bit cut down Kubernetes: https://k3s.io/
It also integrates nicely with Portainer (aside from occasional Traefik ingress weirdness sometimes), which I already use for Swarm and would suggest to anyone that wants a nice web based UI: https://www.portainer.io/
Others might also mention K0s, MicroK8s or others - there's lots of options there. But even so, I still run Docker Swarm for most of my private stuff as well and it's a breeze.
For my needs, it has just the right amount of abstractions: stacks with services that use networks and can have some storage in the form of volumes or bind mounts. Configuration in the form of environment variables and/or mounted files (or secrets), some deployment constraints and dependencies sometimes, some health checks and restart policies, as well as resource limits.
If I need a mail server, then I just have a container that binds to the ports (even low port numbers) that I need and configure it. If I need a web server, then I can just run Apache/Nginx/Caddy and use more or less 1:1 configuration files that I'd use when setting up either outside of containers, but with the added benefit of being able to refer to other apps by their service names (or aliases, if they have underscores in the names, which sometimes isn't liked).
At a certain scale, it's dead simple to use - no need for PVs and PVCs, no need for Ingress and Service abstractions, or lots and lots of templating that Helm charts would have (although those are nice in other ways).
-
What kind of Alpine user are you?
The control panel is called Homepage. I like it more than Heimdall. To manage Docker I use Portainer.
What are some alternatives?
Nginx Proxy Manager - Docker container for managing Nginx proxy hosts with a simple, powerful interface
Yacht - A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for.
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
swarmpit - Lightweight mobile-friendly Docker Swarm management UI
traefik - The Cloud Native Application Proxy
podman - Podman: A tool for managing OCI containers and pods.
jellyfin-media-player - Jellyfin Desktop Client based on Plex Media Player
OpenMediaVault - openmediavault is the next generation network attached storage (NAS) solution based on Debian Linux. Thanks to the modular design of the framework it can be enhanced via plugins. openmediavault is primarily designed to be used in home environments or small home offices.
docker-pi-hole - Pi-hole in a docker container
CasaOS - CasaOS - A simple, easy-to-use, elegant open-source Personal Cloud system.
docker-swag - Nginx webserver and reverse proxy with php support and a built-in Certbot (Let's Encrypt) client. It also contains fail2ban for intrusion prevention.
podman-compose - a script to run docker-compose.yml using podman