diff --git a/docker/caddy/Dockerfile b/docker/caddy/Dockerfile index 0c590e1..315e30a 100644 --- a/docker/caddy/Dockerfile +++ b/docker/caddy/Dockerfile @@ -12,11 +12,24 @@ RUN xcaddy build \ FROM caddy:alpine as runner +LABEL org.opencontainers.image.description="Plain Caddy and community plugins, minus FrankenPHP." \ + org.opencontainers.image.source="https://github.com/andreijiroh-dev/docker-images" \ + org.opencontainers.image.vendor="Andrei Jiroh Halili" \ + org.opencontainers.image.url="https://go.andreijiroh.xyz/mkdocs-material" \ + org.opencontainers.image.documentation="https://github.com/andreijiroh-dev/docker-images/blob/main/docker/mkdocs-material/README.md" \ + org.opencontainers.image.license="MPL-2.0" +LABEL dev.recaptime.opensource.stabilityLevel="unstable" \ + dev.recaptime.opensource.maintainer="ajhalili2006" \ + dev.recaptime.opensource.license="MPL-2.0" \ + dev.recaptime.opensource.repoOwnerType="staff-verified-public" + COPY --from=builder /usr/bin/caddy /usr/bin/caddy COPY --from=tailscale /usr/local/bin/tailscale /usr/local/bin/tailscaled /usr/local/bin/ COPY entrypoint.sh /usr/local/bin/ + RUN apk add --no-cache ca-certificates iptables iproute2 ip6tables bash ca-certificates libcap mailcap \ && mkdir -p /var/run/tailscale /var/cache/tailscale /var/lib/tailscale \ && setcap cap_net_bind_service=+ep /usr/bin/caddy + ENTRYPOINT [ "/usr/bin/dumb-init" ] CMD ["/usr/local/bin/entrypoint.sh"] diff --git a/docker/caddy/README.md b/docker/caddy/README.md index a165f3c..388d006 100644 --- a/docker/caddy/README.md +++ b/docker/caddy/README.md @@ -1,5 +1,7 @@ # `caddy` with plugins + `tailscale` +We use a custom build of Caddy with hand-picked plugins and Tailscale + ## Included caddy plugins ### DNS challenges @@ -13,9 +15,12 @@ * * +### PHP setups + + + ## Extracting the binary +```bash +docker run --rm -v ./out:/out ghcr.io/andreijiroh-dev/docker-images/caddy # (or frankenphp) ``` -docker run -v /path/to/caddyfile:/etc/caddy/Caddyfile -p 8080:8080 quay.io/andreijiroh-dev/caddy-tailscale - -``` \ No newline at end of file diff --git a/docker/caddy/php.Dockerfile b/docker/caddy/php.Dockerfile index 564400c..c2f03d3 100644 --- a/docker/caddy/php.Dockerfile +++ b/docker/caddy/php.Dockerfile @@ -2,7 +2,6 @@ ARG GITLAB_DEPENDENCY_PROXY_PATH=mau.dev/andreijiroh-dev FROM ${GITLAB_DEPENDENCY_PROXY_PATH}/dependency_proxy/containers/tailscale/tailscale:latest as tailscale - FROM ${GITLAB_DEPENDENCY_PROXY_PATH}/dependency_proxy/containers/golang:1.22.5-alpine as golang # At this stage, we need to compile go from source using go1.22.5 binaries from official image @@ -67,6 +66,17 @@ RUN xcaddy build \ FROM ${GITLAB_DEPENDENCY_PROXY_PATH}/dependency_proxy/containers/dunglas/frankenphp:alpine as runner +LABEL org.opencontainers.image.description="Custom FrankenPHP Docker image with additional Caddy DNS and storage plugins" \ + org.opencontainers.image.source="https://github.com/andreijiroh-dev/docker-images" \ + org.opencontainers.image.vendor="Andrei Jiroh Halili" \ + org.opencontainers.image.url="https://go.andreijiroh.dev/caddy" \ + org.opencontainers.image.documentation="https://github.com/andreijiroh-dev/docker-images/blob/main/docker/caddy/README.md" \ + org.opencontainers.image.license="MPL-2.0" +LABEL dev.recaptime.opensource.stabilityLevel="unstable" \ + dev.recaptime.opensource.maintainer="ajhalili2006" \ + dev.recaptime.opensource.license="MPL-2.0" \ + dev.recaptime.opensource.repoOwnerType="staff-verified-public" + COPY --from=builder /usr/local/bin/frankenphp-buildkit /usr/local/bin/frankenphp COPY --from=tailscale /usr/local/bin/tailscale /usr/local/bin/tailscaled /usr/local/bin/ COPY entrypoint.sh /usr/local/bin/ diff --git a/docker/devenv/base/Dockerfile b/docker/devenv/base/Dockerfile index 343ea3f..4e7cca5 100644 --- a/docker/devenv/base/Dockerfile +++ b/docker/devenv/base/Dockerfile @@ -9,8 +9,7 @@ RUN curl -o /usr/local/bin/install-packages -fsSL https://github.com/gitpod-io/w && chmod +x /usr/local/bin/install-packages \ && ln -s /usr/local/bin/install-packages /usr/local/bin/upgrade-packages -RUN yes | unminimize \ - && install-packages \ +RUN install-packages \ zip \ unzip \ bash-completion \ @@ -60,16 +59,12 @@ RUN install-packages git git-lfs git-email \ RUN install-packages tailscale \ && update-alternatives --set ip6tables /usr/sbin/ip6tables-nft -# Setup both devenv user and Gitpod compat user for use in Gitpod. +# Setup Gitpod user for compat RUN userdel ubuntu -f -r && \ useradd -l -u 33333 -G sudo -md /home/gitpod -s /bin/bash -p gitpod gitpod \ - && useradd -l -u 1000 -G sudo,gitpod -md /home/user -s /bin/bash -p devenv user \ # Remove `use_pty` option and enable passwordless sudo. && sed -i.bkp -e '/Defaults\tuse_pty/d' -e 's/%sudo\s\+ALL=(ALL\(:ALL\)\?)\s\+ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers \ && mkdir /workspace && chown -hR gitpod:gitpod /workspace -USER user -WORKDIR /home/user -ARG dotfiles=https://mau.dev/andreijiroh-dev/dotfiles -ARG dotfilesBranch=main -RUN yadm clone ${dotfiles} && yadm restore --staged $HOME && yadm checkout ${dotfilesBranch} -- $HOME \ No newline at end of file +USER gitpod +WORKDIR /home/gitpod diff --git a/docker/pkgops-alpine/Dockerfile b/docker/pkgops-alpine/Dockerfile index fd41cc6..c31e763 100644 --- a/docker/pkgops-alpine/Dockerfile +++ b/docker/pkgops-alpine/Dockerfile @@ -3,6 +3,17 @@ ARG ALPINE_RELEASE=edge ARG GITLAB_DEPENDENCY_PROXY_PATH=mau.dev/andreijiroh-dev FROM ${GITLAB_DEPENDENCY_PROXY_PATH}/containers/dependency_proxy/alpine:${ALPINE_RELEASE} +LABEL org.opencontainers.image.description="Custom CI image for Alpine Linux package devs and maintainers" \ + org.opencontainers.image.source="https://github.com/andreijiroh-dev/docker-images" \ + org.opencontainers.image.vendor="Andrei Jiroh Halili" \ + org.opencontainers.image.url="https://go.andreijiroh.dev/docker-apkbuild" \ + org.opencontainers.image.documentation="https://github.com/andreijiroh-dev/docker-images/blob/main/docker/pkgops-alpine/README.md" \ + org.opencontainers.image.license="MPL-2.0" +LABEL dev.recaptime.opensource.stabilityLevel="unstable" \ + dev.recaptime.opensource.maintainer="ajhalili2006" \ + dev.recaptime.opensource.license="MPL-2.0" \ + dev.recaptime.opensource.repoOwnerType="staff-verified-public" + # ref: https://gitlab.alpinelinux.org/alpine/infra/docker/build-base/-/merge_requests/1 ENV SUDO=doas