Sign inSign up

applzi/caddy-fail2ban

By applzi

โ€ขUpdated 15 minutes ago

Caddy + Fail2Ban image with reverse proxy templates for multiple providers.

Image
Security
Web servers
0

883

applzi/caddy-fail2ban repository overview

โ Caddy-fail2ban

Fail2Ban integration with Caddy for advanced brute-force attack protection


โ ๐Ÿš€ Example Docker Compose Setup

Hereโ€™s a quick-start example:

services:
  caddy-fail2ban:
    image: applzi/caddy-fail2ban:1-stable
    cap_add:
      - NET_ADMIN
      - NET_RAW
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./data:/data
      - ./srv:/srv
      - config:/config
      - ./fail2ban:/etc/fail2ban
    env_file:
      - .env
    ports:
      - 80:80
      - 443:443
volumes:
  config:

โ ๐Ÿ“„ .env

# Cloudflare
CF_API_TOKEN=

# Gandi
GANDI_BEARER_TOKEN=

# OVH
OVH_APP_KEY=
OVH_APP_SECRET=
OVH_CONSUMER_KEY=

โ ๐Ÿ“„ Caddyfile Examples

import templates/default.conf

{
    email <your email>

    admin off

    servers :443 {
        listener_wrappers {
            http_redirect
            tls
        }
        trusted_proxies static private_ranges
        client_ip_headers X-Forwarded-For X-Real-IP
    }

    servers :80 {
        protocols h1 h2c
    }
}

1.exemple.com {
    import <provider>
    import default-security 1.exemple.com # Optional
    import restricted_zone # EXEMPLE : FR EN... # Optional
    import reverse_proxy <service> <port> # Change value
}

2.exemple.com {
    import <provider>
    import default-security 2.exemple.com # Optional
    import restricted_zone # Exemple : FR EN... # Optional
    import file_server <dir> # = /srv/<dir> # Change value
}


โ โš ๏ธ Important Notes

  • Ensure NET_ADMIN and NET_RAW capabilities are set for Fail2Ban to work properly.
  • Environment variables must be set before starting the container.
  • Replace <value> => value.

Tag summary

Content type

Image

Digest

sha256:cf24de872โ€ฆ

Size

91.3 MB

Last updated

15 minutes ago

docker pull applzi/caddy-fail2ban:dev-develop