diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml new file mode 100644 index 0000000..32c183c --- /dev/null +++ b/.gitea/workflows/ci.yaml @@ -0,0 +1,55 @@ +name: CI + +on: + push: + branches: + - main + pull_request: {} + workflow_dispatch: {} + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + lfs: true + + - name: Setup QEMU + uses: docker/setup-qemu-action@v3 + + - name: Setup docker buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Container Registery + uses: docker/login-action@v3 + with: + registry: git.housh.dev + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Extract metadata for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: git.housh.dev/homelab/caddy-rogue-mini + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + type=raw,value=latest + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: . + file: ./Dockerfile + platforms: linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/Dockerfile b/Dockerfile index f68d00a..05968d6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,5 +3,12 @@ FROM docker.io/library/caddy:2.9.1-builder as builder RUN xcaddy build \ --with github.com/caddy-dns/cloudflare +COPY ./config /etc/caddy +RUN /usr/bin/caddy fmt --overwrite /etc/caddy/Caddyfile + +# ================================================== +# Run image. +# ================================================== FROM docker.io/library/caddy:2.9.1-alpine COPY --from=builder /usr/bin/caddy /usr/bin/caddy +COPY --from=builder /etc/caddy/Caddyfile /etc/caddy/Caddyfile diff --git a/compose.yaml b/compose.yaml index 33ee984..3e9b69c 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1,8 +1,9 @@ services: caddy: - build: - context: . - dockerfile: Dockerfile + # build: + # context: . + # dockerfile: Dockerfile + image: git.housh.dev/homelab/caddy-rogue-mini:latest container_name: caddy restart: unless-stopped env_file: diff --git a/config/Caddyfile b/config/Caddyfile index e6247de..ae09c1f 100644 --- a/config/Caddyfile +++ b/config/Caddyfile @@ -3,7 +3,7 @@ acme_dns cloudflare {env.CF_AUTH_TOKEN} } -*.housh.dev { +*.roguemini.housh.dev { @console host console.roguemini.housh.dev handle @console {