htcpp
caddy-docker-proxy
htcpp | caddy-docker-proxy | |
---|---|---|
4 | 54 | |
10 | 2,378 | |
- | - | |
5.5 | 7.4 | |
about 1 year ago | 1 day ago | |
C++ | Go | |
- | 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.
htcpp
-
Caddy is the first and only web server to use HTTPS automatically and by default
I'm always a bit bothered by them saying they are the "only" web server that can do this. First you can also just configure it in a way where it will not use HTTPS (e.g. if you provide an IP:port instead of a hostname). And if you do require specific configuration to enable HTTPS and automatically get certificates via ACME, then lots of other web servers can do this too. Even my own web server can do it: https://github.com/pfirsich/htcpp (see https://github.com/pfirsich/htcpp/blob/main/configs/acme.jom... for an admittedly much more complicated config).
-
Introducing co-uring-http, an HTTP server built on C++ 20 coroutines and `io_uring`
Cool stuff! I am currently converting my io_uring based HTTP server (https://github.com/pfirsich/htcpp) to using coroutines as well, so this is cool to see. (WIP library here: https://github.com/pfirsich/aiopp)
-
http sever testing tool
I recently built an HTTP(S) server myself (https://github.com/pfirsich/htcpp) and did not find something like you are looking for. If you also don't find anything (but please link it if you do!), consider just running your server on a publicly accessible VM and listening on port 80 and you will be bombarded by various people trying to break in. Most of it will be useless, like checks for unprotected phpMyAdmin and stuff like that, but I did find a few bugs that way. I even found some TLS issues (of course listen on 443 instead).
-
Who is using C++ for web development?
I am serving static HTML from a web server, which I have built myself using C++: https://github.com/pfirsich/htcpp. I am not sure if that even counts, but I'm kind of proud of it. And I use it to serve my personal website: https://theshoemaker.de.
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?
Wt - Wt, C++ Web Toolkit
Nginx Proxy Manager - Docker container for managing Nginx proxy hosts with a simple, powerful interface
TreeFrog Framework - TreeFrog Framework : High-speed C++ MVC Framework for Web Application
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
bittyhttp - A threaded HTTP library for building REST services in C.
traefik - The Cloud Native Application Proxy
co-uring-http - High performance HTTP server built on C++20 coroutines and io_uring
Portainer - Making Docker and Kubernetes management easy.
aiopp - Asynchronous IO for C++20
jellyfin-media-player - Jellyfin Desktop Client based on Plex Media Player
emsdk - Emscripten SDK
docker-pi-hole - Pi-hole in a docker container