diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index ddf4c80a39..801ecf45f7 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -5,7 +5,6 @@ on: push: tags: - "*" - workflow_dispatch: # This line allows manual triggering jobs: build: diff --git a/.github/workflows/latest-images-main.yml b/.github/workflows/latest-images-main.yml new file mode 100644 index 0000000000..5911504a5f --- /dev/null +++ b/.github/workflows/latest-images-main.yml @@ -0,0 +1,40 @@ +name: Docker Compose Build on Main Branch + +on: + workflow_dispatch: # This line allows manual triggering + +jobs: + build: + runs-on: ubuntu-latest + + steps: + # Check out the repository + - name: Checkout + uses: actions/checkout@v2 + + # Set up Docker + - name: Set up Docker + uses: docker/setup-buildx-action@v1 + + # Log in to GitHub Container Registry + - name: Log in to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + # Run docker-compose build + - name: Build Docker images + run: | + cp .env.example .env + docker-compose build + docker build -f Dockerfile.multi --target api-build -t librechat-api . + + # Tag and push the images with the 'latest' tag + - name: Tag image and push + run: | + docker tag librechat:latest ghcr.io/${{ github.repository_owner }}/librechat:latest + docker push ghcr.io/${{ github.repository_owner }}/librechat:latest + docker tag librechat-api:latest ghcr.io/${{ github.repository_owner }}/librechat-api:latest + docker push ghcr.io/${{ github.repository_owner }}/librechat-api:latest