From 756799529ac581b3304f6df3ffb69f1f69bdcbe3 Mon Sep 17 00:00:00 2001 From: matatonic Date: Mon, 24 Jun 2024 20:53:30 -0400 Subject: [PATCH] +docker-compose.rocm.yml, +auto build rocm --- .github/workflows/build-docker.yml | 63 +++++++++++++++++++++++++++++- docker-compose.rocm.yml | 27 +++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 docker-compose.rocm.yml diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index a7bfeb8..4c5ba51 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -69,7 +69,7 @@ jobs: labels: version=${{ github.run_id }} platforms: linux/amd64,linux/arm64 - build-and-push-alt-image: + build-and-push-min-image: runs-on: ubuntu-latest permissions: @@ -129,3 +129,64 @@ jobs: labels: version=${{ github.run_id }} platforms: linux/amd64,linux/arm64 + build-and-push-rocm-image: + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + + env: + # Set up environment variables for the job + USE_ROCM: 1 + DOCKER_REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }}-rocm + TAG: ${{ github.sha }} + + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + with: + install: true + + # Log in to the GitHub Container Registry only when not running on a pull request event + - name: Login to Docker Registry + uses: docker/login-action@v2 + with: + registry: ${{ env.DOCKER_REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }} + + # Build and push the Docker image to GHCR for the main branch or specific tags + - name: Build and Push Docker Image + if: github.ref == 'refs/heads/main' + uses: docker/build-push-action@v4 + with: + context: . + file: Dockerfile + push: true + tags: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:latest + labels: version=${{ github.run_id }} + platforms: linux/amd64,linux/arm64 + + # For tagged releases, build and push the Docker image with the corresponding tag + - name: Build and Push Docker Image (Tagged) + if: startsWith(github.ref, 'refs/tags/') + uses: docker/build-push-action@v4 + with: + context: . + file: Dockerfile + push: true + tags: ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }} + labels: version=${{ github.run_id }} + platforms: linux/amd64,linux/arm64 + diff --git a/docker-compose.rocm.yml b/docker-compose.rocm.yml new file mode 100644 index 0000000..29cc5bd --- /dev/null +++ b/docker-compose.rocm.yml @@ -0,0 +1,27 @@ +services: + server: + build: + dockerfile: Dockerfile + image: ghcr.io/matatonic/openedai-speech-rocm + environment: + - USE_ROCM=1 + env_file: speech.env + ports: + - "8000:8000" + volumes: + - ./voices:/app/voices + - ./config:/app/config + # To install as a service + restart: unless-stopped + # For AMD GPU (ROCm) Support + cap_add: + - SYS_PTRACE + devices: + - /dev/kfd + - /dev/dri + security_opt: + - seccomp=unconfined + group_add: + - video + - audio + ipc: host \ No newline at end of file