diff --git a/.woodpecker/publish-flyctl-image.yml b/.woodpecker/publish-flyctl-image.yml new file mode 100644 index 0000000..f632aaa --- /dev/null +++ b/.woodpecker/publish-flyctl-image.yml @@ -0,0 +1,16 @@ +when: + event: [push, manual] + branch: main + path: ["flyctl/Dockerfile"] + +steps: + build-latest-container: + image: woodpeckerci/plugin-docker-buildx:6.0.3 + settings: + registry: codeberg.org + username: ${CI_REPO_OWNER} + password: + from_secret: CONTAINER_REGISTRY_TOKEN + repo: codeberg.org/jasterv/flyctl + dockerfile: "flyctl/Dockerfile" + tags: latest diff --git a/flyctl/Dockerfile b/flyctl/Dockerfile new file mode 100644 index 0000000..b4130b3 --- /dev/null +++ b/flyctl/Dockerfile @@ -0,0 +1,14 @@ +# Use Alpine for the smallest footprint +FROM public.ecr.aws/docker/library/alpine:latest + +# Install dependencies for flyctl and general plugin usage +# ca-certificates is required for HTTPS requests to the Fly.io API +RUN apk add --no-cache ca-certificates curl bash + +# Install flyctl +# This uses the official install script which detects architecture automatically +RUN curl -L https://fly.io/install.sh | sh + +# 3. Add flyctl to the PATH +ENV FLYCTL_INSTALL="/root/.fly" +ENV PATH="$FLYCTL_INSTALL/bin:$PATH"