this is a docker image for Caddy. Thanks to abiosoft
the docker image from abiosoft has something wrong. I think it may have some wrong links/packages to get, and I try to use an unfriendly way to fix it.
caddy v1.0.5
dnspod
, filter
, cache
, minify
, expires
, realip
, cors
-
go to the official website for plugins.(for filter as example)
-
click the 'Full documentation' in the website.
-
copy the packages/repository link as like
github.com/echocat/caddy-filter/
. -
add it into 'builder.sh' following where you can see the word like that
"import/path/here"
(note: don't foget the_
in front of it) -
it's ok.
as I know. some plugins you need do more things.(as cors for example).
-
do the same things like 1&2 in 'nomally'
-
you can see
caddy
folder in the repository, and in it there is acorsPlugin.go
file. -
open it can copy the content into
builder.sh
.(you could see what I did, and just follow it to add other plugins like cors)
I use docker-compose to build the image.
caddy:
build:
context: ./caddy
container_name: caddy
environment:
- TZ=
- DNSPOD_API_KEY=
- DNSPOD_HTTP_TIMEOUT=10
volumes:
- ./caddy/data/Caddyfile:/caddy/Caddyfile
- ./caddy/data/certs:/caddy/certs
- ./caddy/data/.caddy:/root/.caddy
- ./www:/www/:rw
ports:
- 2015:2015
- 80:80
- 443:443
restart: always
networks:
- net-default
you need change context
to where your Dockerfile is.
TZ
is time zone.
if you use dnspod, you need DNSPOD_API_KEY
like id,api_tokens
.
if you use cloudflare, you need CLOUDFLARE_EMAIL
and CLOUDFLARE_API_KEY
you can get it from cloudflare
you want to get 'cloudflare' plugins from it
then you can do like specially
to add it or to see how I add the dnspod
plugins.
Thanks to abiosoft again. What's more detail about build caddy v1 you can see caddy v1.0.5