commit e9b9e37d5cde9be2b696a1000068687a48a05fa8 Author: Matthew McKinnon Date: Sun Aug 31 13:55:59 2025 +1000 Initial Commit diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..f26d3e4 --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,23 @@ +on: push +jobs: + build-docker: + runs-on: ubuntu-latest + container: + image: catthehacker/ubuntu:act-latest + steps: + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + registry: git.comprofix.com + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v6 + with: + file: ./Dockerfile + push: true + tags: git.comprofix.com/mmckinnon/debian-runner:latest diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b3eefd0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,42 @@ +# Base image +FROM debian:trixie-slim + +# Set environment variables +ENV DEBIAN_FRONTEND=noninteractive \ + LANG=C.UTF-8 \ + PATH=/usr/local/bundle/bin:$PATH + +# Install dependencies +RUN apt-get update && apt-get install -y --no-install-recommends \ + curl \ + git \ + bash \ + openssh-client \ + python3 \ + python3-pip \ + build-essential \ + zlib1g-dev \ + libffi-dev \ + libssl-dev \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +# Install Node.js 22 +RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ + && apt-get install -y nodejs \ + && npm install -g npm + +# Install Ansible via pip +RUN pip3 install --no-cache-dir ansible + +# Install Ruby and Jekyll +RUN apt-get update && apt-get install -y --no-install-recommends \ + ruby-full \ + && gem install bundler jekyll \ + && rm -rf /var/lib/apt/lists/* + +# Create workspace +WORKDIR /workspace + +# Default shell +SHELL ["/bin/bash", "-c"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..f9e37ae --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +This is a Dockerfile is used to build a custom Dedian image that is used in my homelab CI/CD Pipelines.