resripper/caddy-custom

By resripper

Updated 5 days ago

Image
Networking
Web servers
0

1.7K

resripper/caddy-custom repository overview

Caddy-custom

https://github.com/ResRipper/dockerfile-lib/blob/main/caddy-custom

Caddy with plugins built-in:

Example

  • caddy.docker-compose.yml

    name: caddy
    services:
        caddy:
            image: resripper/caddy-custom:2.10.2
            restart: unless-stopped
            labels:
                # Trusted proxies
                caddy.servers.trusted_proxies: combine
                ## Private IPs
                caddy.servers.trusted_proxies.private_ranges:
                ## Traffic from Cloudflare
                caddy.servers.trusted_proxies.cloudflare.interval: 24h
                caddy.servers.trusted_proxies.cloudflare.timeout: 15s
    
                # Specify client IP header
                caddy.servers.trusted_proxies_strict:
                caddy.servers.client_ip_headers: CF-Connecting-IP X-Forwarded-For X-Real-IP
                
                # Specify DNS challenge provider 
                caddy.acme_dns: cloudflare {env.CF_API_TOKEN}
            environment:
                CADDY_INGRESS_NETWORKS: reverse_proxy
                CF_API_TOKEN: <Cloudflare API token>
            volumes:
                - /var/run/docker.sock:/var/run/docker.sock
                - caddy_data:/data
    
                # For Nextcloud FPM
                # Add labels below into Nextcloud's compose file:
                # caddy.file_server:
                # caddy.root: "* /var/www/html"
                - /.../nextcloud/data:/var/www/html:z,ro
                
            ports:
                - 80:80
                - 443:443/tcp
                - 443:443/udp
            networks:
                - reverse_proxy
    
    volumes:
        caddy_data:
    
    networks:
        reverse_proxy:
            name: reverse_proxy
            external: true
    
  • service.docker-compose.yml

    name: web
    services:
        web:
            image: ...
            labels:
                caddy: <Host name>
                caddy.encode: zstd gzip
                caddy.reverse_proxy: "{{upstreams <web service port>}}"
                ...
    

Tag summary

Content type

Image

Digest

sha256:fd21b6bce

Size

17.3 MB

Last updated

5 days ago

docker pull resripper/caddy-custom