Skip to content

SaltireSoul/caddy-cf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

caddy

Caddyserver with the following modules included:

built for AMD64, ARM64 & ARMv7

Also a few custom environment variables.

Image Version Image Size

Image Docker Hub Registry Image GitHub Registry

docker run -it --name caddy \
  -p 80:80 \
  -p 443:443 \
  -v $PWD/caddy_data:/data \
  -v $PWD/caddy_config:/config \
  -v $PWD/Caddyfile:/etc/caddy/Caddyfile \
  -v $PWD/site:/srv \
  -e CLOUDFLARE_EMAIL=me@example.com \
  -e CLOUDFLARE_API_TOKEN=12345 \
  -e ACME_AGREE=true \
  ghcr.io/saltiresoul/caddy-cf:latest

Graceful reloads

Caddy does not require a full restart when configuration is changed. Caddy comes with a caddy reload command which can be used to reload its configuration with zero downtime.

Script:

caddy_container_id=$(docker ps | grep caddy | awk '{print $1;}')
docker exec -w /etc/caddy $caddy_container_id caddy reload

Bash alias:

function caddyreload() {
  local container_id
  container_id=$(docker ps --filter "name=caddy" --format "{{.ID}}")

  if [ -z "$container_id" ]; then
    echo "❌ No running Caddy container found with name 'caddy'."
    return 1
  fi

  echo "🔄 Reloading Caddy configuration in container $container_id..."
  docker exec -w /etc/caddy "$container_id" caddy reload

  if [ $? -eq 0 ]; then
    echo "✅ Caddy configuration reloaded successfully."
  else
    echo "⚠️ Failed to reload Caddy configuration."
    return 1
  fi
}

About

Caddy with Cloudflare

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors