{"id":20682238,"url":"https://github.com/yobasystems/alpine-caddy","last_synced_at":"2025-04-22T12:13:29.965Z","repository":{"id":53924557,"uuid":"68106219","full_name":"yobasystems/alpine-caddy","owner":"yobasystems","description":"Caddy running on Alpine Linux [Docker]","archived":false,"fork":false,"pushed_at":"2025-03-24T16:50:52.000Z","size":206,"stargazers_count":21,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-24T17:47:47.845Z","etag":null,"topics":["alpine","amd64","arm64","armhf","caddy","caddyfile","docker","docker-image","dockerfile","php","yobasystems"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/yobasystems/alpine-caddy/","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yobasystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-13T12:27:43.000Z","updated_at":"2025-03-24T16:44:04.000Z","dependencies_parsed_at":"2024-03-02T14:24:34.124Z","dependency_job_id":"1eb8a200-e6bf-402c-9d37-41b8b37d162f","html_url":"https://github.com/yobasystems/alpine-caddy","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yobasystems%2Falpine-caddy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yobasystems%2Falpine-caddy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yobasystems%2Falpine-caddy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yobasystems%2Falpine-caddy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yobasystems","download_url":"https://codeload.github.com/yobasystems/alpine-caddy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250237834,"owners_count":21397401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alpine","amd64","arm64","armhf","caddy","caddyfile","docker","docker-image","dockerfile","php","yobasystems"],"created_at":"2024-11-16T22:13:05.963Z","updated_at":"2025-04-22T12:13:29.946Z","avatar_url":"https://github.com/yobasystems.png","language":"Dockerfile","funding_links":["https://www.buymeacoffee.com/dominictayloruk?new=1"],"categories":[],"sub_categories":[],"readme":"# Caddy container image running on Alpine Linux\n\n[![Docker Automated build](https://img.shields.io/docker/automated/yobasystems/alpine-caddy.svg?style=for-the-badge\u0026logo=docker)](https://hub.docker.com/r/yobasystems/alpine-caddy/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/yobasystems/alpine-caddy.svg?style=for-the-badge\u0026logo=docker)](https://hub.docker.com/r/yobasystems/alpine-caddy/)\n[![Docker Stars](https://img.shields.io/docker/stars/yobasystems/alpine-caddy.svg?style=for-the-badge\u0026logo=docker)](https://hub.docker.com/r/yobasystems/alpine-caddy/)\n\n[![Alpine Version](https://img.shields.io/badge/Alpine%20version-v3.21.3-green.svg?style=for-the-badge)](https://alpinelinux.org/)\n[![Caddy Version](https://img.shields.io/badge/Caddy%20version-v2.9.1-green.svg?style=for-the-badge)](https://caddyserver.com/)\n\n\nThis container image [(yobasystems/alpine-caddy)](https://hub.docker.com/r/yobasystems/alpine-caddy/) is based on the minimal [Alpine Linux](https://alpinelinux.org/)  using the [Caddy](https://caddyserver.com/) HTTP/2 web server with HTTPS.\n\n### Alpine Version 3.21.3 (Released 2025-02-13)\n##### Caddy Version 2.9.1\n\n----\n\n## Table of Contents\n\n- [What is Alpine Linux?](#what-is-alpine-linux)\n- [Features](#features)\n- [Architectures](#architectures)\n- [Tags](#tags)\n- [Layers \u0026 Sizes](#layers--sizes)\n- [How to use this image](#how-to-use-this-image)\n- [Image contents \u0026 Vulnerability analysis](#image-contents--vulnerability-analysis)\n- [Source Repositories](#source-repositories)\n- [Container Registries](#container-registries)\n- [Links](#links)\n- [Donation](#donation)\n\n\n## 🏔️ What is Alpine Linux?\nAlpine Linux is a Linux distribution built around musl libc and BusyBox. The image is only 5 MB in size and has access to a package repository that is much more complete than other BusyBox based images. This makes Alpine Linux a great image base for utilities and even production applications. Read more about Alpine Linux here and you can see how their mantra fits in right at home with Container images.\n\n## What is Caddy?\nCaddy, sometimes clarified as the Caddy web server, is an open source, HTTP/2-enabled web server written in Go. It uses the Go standard library for its HTTP functionality. One of Caddy's most notable features is enabling HTTPS by default.\n\n## ✨ Features\n\n* Minimal size only, minimal layers\n* Memory usage is minimal on a simple install.\n* Auto git clone from repo with `yobasystems/alpine-nginx:git` tag\n\n## 🏗️ Architectures\n\n* ```:amd64```, ```:x86_64``` - 64 bit Intel/AMD (x86_64/amd64)\n* ```:arm64v8```, ```:aarch64``` - 64 bit ARM (ARMv8/aarch64)\n* ```:arm32v7```, ```:armhf``` - 32 bit ARM (ARMv7/armhf)\n\n#### 📝 PLEASE CHECK TAGS BELOW FOR SUPPORTED ARCHITECTURES, THE ABOVE IS A LIST OF EXPLANATION\n\n## 🏷️ Tags\n\n* ```:latest``` latest branch based (Automatic Architecture Selection)\n* ```:php``` latest branch with php\n* ```:amd64```, ```:x86_64```  amd64 based on latest tag but amd64 architecture\n* ```:php-amd64```, ```:php-x86_64```  amd64 based on latest tag but amd64 architecture and includes php\n* ```:aarch64```, ```:arm64v8``` Armv8 based on latest tag but arm64 architecture\n* ```:php-aarch64```, ```:php-arm64v8``` Armv8 based on latest tag but arm64 architecture and includes php\n* ```:armhf```, ```:arm32v7``` Armv7 based on latest tag but arm architecture\n* ```:php-armhf```, ```:php-arm32v7``` Armv7 based on latest tag but arm architecture and includes php\n\n## 📏 Layers \u0026 Sizes\n\n![Version](https://img.shields.io/badge/version-amd64-blue.svg?style=for-the-badge)\n![MicroBadger Layers (tag)](https://img.shields.io/docker/layers/yobasystems/alpine-caddy/amd64.svg?style=for-the-badge)\n![MicroBadger Size (tag)](https://img.shields.io/docker/image-size/yobasystems/alpine-caddy/amd64.svg?style=for-the-badge)\n\n![Version](https://img.shields.io/badge/version-aarch64-blue.svg?style=for-the-badge)\n![MicroBadger Layers (tag)](https://img.shields.io/docker/layers/yobasystems/alpine-caddy/aarch64.svg?style=for-the-badge)\n![MicroBadger Size (tag)](https://img.shields.io/docker/image-size/yobasystems/alpine-caddy/aarch64.svg?style=for-the-badge)\n\n![Version](https://img.shields.io/badge/version-armhf-blue.svg?style=for-the-badge)\n![MicroBadger Layers (tag)](https://img.shields.io/docker/layers/yobasystems/alpine-caddy/armhf.svg?style=for-the-badge)\n![MicroBadger Size (tag)](https://img.shields.io/docker/image-size/yobasystems/alpine-caddy/armhf.svg?style=for-the-badge)\n\n## 🚀 How to use this image\n## Environment Variables:\n\n### Main Caddy parameters:\n* `URL`: specify the url with http:// or https://\n\n## Creating an instance\n\n```sh\n$ docker run -d --name examplecaddy -p 2015:2015 yobasystems/alpine-caddy\n```\n\nPoint your browser to `http://host-ip:2015`.\n\n### PHP\n`:[\u003cversion\u003e-]php` variant of this image bundles PHP-FPM. e.g. `:php`, `:0.11.0-php`\n```sh\n$ docker run -d --name examplecaddy -p 2015:2015 yobasystems/alpine-caddy:php\n```\nPoint your browser to `http://host-ip:2015` and you will see a php info page.\n\n##### Local php source\n\nReplace `/path/to/php/src` with your php sources directory.\n```sh\n$ docker run -d --name examplecaddy -v /path/to/php/src:/srv -p 2015:2015 yobasystems/alpine-caddy:php\n```\nPoint your browser to `http://host-ip:2015`.\n\n##### Note\nYour `Caddyfile` must include the line `startup php-fpm`. For Caddy to be PID 1 in the container, php-fpm could not be started.\n\n### Using git sources\n\nCaddy can serve sites from git repository using [git](https://caddyserver.com/docs/git) middleware.\n\n##### Create Caddyfile\n\nReplace `github.com/team/repo` with your repository.\n\n```sh\n$ printf \"0.0.0.0\\ngit github.com/team/repo\" \u003e Caddyfile\n```\n\n##### Run the image\n\n```sh\n$ docker run -d --name examplecaddy -v $(pwd)/Caddyfile:/etc/Caddyfile -p 2015:2015 yobasystems/alpine-caddy\n```\nPoint your browser to `http://host-ip:2015`.\n\n## Usage\n\n#### Default Caddyfile\n\nThe image contains a default Caddyfile.\n\n```\n0.0.0.0\nbrowse\nfastcgi / 127.0.0.1:9000 php # php variant only\nstartup php-fpm # php variant only\n```\n**Note** the last 2 lines are only present in the php variant.\n\n#### Paths in container\n\nCaddyfile: `/etc/Caddyfile`\n\nSites root: `/srv`\n\n#### Using local Caddyfile and sites root\n\nReplace `/path/to/Caddyfile` and `/path/to/sites/root` accordingly.\n\n```sh\n$ docker run -d --name examplecaddy -v /path/to/sites/root:/srv -v path/to/Caddyfile:/etc/Caddyfile -p 2015:2015 yobasystems/alpine-caddy\n```\n\n### Let's Encrypt Auto SSL\n**Note** that this does not work on local environments, the domain also has to resolve to the server requesting the certificate.\n\nUse a valid domain and add email to your Caddyfile to avoid prompt at runtime.\nReplace `example.co.uk` with your domain and `user@example.co.uk` with your email.\n```\nexample.co.uk\ntls user@example.co.uk\n```\n\n##### Run the image\n\nYou can change the the ports if ports 80 and 443 are not available on host. e.g. 81:80, 444:443\n\n```sh\n$ docker run -d --name examplecaddy -v $(pwd)/Caddyfile:/etc/Caddyfile -p 80:80 -p 443:443 yobasystems/alpine-caddy\n```\n\n**Optional** but advised. Save certificates on host machine to prevent regeneration every time container starts.\nLet's Encrypts [RATE LIMITS](https://community.letsencrypt.org/t/rate-limits-for-lets-encrypt/6769) explain the number of times you can regenerate certificates.\n\n```sh\n$ docker run -d -v $(pwd)/Caddyfile:/etc/Caddyfile -v $HOME/.caddy:/root/.caddy -p 80:80 -p 443:443 yobasystems/alpine-caddy\n```\n\n## 🔍 Image contents \u0026 Vulnerability analysis\n\n| PACKAGE NAME          | PACKAGE VERSION | VULNERABILITIES |\n|-----------------------|-----------------|-----------------|\n\n\n## 📚 Source Repositories\n\n* [Github - yobasystems/alpine-caddy](https://github.com/yobasystems/alpine-caddy)\n* [Gitlab - yobasystems/alpine-caddy](https://gitlab.com/yobasystems/alpine-caddy)\n* [Bitbucket - yobasystems/alpine-caddy](https://bitbucket.org/yobasystems/alpine-caddy/)\n\n\n## 🐳 Container Registries\n\n* [Dockerhub - yobasystems/alpine-caddy](https://hub.docker.com/r/yobasystems/alpine-caddy/)\n* [Quay.io - yobasystems/alpine-caddy](https://quay.io/repository/yobasystems/alpine-caddy)\n* [GHCR - yobasystems/alpine-caddy](https://ghcr.io/yobasystems/alpine-caddy)\n\n\n## 🔗 Links\n\n* [Yoba Systems](https://yoba.systems/)\n* [Github - Yoba Systems](https://github.com/yobasystems/)\n* [Dockerhub - Yoba Systems](https://hub.docker.com/u/yobasystems/)\n* [Quay.io - Yoba Systems](https://quay.io/organization/yobasystems)\n* [GHCR - Yoba Systems](https://ghcr.io/yobasystems)\n* [Maintainer - Dominic Taylor](https://github.com/dominictayloruk)\n\n## 💰 Donation\n\n[![BMAC](https://img.shields.io/badge/BUY%20ME%20A%20COFFEE-£5-blue.svg?style=for-the-badge\u0026logo=buy-me-a-coffee)](https://www.buymeacoffee.com/dominictayloruk?new=1)\n\n[![BITCOIN](https://img.shields.io/badge/BTC-bc1q7hy8qmyvq7rw6slrna7yffcdnj9rcg4e9xjecc-blue.svg?style=for-the-badge\u0026logo=bitcoin)](bitcoin:bc1q7hy8qmyvq7rw6slrna7yffcdnj9rcg4e9xjecc)\n\n[![ETHEREUM](https://img.shields.io/badge/ETH-0xb6bE2e4da3d86b50Bdae1F9B6960c23dd87C532C-blue.svg?style=for-the-badge\u0026logo=ethereum)](ethereum:0xb6bE2e4da3d86b50Bdae1F9B6960c23dd87C532C)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyobasystems%2Falpine-caddy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyobasystems%2Falpine-caddy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyobasystems%2Falpine-caddy/lists"}