selfhosted-apps-docker
caddy-docker-proxy
selfhosted-apps-docker | caddy-docker-proxy | |
---|---|---|
150 | 57 | |
1,493 | 2,511 | |
- | - | |
8.7 | 7.2 | |
9 days ago | 1 day ago | |
Shell | 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.
selfhosted-apps-docker
-
Minecraft server
Heres documentation how I run mine. You need to learn a bit of docker, but its easy.
-
Rustdesk very poor performance with own server
Heres the way I deployed it in docker using S6 image. Maybe try that if theres a change.
-
RustDesk - Self Hosted Setup Guide
WD=/opt/rustdesk #rm $WD/ -R mkdir -p $WD/{setup,data,web} cd $WD/setup cat << 'EOF' >docker-compose.yaml version: '3.7' #Links #https://hub.docker.com/r/rustdesk/rustdesk-server/tags #https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/docker/ #https://github.com/DoTheEvo/selfhosted-apps-docker/tree/master/rustdesk #https://github.com/rustdesk/rustdesk-server#s6-overlay-based-images #https://rustdesk.com/docs/en/self-host/rustdesk-server-pro/relay/ #https://rustdesk.com/docs/en/dev/build/web/ services: rustdesk_server: container_name: rustdesk_server hostname: rustdesk_server image: ${SERVER_IMAGE} # network_mode: host networks: - rustdesk_net ports: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21117:21117 - 21118:21118 - 21119:21119 volumes: - type: bind source: /opt/rustdesk/data/ target: /data environment: - 'TZ=${TZ}' - 'RELAY=${RELAY}' - 'ENCRYPTED_ONLY=${ENCRYPTED_ONLY}' - 'KEY_PUB=${KEY_PUB}' - 'KEY_PRIV=${KEY_PRIV}' rustdesk_web: container_name: rustdesk_web hostname: rustdesk_web image: pmietlicki/rustdesk-web-client:latest # network_mode: host networks: - rustdesk_net ports: - 5000:5000 volumes: #docker cp rustdesk_web:/app . #sed -i -e 's/supportdesk.itportaal.nl/sub.domain.com/g' ./app/build/web/main.dart.js #sed -i -e 's/OvYPJS8I5xV+d6sx3a7Ce9TVakfKdT3Zy3T7C1jjx+A=/PUBKEY/g' ./app/build/web/main.dart.js - type: bind source: /opt/rustdesk/web/app/ target: /app - type: bind source: /opt/rustdesk/data/ target: /root environment: - 'TZ=${TZ}' networks: rustdesk_net: driver: bridge EOF
-
Reverse Proxy or Not ?
I tested several reverse proxy setups, the one I like the best is Caddy for its simplicity while being very feature rich. Here is a guide with examples how to setup Caddy. It includes even monitoring who connects from where.
-
Looking for the best VPN container for Docker
I used plain wireguard on dockerhost for a while, now I am running wg-easy.
-
Best reverse proxy approach? (Cloudflare, Tailscale, NextDNS, Oracle Cloud, Caddy)
This guide could be useful.
-
What monitoring software is popular amongst sysadmins? Networking Disk Uptime Bandwidth
Here is some basic setup to get the idea.
-
I don't know what distro should I use and my other questions
This repo should generally be useful, there is speedrun to hosting shit in docker in it...
-
[HELP] Can you help me with this docker compose file (example)?
This is bookstack compose I use.
-
Looking for easy to set up and use tool for maintaining/monitoring handful of ubuntu machines updates
prometheus + grafana + loki for monitoring, this could help
caddy-docker-proxy
-
Take a look at traefik, even if you don't use containers
Sticky sessions are supported: https://caddyserver.com/docs/caddyfile/directives/reverse_pr..., and yes it's pluggable so you could write your own LB policy. Very easy, just copy the code from Caddy's source to write your own plugin. Let us know if you need help.
Also yes, Caddy does service discovery if you use https://github.com/lucaslorentz/caddy-docker-proxy, configuration via Docker labels. Or you can use dynamic upstreams (built-in) https://caddyserver.com/docs/caddyfile/directives/reverse_pr... to use A/AAAA or SRV DNS records to load your list of upstreams.
-
Eliminate IPv4 tax on AWS, is it that easy?
Caddy via Caddy Docker Proxy (network).
- 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
What are some alternatives?
mistborn
Nginx Proxy Manager - Docker container for managing Nginx proxy hosts with a simple, powerful interface
EteSync Server - The Etebase server (so you can run your own)
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
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.
traefik - The Cloud Native Application Proxy
Whisparr
Portainer - Making Docker and Kubernetes management easy.
Traefik-v2-examples - Traefik v2 guide by examples
jellyfin-media-player - Jellyfin Desktop Client based on Plex Media Player
DockSTARTer - DockSTARTer helps you get started with running apps in Docker.
docker-pi-hole - Pi-hole in a docker container