53 lines
No EOL
1.7 KiB
Docker
53 lines
No EOL
1.7 KiB
Docker
FROM alpine:latest AS BUILD
|
|
|
|
ARG TARGETOS
|
|
ARG TARGETARCH
|
|
ARG TARGETPLATFORM
|
|
|
|
# 更新并安装所需的软件包
|
|
RUN apk update && apk add --no-cache sed wget curl tar
|
|
|
|
# 创建文件夹结构
|
|
RUN mkdir -p /data/caddy/config
|
|
RUN mkdir -p /data/caddy/config.d
|
|
RUN mkdir -p /usr/local/bin
|
|
|
|
# 下载并解压caddy
|
|
RUN VERSION=$(curl -s https://raw.githubusercontent.com/WJQSERVER/caddy/main/VERSION) && \
|
|
echo "VERSION: ${VERSION}" && \
|
|
wget -O /data/caddy/caddy.tar.gz https://github.com/WJQSERVER/caddy/releases/download/${VERSION}/caddy-${TARGETOS}-${TARGETARCH}-pages.tar.gz
|
|
RUN tar -xzvf /data/caddy/caddy.tar.gz -C /data/caddy
|
|
RUN rm /data/caddy/caddy.tar.gz
|
|
RUN chmod +x /data/caddy/caddy
|
|
|
|
RUN DASHVERSION=$(curl -s https://raw.githubusercontent.com/WJQSERVER/caddydash/main/VERSION) && \
|
|
echo "VERSION: ${DASHVERSION}" && \
|
|
wget -O /data/caddy/caddydash.tar.gz https://github.com/WJQSERVER/caddydash/releases/download/${DASHVERSION}/caddy-${TARGETOS}-${TARGETARCH}-pages.tar.gz
|
|
RUN tar -xzvf /data/caddy/caddydash.tar.gz -C /data/caddy
|
|
RUN rm /data/caddy/caddydash.tar.gz
|
|
RUN chmod +x /data/caddy/caddydash
|
|
|
|
# 构建镜像
|
|
FROM alpine:latest
|
|
|
|
# 创建必要的目录
|
|
RUN mkdir -p /data/caddy/config
|
|
RUN mkdir -p /data/caddy/config.d
|
|
RUN mkdir -p /data/caddy/log
|
|
RUN mkdir -p /data/caddy/db
|
|
|
|
COPY frontend /data/caddy/
|
|
COPY gtmpl /data/caddy/
|
|
COPY tmpl /data/caddy/
|
|
|
|
# 复制构建阶段的文件
|
|
COPY --from=BUILD /data/caddy /data/caddy
|
|
COPY --from=BUILD /usr/local/bin/init.sh /usr/local/bin/init.sh
|
|
|
|
# 配置权限
|
|
RUN chmod +x /data/caddy/caddy
|
|
RUN chmod +x /data/caddy/caddydash
|
|
|
|
# 启动命令
|
|
WORKDIR /data/caddy/
|
|
ENTRYPOINT ["/data/caddy/caddydash", "-c", "/data/caddy/config/config.toml"] |