docker-rollout
caddy-docker-proxy
docker-rollout | caddy-docker-proxy | |
---|---|---|
9 | 54 | |
2,093 | 2,358 | |
- | - | |
6.2 | 7.4 | |
29 days ago | 9 days ago | |
Shell | Go | |
MIT License | MIT 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.
docker-rollout
-
Show HN: Deploy highly available infra to EC2 with Docker-compose and CDK
I created a CDK deploy that uses docker-rollout [1][2] to deploy highly available infrastructure to EC2 using only autoscaling groups. It is not super polished but it is a complete example, so it could be useful if you are considering hosting on EC2. Rolling out deploys involves updating one file on S3 and running one script.
Ironically after all that setup, I decided to give Linode with k8s a try [3] :-) (due to aws' high costs of egress and NAT gws / IPv4 tax on AWS, and the fact that some apps that I want to run are easier to deploy with helm).
More notes:
* I did try ECS and Fargate, which are nice, but also come with associated costs and a bunch of complexity. At that point, I rather spend time directly with k8s, which should make my localhost parity way higher, and hosting somewhere more affordable.
* I tried both Pulumi and Terraform. I have mixed feelings about them. I ended up using CDK because it _felt_ like the nicer development experience (except when CloudFormation fails and it kind of hides the reason why, sigh ... fishing for logs on CloudWatch is such a drag!).
* I tried to add some NACL rules since I ended up running the thing on a public VPC. I couldn't make it work but at that time I had already decided to host elsewhere so I left it like that :-). I did succeed on adding support for AWS WAF. Sadly, the cdk currently doesn't have high level support for WAF so it was not as nice to setup.
--
1: https://github.com/Wowu/docker-rollout
2: https://news.ycombinator.com/item?id=34690947
3: https://medium.com/@elliotgraebert/comparing-the-top-eight-m...
-
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.
- Zero-downtime deployment tool for web apps (created by DHH, creator of Rails)
- docker rollout - Zero Downtime Deployment for docker-compose
- Show HN: Docker rollout – Zero Downtime Deployment for Docker-compose
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.
[0] https://github.com/lucaslorentz/caddy-docker-proxy
-
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
What are some alternatives?
mypaas - Run your own PaaS using Docker, Traefik, and great analytics
Nginx Proxy Manager - Docker container for managing Nginx proxy hosts with a simple, powerful interface
susam.net - Source code of https://susam.net/
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Moby - The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems
traefik - The Cloud Native Application Proxy
etsd - Transmit sensitive data encrypted across your organization!
Portainer - Making Docker and Kubernetes management easy.
ts-neural-network - A neural network to play with
jellyfin-media-player - Jellyfin Desktop Client based on Plex Media Player
securestore-rs - A simple, encrypted, git-friendly, file-backed secrets manager for rust
docker-pi-hole - Pi-hole in a docker container