Skip to content

Commit

Permalink
Add Docker Build and Push Workflow to GHCR
Browse files Browse the repository at this point in the history
Merge pull request #11 from NAKNAO-nnct/feature/add_push-image-registory_-workflow
  • Loading branch information
alex3025 authored May 17, 2024
2 parents a7d79d5 + 36be435 commit d347b48
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 1 deletion.
76 changes: 76 additions & 0 deletions .github/workflows/build-and-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Push Docker image to the GitHub Container Registry (GHCR)

on:
push:
branches:
- main
tags:
- v*
workflow_dispatch:
inputs:
tag:
description: 'Tag'
required: true
default: 'develop'

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-push:
name: Docker Build and Push
runs-on: ubuntu-latest

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read
packages: write

steps:
- name: Lowercase the image name
run: echo IMAGE_NAME="${IMAGE_NAME,,}" >> $GITHUB_ENV

- name: Get repository tags
run: |
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
TAG=${{ github.event.inputs.tag }}
elif [[ $GITHUB_REF == refs/tags/* ]]; then
TAG=${GITHUB_REF#refs/tags/}
else
TAG=latest
fi
echo "TAG=$TAG" >> "$GITHUB_ENV"
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
with:
install: true

- name: Log in to GHCR
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Tag the image
run: |
echo "IMAGE_TAG=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}" >> "$GITHUB_ENV"
if [[ ${{ env.TAG }} == v* ]]; then
echo "LATEST_TAG=,${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest" >> "$GITHUB_ENV"
fi
- name: Build and Push the image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ env.IMAGE_TAG }}${{ env.LATEST_TAG }}
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,31 @@ If you found this tool useful, consider offering me a coffee using [PayPal](http

---

## How to install
## Use with Docker / Docker Compose

If you already have a Docker environment, you can be up and running in minutes using the following command (obviously you need to change the value):

```sh
docker run -d --name ilo-fans-controller --restart always \
-p 8000:80 \
-e ILO_HOST='your-ilo-address' \
-e ILO_USERNAME='your-ilo-username' \
-e ILO_PASSWORD='your-ilo-password' \
ghcr.io/alex3025/ilo-fan-controller:latest
```

Or if you prefer, you can use `docker compose`, as the [docker-compose.yaml](https://github.com/alex3025/ilo-fans-controller/blob/main/docker-compose.yaml) file is provided as well.

---

> **IMPORTANT!**
>
> Again, this tool works thanks to a **[patched iLO firmware](#can-i-use-this-tool-with-my-hp-server-%EF%B8%8F)** that expose to the iLO SSH interface some commands to manipulate the fans speeds.
>
> **This patch is required to use this tool!**
## Manual installation

### The following guide was run on

* An **HP DL380e G8** server
Expand Down

0 comments on commit d347b48

Please sign in to comment.