{"id":20295678,"url":"https://github.com/zzrotdesign/alpine-caddy","last_synced_at":"2025-04-11T11:54:51.323Z","repository":{"id":144105488,"uuid":"55035300","full_name":"ZZROTDesign/alpine-caddy","owner":"ZZROTDesign","description":"Alpine Linux Docker Container running Caddyserver","archived":false,"fork":false,"pushed_at":"2017-07-01T11:34:13.000Z","size":58,"stargazers_count":105,"open_issues_count":8,"forks_count":35,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-25T08:20:55.982Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZZROTDesign.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-03-30T05:33:10.000Z","updated_at":"2023-12-10T07:10:52.000Z","dependencies_parsed_at":"2024-02-16T16:26:34.210Z","dependency_job_id":"7636d53d-d9b9-48c5-aa0a-df8f23e7c3d0","html_url":"https://github.com/ZZROTDesign/alpine-caddy","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZZROTDesign%2Falpine-caddy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZZROTDesign%2Falpine-caddy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZZROTDesign%2Falpine-caddy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZZROTDesign%2Falpine-caddy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZZROTDesign","download_url":"https://codeload.github.com/ZZROTDesign/alpine-caddy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248391307,"owners_count":21095988,"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":[],"created_at":"2024-11-14T15:35:40.845Z","updated_at":"2025-04-11T11:54:51.303Z","avatar_url":"https://github.com/ZZROTDesign.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Caddy Server on Alpine Linux\n\n[![](https://badge.imagelayers.io/zzrot/alpine-caddy:latest.svg)](https://imagelayers.io/?images=zzrot/alpine-caddy:latest 'Get your own badge on imagelayers.io') [![Build Status](https://travis-ci.org/ZZROTDesign/alpine-caddy.svg?branch=master)](https://travis-ci.org/ZZROTDesign/alpine-caddy) [![Docker Pulls](https://img.shields.io/docker/pulls/zzrot/alpine-caddy.svg?maxAge=2592000)](https://hub.docker.com/r/zzrot/alpine-caddy/)\n\nThis is a [Docker](https://www.docker.com/) image for [Caddyserver](https://caddyserver.com/). This image runs with a base of [Alpine-Linux](http://www.alpinelinux.org/) making it extremely small, secure and fast.\n\nThis image can also be found on [Docker Hub](https://hub.docker.com/r/zzrot/alpine-caddy/).\n\n## Usage\nWe recommend using our images in conjunction with [Docker-Compose](https://docs.docker.com/compose/). This allows for easier creation of containers with the proper volumes and ports enabled.\n\nWe have included an [example docker-compose](https://github.com/ZZROTDesign/alpine-caddy/tree/master/examples/docker-compose.example.yml) file for use in a real project.\n\nThis image works with two defaults\n\n1. A default [Caddyfile](https://github.com/ZZROTDesign/alpine-caddy/tree/master/Caddyfile)\n2. A default location inside the container for static files: /var/www/html\n\nIn order to use this image, we recommend running it with a volume connecting your static files to the root location of the docker file:\n\n    docker run -d -p 80:80 -v $(pwd)/public:/var/www/html zzrot/alpine-caddy\n\nThe server will be available at your.docker.machine.ip.\n\nThis is the bare minimum needed to use this image. Although further customization is made easier with a docker-compose file.\n\nThe benefits of building an image with a overrideable Caddyfile are that you can   include your own by including another volume. To see a fully configured docker-compose file see this [example](https://github.com/ZZROTDesign/alpine-caddy/tree/master/examples/docker-compose.example.yml).\n\nFor writing a custom Caddyfile please read [this](https://caddyserver.com/docs/caddyfile).\n\n### Middleware\n\nAlpine-Caddy includes all Caddy Middleware and features. You can read more on these specific features in the [Caddy User Guide](https://caddyserver.com/docs).\n\n### Caddy as a reverse proxy\n\nThis image can also effectively be used as a reverse proxy. Included in the examples/ folder is an [example Caddyfile](https://github.com/ZZROTDesign/alpine-caddy/tree/master/examples/Caddyfile.proxy.example).\n\nThe [example docker-compose](https://github.com/ZZROTDesign/alpine-caddy/tree/master/examples/docker-compose.proxy-example.yml) shows how to include your custom Caddyfile as a volume as well as an example proxy set up with containers.\n\n## Volumes\n\nAlpine-Caddy has three locations where volumes can be linked to.\n\n### Static Files\n\nIn order to serve static content, alpine-caddy needs to be able to access your static files from inside of the container. To do this, link the directory of your static files with /var/www/html inside of the container.\n\nFor docker-compose.yml files, under the volumes declaration, include:\n\n    -  ./public:/var/www/html\n\nor\n\n    docker run -v $(pwd)/public:/var/www/html\n\n### Custom Caddyfile\n\nTo upload a custom Caddyfile, link your Caddyfile to the directory /etc/Caddyfile in the container.\nFor docker-compose.yml files, under the volumes declaration, include:\n\n    -  ./Caddyfile:/etc/Caddyfile\n\nor\n\n    docker run -v $(pwd)/Caddyfile:/etc/Caddyfile zzrot/alpine-caddy\n\n### Certificate Persistance\n\nIf you use alpine-caddy to generate SSL certificates from [Let's Encrypt](https://letsencrypt.org/), you should persist those certificates outside of the container. In the instance of a container failure, this allows the container to reuse the same certificates, instead of generating new ones from Let's Encrypt.\n\nFor information on including this into your Caddyfile see the [Caddyfile tls specification](https://caddyserver.com/docs/tls).\n\nThe certificates are stored in /root/.caddy inside of the container, and thus you must connect an outside directory to that directory to allow persistance. For docker-compose.yml files, under the volumes declaration, include:\n\n    -  ./.caddy:/root/.caddy\n\nor\n\n    docker run -v $(pwd)/.caddy:/root/.caddy\n\n## Contributing to Alpine-Caddy\n\n### Team members\n\n* [Sean Kilgarriff](https://github.com/Skilgarriff) sean@zzrot.com T: [@seankilgarriff](https://twitter.com/SeanKilgarriff)\n* [Killian Brackey](https://github.com/killianbrackey) killian@zzrot.com T: [@kmbrackey](https://twitter.com/kmbrackey)\n\nDon't hesitate to get in contact with either one of us with problems, questions, etc.\n\n\n### Adding new features\n\n* Fork it!\n* Create your feature branch: git checkout -b my-new-feature\n* Commit your changes: git commit -am 'Add some feature'\n* Push to the branch: git push origin my-new-feature\n* Submit a pull request :D\n\n\nDon’t get discouraged! We estimate that the response time from the\nmaintainers is around: 24 hours.\n\n\n### Reporting Security Issues\n\nIf you discover a security issue in this Docker image, please report it by sending an email to docker@zzrot.com\n\nThis will allow us to assess the risk, and make a fix available before we add a bug report to the GitHub repository.\n\nThanks for helping make this image safe for everyone!\n\n### License\n\nThe code is available under the [MIT License](https://github.com/ZZROTDesign/alpine-caddy/tree/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzzrotdesign%2Falpine-caddy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzzrotdesign%2Falpine-caddy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzzrotdesign%2Falpine-caddy/lists"}